Marcus Nyeholt
77099ddf9d
BUGFIX Moved initialisation of injector to the start of Core.php to make sure that it is initialised correctly before additional code blocks reference it (in particular some of the code introduced by Sam that is triggered during add_extension).
2012-06-14 20:28:20 +10:00
Marcus Nyeholt
56388ef1d8
BUGFIX Make sure to only construct args for prototype object creation if
...
there are actually args passed through to prevent overwriting with null
args if they're passed
MINOR Added __get alias to remove need for explicit ->get() call
MINOR Added the injector instance as an object that can be injected into other classes
BUGFIX Fixed issue described in http://open.silverstripe.org/ticket/7448 whereby using the injector to create an object of a type already registered as a singleton would actually overwrite the stored singleton object
2012-06-14 18:22:02 +10:00
Ingo Schommer
8ecdd0b082
Merge branch 'pjax-set-fragments' of https://github.com/mateusz/sapphire into mateusz-pjax-set-fragments
2012-06-13 10:31:09 +02:00
Mateusz Uzdowski
377ac50773
ENHNANCEMENT: allow overriding of PJAX fragments included in the response.
2012-06-13 12:57:11 +12:00
Ingo Schommer
b1d95cffac
BUGFIX Passing existing SS_HTTPResponse to PjaxResponseNegotiator in LeftAndMain so state like X-Status HTTP headers are retained ( fixes #7427 )
2012-06-13 00:27:03 +02:00
Ingo Schommer
12f2e1e176
Merge branch 'pjax-multiple'
2012-06-05 14:01:18 +02:00
Ingo Schommer
cb8b11812c
API CHANGE Moved RestfulServer into its own module at https://github.com/silverstripe/silverstripe-restfulserver ( fixes #7282 )
2012-06-04 10:21:29 +02:00
Ingo Schommer
0b7af1ac17
MINOR Fixed PHPDoc on Cookie class ( fixes #7404 )
2012-05-30 16:43:16 +02:00
Ingo Schommer
1102bbdf17
MINOR Removed ability in PjaxResponseNegotiator to send non-JSON responses for single fragments, as we're now relying on the server communicating which segment needs replacement (through the JSON key)
2012-05-30 15:07:14 +02:00
Ingo Schommer
b3d99d5418
MINOR Retaining case in PjaxResponseNegotiator, in order to pass back to client correctly
2012-05-30 15:07:14 +02:00
Ingo Schommer
473eda43cb
ENHANCEMENT Allowing multiple fragments to be returned by PjaxResponseNegotiator through JSON
2012-05-30 15:07:13 +02:00
Sam Minnée
c5616f8724
Merge pull request #487 from nyeholt/injector_bugfixes
...
Change singleton and strong_create to use dependency injector, with additional fixes to existing classes to behave correctly
2012-05-23 18:46:48 -07:00
Marcus Nyeholt
82495f5a7e
BUGFIX Versioned's constructor doesn't provide suitable defaults. Previously a bug/feature in singleton, where it would pass null,true as params to strong_create, which would then get passed through as params to Versioned's constructor, meant that the code still executed fine (as was set to something that wasn't an array, so the null and true were instead taken as args). The fact that the usage of singleton(Versioned) never really used the classes code, purely for value lookup, meant that this never propagated errors. I've now switched singleton() to use the injector for retrieving values, which means these dud values are no longer passed through
...
CHANGE Given that Config::inst is an implementation of the singleton pattern itself, I've removed the extra call to singleton(). A side effect of this is that it gets around a possibly nasty circular reference with the dependency injector (which relies on the config object); in future, this dependency structure should really be structured from the DI directly.
MINOR Change singleton and strong_create to use dependency injector
BUGFIX: Provide default constructor values for classes (fixes issues when used in 'singleton' scenario during dev/build in particular)
MINOR Clear out injector state when resetting db schema during tests (a follow on from changing singleton() calls to use the injector underneath)
2012-05-23 21:10:04 +10:00
Sean Harvey
f7f67d90a5
API CHANGE Static functions Director::redirect(), Director::redirectBack(),
...
Director::set_status_code(), Director::get_status_code() and
Director::redirected_to() are now deprecated. Use Controller->redirect(),
Controller->redirectBack(), Controller->getResponse()->setStatusCode(),
Controller->getResponse()->getStatusCode() and
Controller->redirectedTo() respectively.
2012-05-23 21:48:06 +12:00
Sam Minnée
f348141cfd
Merge pull request #466 from silverstripe-scienceninjas/feature/config-enhancements
...
Feature/config enhancements
2012-05-20 19:03:43 -07:00
Ingo Schommer
fedb337aa5
BUGFIX Less strict checks for relative URL normalization in SS_HTTPRequest (regression from recent security fixes to Director::is_absolute_url()) ( fixes #7359 )
2012-05-20 11:16:34 +02:00
Sean Harvey
e5e8f489a2
Merge branch (pull request #247 ) 'template-global-fixes' of https://github.com/sminnee/sapphire into sminnee-template-global-fixes
2012-05-19 15:39:59 +12:00
Hamish Friedlander
94f50f554e
API CHANGE: Changes to make Director rules set through the new config system. Includes the addition of a new AdminRootController to take over handling of routing /admin/* routes to the correct LeftAndMain panel.
2012-05-19 14:37:32 +12:00
Marcus Nyeholt
b269badfbe
FEATURE: Added dependency injector for managing creation of new objects and their dependencies.
...
API CHANGE: Pass Object::create() calls to Injector::create().
API CHANGE: Add "RequestProcessor" injection point in Director, that Director will call preRequest() and postRequest() on.
2012-05-18 12:39:57 +12:00
Sean Harvey
78423c1bd0
BUGFIX Ensure HTTP::get_mime_type() checks the full path in
...
file_exists() before using the finfo class
2012-05-18 09:22:02 +12:00
Sean Harvey
c9bcfd49ec
BUGFIX Only use finfo if the file exists, otherwise the MIME type
...
detection won't work, such as in the case of HTTPRequest::send_file()
2012-05-17 14:54:30 +12:00
Stig Lindqvist
7d9cf5b365
MINOR Use File::get_file_extension for fallback mime-type detection
2012-05-15 10:03:00 +12:00
Stig Lindqvist
c9bc485f34
MINOR Failover to configuration if the finfo module doesn't exists when getting file mime-type.
2012-05-14 10:04:35 +12:00
Simon Welsh
3f3e34a109
BUGFIX: Director::protocol() was returning https when $_SERVER['HTTPS'] was an empty value.
2012-05-13 20:44:16 +12:00
Ingo Schommer
a0c0154dac
Merge pull request #429 from halkyon/http_changes
...
API CHANGE Removed old HTTP::sendRequest() and HTTP::sendPostRequest()
2012-05-11 01:03:22 -07:00
Sean Harvey
1616bae730
MINOR Adding phpdoc to HTTP::get_mime_type()
2012-05-11 14:05:40 +12:00
Stig Lindqvist
dffae1a2e7
API CHANGE: Do not rely on a specific OS mime type detection, use PHP finfo
...
This also removes the $global_mimetypes that was generating weird errors when both HTTP and Mailer classes tried to modify and use it.
Support of finfo should be straightforward since PHP 5.3 includes that module that default
2012-05-11 11:34:07 +12:00
Sean Harvey
8a46e38613
API CHANGE Removed old HTTP::sendRequest() and HTTP::sendPostRequest()
...
functions which are sparsely used, and not maintained or tested. Use custom code instead.
2012-05-11 11:04:51 +12:00
Ingo Schommer
59d31c2fc2
MINOR Removed mbstring support checks, its an installation requirement
2012-05-08 15:32:15 +02:00
Ingo Schommer
d5b3dbc6fb
SECURITY Return true for Director::is_absolute_url() checks if they're prefixed with two or more slashes (as browsers interpret this as a valid URL)
...
SECURITY More solid URL checks in Director::is_site_url(), using a conservative parse_url() hostname comparison rather than Director::makeRelative(), which is not designed for security purposes
2012-05-04 12:10:59 +02:00
Ingo Schommer
68051fdb96
Merge pull request #371 from halkyon/sapphire
...
---
Dont start the session until its actually necessary, which is to say there is a cookie available with the current PHP session name (or a request variable with the session_name() - typically PHPSESSID.) The latter allows for passing session ID through as an alternative to cookies.
2012-05-03 14:58:09 +02:00
Sean Harvey
0882741f54
API CHANGE Renamed setModel for DataModel instances to setDataModel for
...
semantics, and also to allow a field name called "Model"
2012-05-01 14:45:44 +12:00
Sean Harvey
f63d137d49
ENHANCEMENT Session::start() now only called when there is changed
...
session data to be saved, and started on Director::direct() when there
is a cookie (or request var) containing the current PHP session name.
2012-04-27 16:28:46 +12:00
Sean Harvey
bd6ca59558
ENHANCEMENT Adding list-style in addition to list-style-image for URL rewrites
2012-04-27 11:20:05 +12:00
Fred Condo
4756b97daa
BUGFIX: absoluteURLs() rewrites URLs in list-style-image elements
...
This applies the patch from and resolves #6798
2012-04-26 14:53:09 -07:00
Will Rossiter
8e8c1302a2
Merge pull request #360 from joaosantos81/master
...
MINOR: clear_all returns void (and not the result of inst_clearAll() invocation)
2012-04-22 01:49:53 -07:00
joaosantos81
611cd53be8
inst_clearAll() does not return anything so clear_all() method should not expect any return value from inst_clearAll invocation
2012-04-20 18:36:11 +02:00
Sean Harvey
4c6be2931b
BUGFIX Removing use of deprecated Object static functions like
...
get_static(), set_static(), uninherited() etc. Replace with equivalent
Config system get(), update()
2012-04-18 23:10:57 +12:00
Sean Harvey
effc654009
MINOR Moved ModulePath to GenericTemplateGlobalProvider
2012-04-15 10:50:21 +12:00
Sean Harvey
8949dfa691
ENHANCEMENT Replaced locations of sapphire with $ModulePath(framework) in templates, based off Controller which implements TemplateGlobalProvider
2012-04-15 10:50:20 +12:00
Simon Welsh
f07258f3cf
MINOR Update @package values to match renaming sapphire
2012-04-15 10:50:19 +12:00
Simon Welsh
3a6341a251
API-CHANGE sapphire folder can now be renamed.
2012-04-15 10:50:19 +12:00
Simon Welsh
f8082e4814
MINOR Add newline to end of files without one
2012-04-15 10:50:19 +12:00
Andrew O'Neil
d368f3605b
MINOR: Remove default paramenter from handleRequest() so it complies with the interface correctly. Fixes E_STRICT warning.
2012-04-11 17:20:49 +12:00
Sam Minnee
e01b0aa3d0
ENHANCEMENT PjaxResponseNegotiator for more structured partial ajax refreshes, applied in CMS and GridField. Also fixes issues with history.pushState() and pseudo-redirects on form submissions (e.g. from page/add to page/edit/show/<new-record-id>)
2012-04-05 23:00:22 +02:00
Ingo Schommer
a44b67bae2
API CHANGE Moved RequestHandler->isAjax() to SS_HTTPRequest->isAjax()
2012-04-05 23:00:22 +02:00
Sean Harvey
58e912d4d7
MINOR Removed check for PHP versions less than 5.2 in Cookie
2012-04-03 09:54:55 +12:00
Gareth Foster
21d52d3852
BUGFIX #7018 This stops an infinite loop when Depreciation::notice is called from set_dev_servers(). This doesn't stop people from setting $dev_servers directly (not that it is used in the core code anywhere).
2012-03-24 15:57:49 +13:00
Sam Minnee
a2c1858892
BUGFIX: Return a 404, not a 500, if an invalid action is asked for on a RequestHandler.
2012-03-19 13:10:48 +13:00
Sam Minnee
8bbfa970d7
API CHANGE: Remove Controller::Now(), as it was only ever a template global provider, and use the new TemplateGlobalProvider interface on SS_Datetime instead.
2012-03-16 15:05:28 +13:00