Ingo Schommer
a415db91d4
FIX Clone Config_LRU incl. objects in array
...
Caused key confusions when using Config::nest()/unnest()
2013-03-26 12:47:52 +01:00
Ingo Schommer
4ea98ae440
Removed Object::*_extension() non-LSB deprecation
...
Its just a simplication, and unnecessarily complicates
module compatibilities.
2013-03-26 00:31:25 +01:00
Ingo Schommer
3334eafcb1
API Marked statics private, use Config API instead ( #8317 )
...
See "Static configuration properties are now immutable, you must use Config API." in the 3.1 change log for details.
2013-03-24 17:20:53 +01:00
Ingo Schommer
69ae1f338f
FIX Clean cache on Config->remove()
2013-03-24 17:20:36 +01:00
Ingo Schommer
bb52f2a214
FIX Allow FALSE in Config API, call remove() will NULL key on update()
2013-03-24 17:20:36 +01:00
Ingo Schommer
bfab74ac6e
Merge pull request #1321 from silverstripe-rebelalliance/feature/config
...
FIX ConfigStaticManifest persisting access level after parsing a static
2013-03-22 02:25:54 -07:00
Sean Harvey
9f35b13b48
Merge pull request #1322 from ajshort/pulls/class-spec-parsing
...
FIX Incorrect parsing of T_STRING values in class spec parsing
2013-03-21 21:20:35 -07:00
Andrew Short
d3e4863f52
FIX Incorrect parsing of T_STRING values in class spec parsing
...
* Due to missing break, the T_STRING case would fall through to array.
* The values were being added to the wrong variable.
* Added missing support for missing null values.
2013-03-22 14:37:55 +11:00
Hamish Friedlander
47edbfe8fc
FIX ConfigStaticManifest persisting access level after parsing a static
2013-03-22 14:26:48 +13:00
Ingo Schommer
81a51331d6
IX Load _config.php's after static config manifest
...
This allows more sophisticated handling of config alterations
in _config.php. One example is additions to DataObject::$db
based on configuration which requires some processing.
See https://github.com/unclecheese/TranslatableDataObject/blob/master/TranslatableDataObject.php
2013-03-21 00:16:36 +01:00
Ingo Schommer
eb9a8d6e6e
Require Config.php in core to avoid fatal errors when building manifest
2013-03-20 14:45:43 +01:00
Ingo Schommer
06ff9f72b1
Increased recent deprecation warnings from 3.1 to 3.2
...
The deprecations are supposed to denote the release where
the functionality will be removed, as opposed to the one where
its deprecated. Having 3.1 as a target for recent changes
in popular methods like Object::add_extension() causes
too many short-term hassles, there's no "grace period".
2013-03-20 10:00:51 +01:00
Andrew Short
b8a51c3792
Merge branch '3.0' into 3.1
2013-03-19 22:27:09 +11:00
Ingo Schommer
8629985115
Mark private static deprecation notice for 3.2
...
Its too intrusive for 3.1 at the moment
2013-03-19 10:39:11 +01:00
Stephen Shkardoon
9ac104b8c7
BUG $_COOKIES is not un-magic_quotes'd
...
Added stripslashes_recursively to $_COOKIE (fixes #6309 )
2013-03-19 22:13:07 +13:00
Hamish Friedlander
3543a93623
FIX SplFixedArray causes segfaults in old versions of PHP
2013-03-18 10:22:11 +13:00
Ingo Schommer
e0be520fef
Require config manifests in Core.php to avoid upgrading issues
...
They need to be present for the autoloader to rebuild
the manifest in the first place.
2013-03-14 11:40:00 +01:00
Ingo Schommer
321f2e43bd
Merge pull request #1287 from silverstripe-rebelalliance/feature/config
...
Don't use Zend_Cache in manifests
2013-03-14 11:37:01 +01:00
Hamish Friedlander
252e6bce28
FIX Make multiple TemplateManifests not corrupt each other
2013-03-14 12:49:03 +13:00
Hamish Friedlander
168f071499
API Make HTMLValue replace-able via DI
...
Extracted common code out to SS_HTMLValue and made abstract, then
put HTML 4 specific code in SS_HTML4Value. Its now possible to
replace HTMLValue with one designed for HTML 5 or XHTML
Requires a code change from new SS_HTMLValue to
Injector::inst()->create(HTMLValue)
2013-03-14 12:49:02 +13:00
Hamish Friedlander
beafcf38db
Don't use Zend_Cache in manifests
...
The overhead of Zend_Cache in manifests is too high - we don't
need LRU or tags, just somewhere to dump a bunch of data that
persists
You can replace the class used by defining SS_MANIFESTCACHE
to be a class that implements the ManifestCache interface
(we can't use the Config system to set this, as it isn't
initialised yet).
2013-03-14 12:07:07 +13:00
Hamish Friedlander
d8a1df4312
Further secure eval call in ConfigStaticManifest
...
It shouldnt be possible to get ConfigStaticManifest to parse
a user uploaded file, and if you could it shouldnt be possible
to form PHP that token_get_all could parse which would end
up executing any code.
However just in case it is, this changes the eval to assign to a
static, so the eval will give a syntax error if an attacker
manages to make $value look like `ls` or some other expression
2013-03-13 12:42:48 +13:00
Hamish Friedlander
53595dc930
FIX Parsing docblock comments in ConfigStaticManifest
2013-03-13 11:59:49 +13:00
Hamish Friedlander
60b72edfba
FIX Parsing heredoc, nowdoc & comments in ConfigStaticManifest
2013-03-13 11:26:49 +13:00
Hamish Friedlander
e6352dffbb
FIX Static polution with informational fields
2013-03-12 17:14:12 +13:00
Hamish Friedlander
7f58730904
FIX Avoid get_parent_class in ConfigStaticManifest (was loading all classes)
2013-03-12 16:52:11 +13:00
Hamish Friedlander
943b5cf3a4
Remove debug message, any still unexpected token is an error
2013-03-12 15:40:12 +13:00
Hamish Friedlander
a6f1a200b6
Some micro-optimisations for Config
2013-03-04 09:25:23 +13:00
Hamish Friedlander
024a0b90a9
Add ability to create temporary Config copies
2013-02-28 09:43:33 +13:00
Hamish Friedlander
6b986cb17d
Extract statics via code analysis rather than introspection
2013-02-28 09:43:33 +13:00
Hamish Friedlander
c98621977c
Cache the merged version of any Config value in an in-mem LRU cache
2013-02-28 09:43:33 +13:00
Hamish Friedlander
904fd2d5dc
API Make Object::config use late static binding
...
Can now be used in instance scope, like:
$this->config()->db
and in static scope, like:
Page::config()->db
2013-02-27 15:13:59 +13:00
Robert Curry
cc1a5824f2
Fix deprecated use of has_extension
2013-02-07 14:30:46 +13:00
Daniel Hensby
be78098065
Arbitrary placement of _ss_environment.php in parent folders
...
Removes hardcoding to three levels
2013-01-21 22:33:54 +01:00
Ingo Schommer
c11b3918fc
Merge remote-tracking branch 'origin/3.0' into 3.1
...
Conflicts:
admin/css/screen.css
admin/scss/_style.scss
core/PaginatedList.php
email/Mailer.php
2013-01-21 11:14:57 +01:00
Jeremy Thomerson
a70df3e472
BUG PaginatedList deprecated method was calling non-existent method
2013-01-15 13:25:16 -06:00
Simon Welsh
c56a80d6ce
Use preg_replace_callback over preg_replace with e modifier
2012-12-20 13:40:42 +13:00
Simon Welsh
94be5c6d87
FIX Handle namespaced classes in Object::parse_class_spec()
2012-12-18 15:00:45 +13:00
Simon Welsh
b0121b541c
Add codesniffer that ensures indentation is with tabs.
2012-12-12 17:33:31 +13:00
Simon Welsh
fc5dd2994c
Add codesniffer that ensures indentation is with tabs.
2012-12-12 00:12:11 +13:00
Will Rossiter
683db8dc1d
API Explicitly load project template files after modules
...
Resolves an issue where if not using the themes directory (i.e just a single app folder) you cannot override module templates.
Changes the SS_TemplateManifest constructor with a new $project argument.
2012-12-04 10:47:37 +01:00
Ingo Schommer
c55c7c33f8
Merge branch '3.0'
...
Conflicts:
admin/code/CMSProfileController.php
composer.json
tests/model/DataObjectTest.php
2012-11-22 23:51:28 +01:00
Sean Harvey
7042d87fd1
Remove deprecated Object::set_uninherited()
2012-11-16 14:34:20 +13:00
Ingo Schommer
e4d71c2a20
Add Composer autoloader
...
Mainly to get PHPUnit going as a composer requirement
rather than through PEAR (which is easier to set up).
2012-11-15 13:40:09 +01:00
Sean Harvey
b6870add90
Removing deprecated Core.php functions
2012-11-15 14:43:13 +13:00
Sean Harvey
b5ee9f9cbe
Removing ClassInfo::is_subclass_of(), use is_subclass_of() instead
2012-11-15 14:43:13 +13:00
Sean Harvey
78311c9ca6
Remove deprecated PaginatedList::getPageLimits() and setPageLimits()
...
Use the individual getters on PaginatedList instead.
2012-11-15 14:43:13 +13:00
Andrew O'Neil
0c8de0a1de
APICHANGE: Use late static binding for Object::has_extension()
2012-11-07 11:07:55 +13:00
Andrew O'Neil
6dd6a5c188
APICHANGE: Use late static binding for Object::remove_extension()
2012-11-07 11:07:55 +13:00
Andrew O'Neil
fdea5321c7
APICHANGE: add_extension() is now called directly on the class, instead of on Object
2012-11-07 11:07:55 +13:00