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
Ingo Schommer
a5fd3cf985
BUG Inspect current directory for include_path
...
This fixes problems where require/include calls rely
on the relative file path, e.g. in i18n.php.
Followup from https://github.com/silverstripe/sapphire/pull/904
2012-11-01 10:10:06 +01:00
Damian Mooyman
0d7816b55d
BUG Fixed issue with Deprecation failing to extract the module from a stacktrace, especially on non-unix systems
...
API Added Convert::nl2os function to normalise end of line characters across systems with tests
BUG Fixed i18n unit tests in non-unix systems constantly failing
BUG Fixed problems with HTMLCleaner tests failing in non-unix systems
2012-10-17 11:57:16 +13:00
Sam Minnee
1f7fc1f76a
FIX Remove instances of lines longer than 120c
...
The entire framework repo (with the exception of system-generated files) has been amended to respect the 120c line-length limit. This is in preparation for the enforcement of this rule with PHP_CodeSniffer.
2012-09-30 17:18:13 +13:00
Ingo Schommer
e2f073f38a
Method visibility according to coding conventions
2012-09-20 10:46:59 +02:00
Sean Harvey
b075fa29c5
Have tiny_mce_gzip.php use local silverstripe-cache folder if available
...
This is a fix for ticket #7670 . Some hosting situations don't
allow write access to the system temp path. tiny_mce_gzip.php is currently
using sys_get_temp_dir() by default, and not using a local silverstripe-cache
folder that may exist in the SilverStripe project.
This change moves the getTempFolder() function into a common file, and
includes that in core/Core.php, as well as thirdparty/tinymce/tiny_mce_gzip.php
so both locations share the same code to work out the temp path.
2012-09-19 16:43:17 +12:00
Sean Harvey
e0beca198b
Added missing $tempPath argument (regression from last commit)
2012-09-19 13:30:05 +12:00
Sean Harvey
aa4fa75091
Consistently use the $base argument to getTempFolder()
2012-09-19 13:27:43 +12:00
Sam Minnée
57ad36e11d
Merge pull request #750 from silverstripe-rebelalliance/open/5971
...
FIX If ClassName read from DB doesnt exist, dont break
2012-08-29 22:48:31 -07:00
Hamish Friedlander
2f00884e79
FIX If ClassName read from DB doesnt exist, dont break
...
We know the subclass of a record by its ClassName value, but code changes
might have meant that class no longer exists. We used to just break,
but this patch overrides the apparent value of ClassName to be
one that exists in that situation
2012-08-30 11:02:50 +12:00
Ingo Schommer
b53790eace
Fluent API for PaginatedList
2012-08-28 17:28:37 +02:00
Sam Minnée
93cdb83ac8
Merge pull request #738 from simonwelsh/lsb-53-30
...
FIX Removes version checking for LSB in Object::static_lookup()
2012-08-27 21:07:29 -07:00
Hamish Friedlander
26cfd64d8e
FIX issue with cyclic configs when framework called sapphire
...
The _config/route rules explicitly mentioned framework by module name,
so if you installed framework in the older sapphire directory youd
always end up with cyclic config requirement errors
2012-08-28 15:44:40 +12:00
Hamish Friedlander
aa0cd147bf
FIX Make config DAG error message more dev friendly
2012-08-28 14:38:33 +12:00
Sam Minnée
dd97da0ac2
Merge pull request #741 from silverstripe-rebelalliance/trac/7765
...
FIX several issues with the config system
2012-08-26 22:18:14 -07:00
Hamish Friedlander
6009cfadc2
NEW Allow debugging of config cyclic errors
...
It is possible to specify before and after rules on config fragments
that conflict - A before B and B before A isnt possible to solve.
This used to just throw an error with no way to debug. Now if you
specify debug as a GET parameter and the site is not in live mode
youll get a basic dump of the remaining DAG graph
2012-08-27 16:08:10 +12:00
Hamish Friedlander
e0b8f15171
FIX Config wasnt filtering wildcards properly
...
When specifying a specific before rule and a wildcard after rule (or
vice versa), the config system was filtering out any fragment
from the list of fragments that matched the wildcard if it matched
_any_ componenet of the specific rule, not all of them.
Fixed, and added handling of two semi wild-card rules, where a
rule with less wildcards wins over a rule with more.
See http://open.silverstripe.org/ticket/7765 for more
2012-08-27 16:03:03 +12:00
Hamish Friedlander
c7ca47f2b1
FIX Config frag could only have one before or after rule
...
You should be able to specify multiple before and after rules in
a config fragment. This was intended to be a comma seperated string
but that wasnt being split properly
Now if you provide a comma seperated string it is split properly,
but you can also provide an array, which is actually cleaner
2012-08-27 16:00:54 +12:00
Simon Welsh
e159a68f89
FIX Removes version checking for LSB in Object::static_lookup()
...
Late static binding was added in PHP 5.3, not 5.4. As such, the check for 5.4
and then fallback to Reflection isn't needed.
2012-08-23 17:51:29 +12:00
Hamish Friedlander
fa37c448a5
API Reverse config extra statics control flow
...
Config system used to provide an add_static_source method, which was intended for
use by Extensions to add statics. But extensions for a class arent initialised
until at least one instance of that class is created, so before that the
Config system didnt include values from extensions
This patch reverses the control flow, so that the Config system explictly asks
each Object for its additional config sources via the new method
get_extra_config_sources. This method returns an array that can contain
string names of classes and also raw associative arrays.
The developer visible change is that Extension#add_to_class has been
deprecated. Instead there is a new method, get_extra_config, which has
the same method signature but needs to guarantee that it doesnt
cause side effects. Additionally there is no need to call
parent::get_extra_config - this is handled automatically.
2012-08-23 09:29:13 +12:00
Saophalkun Ponlu
c555256890
BUGFIX: PaginatedList::getIterator() trims the original list to the page lenght when the source list is DataList
2012-07-15 01:02:49 +12:00
Ingo Schommer
712f28bc78
Scoped deprecation messages ( fixes #7645 )
2012-07-13 11:37:35 +02:00
Ingo Schommer
64357a4522
Merge branch '3.0'
...
Conflicts:
admin/css/screen.css
admin/scss/_forms.scss
docs/en/changelogs/3.0.0.md
2012-07-05 18:01:09 +02:00
Sam Minnee
6ef4f9ad3f
BUG: Fix increase_memory_limit_to() to reduce installation errors.
...
increase_memory_limit_to() was broken a while ago, and this causes a lot of problems for people trying to install on environments where the memory limit is 32M.
2012-06-26 12:39:50 +12:00
Andrew Short
77d712202c
ENHANCEMENT: Add method to disable automatic limiting on PaginagedLists.
...
In some circumstances a custom generated list will already only contain
the items for the current page. The automatic limiting will then limit
the already limited list, breaking pagination. This allows you to disable
automatic limiting so all items are shown regardless of the current page.
2012-06-21 21:21:34 +02:00
Ingo Schommer
45a14951a3
Revert "MINOR Updated sfYaml parser dependency to 2.0.14, use it in ConfigManifest and i18nTextCollector"
...
This reverts commit 3a01c2ab2e
.
Conflicts:
core/manifest/ConfigManifest.php
i18n/i18nTextCollector.php
2012-06-21 21:11:48 +02:00
Ingo Schommer
51a1026cd8
MINOR Fixed case sensitive require_once() (broken by 3a01c2ab2
)
2012-06-20 14:41:40 +02:00
Ingo Schommer
3a01c2ab2e
MINOR Updated sfYaml parser dependency to 2.0.14, use it in ConfigManifest and i18nTextCollector
...
Changed class loading to new file structure, moved dependency to framework/thirdparty,
rather than relying on "second level" dependencies through Zend_Translate_RailsYAML.
To be replaced by a composer dependency (+ proper autoloading) once in place.
2012-06-20 14:06:21 +02:00
Sam Minnée
5062bb8ff5
Merge pull request #533 from halkyon/supress_mkdir_temp
...
BUGFIX Supress mkdir() when attempting to create a temp folder, instead
2012-06-14 16:53:54 -07:00
Sean Harvey
105986392b
BUGFIX Supress mkdir() when attempting to create a temp folder, instead
...
of the variable. This gives a nicer error in the installer.
2012-06-15 11:48:42 +12:00
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
Sam Minnee
114ebb6953
API CHANGE: Don't have any instance caching in singleton(), rely on Injector for this.
2012-06-11 22:41:12 +12:00
Sam Minnee
f65a7c6b21
API CHANGE: Remove dodgy DataObject::destroy() behaviour, opting instead for using PHP5.3's garbage collector.
2012-06-11 22:41:12 +12:00
Sam Minnée
f8921f7c9f
Merge pull request #500 from nyeholt/injector_strong_create
...
RECOMMIT This is a recommit of a previously merged, but reverted, commit...
2012-06-04 15:32:19 -07:00
Marcus Nyeholt
82a1e7d282
MINOR Use injector for creating Member_GroupSet object
...
MINOR Use injector for creating many many list objects
MINOR Use injector for creating objects from within the DataList
MINOR Use Injector::inst() for creating objects; cannot rely on this->injector being present due to many classes being created with 'new', so use inst() directly
MINOR Remove injector autoset property for now; automatically setting it breaks a few test cases that don't know about it for now, and it's not needed just yet
2012-06-05 01:33:44 +10:00
Marcus Nyeholt
ae7fc6f4d2
RECOMMIT This is a recommit of a previously merged, but reverted, commit. The initial commit had problems when running "tests/all flush=all" when dev/build would re-analyse a bunch of stuff; fixes to address this went into https://github.com/silverstripe/sapphire/pull/487 , but for some reason the actual base changes didn't, so I'm re-submitting them in a separate pull.
...
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
2012-06-03 20:41:00 +10:00
Sean Harvey
c3eabffcb9
MINOR Use shorthand {class}::get() syntax instead of DataList::create()
...
in core code.
2012-05-28 21:13:42 +12:00
Sean Harvey
29e04a1049
Revert "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"
...
This reverts commit 5eaca340b4
.
2012-05-23 09:52:57 +12:00
Marcus Nyeholt
5eaca340b4
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
2012-05-22 19:09:35 +10:00
Hamish Friedlander
18ddae3375
BUGFIX: Make config yaml fragments merge following the same rules as other config sources
2012-05-19 14:37:32 +12:00
Sam Minnee
1e47b0fbd3
BUGFIX: Don't include ._-prefixed config files.
2012-05-18 16:15:14 +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
6f672e5f36
MINOR Fixing use of <% control %> with <% with %> or <% loop %> as necessary.
2012-05-11 13:49:20 +12:00
Ingo Schommer
1671b9c65c
BUGFIX Checking for mbstring PHP extension support in installer, as it has been a documented installation requirement for a while. Removing method_exists() checks from mbstring usage in core for the same reasons
2012-05-09 10:25:31 +02:00
Sean Harvey
051d9de482
API CHANGE Deprecated internal access to SQLQuery properties, update core code to reflect these changes.
...
Using set/add instead in accessor methods, and use Database::sql*ToString() to allow easier per-database adapter SQL overloading.
2012-05-07 14:21:44 +12:00
Sean Harvey
5702007da1
MINOR Fixing comment to be more concise.
2012-05-04 11:11:36 +12:00
Ingo Schommer
20a837947f
MINOR Using PHP version constants rather than version_compare() in Object::static_lookup(), since its called 10k times on an average CMS load that makes a difference of about 3% (with APC)
2012-05-04 00:26:09 +02:00
Ingo Schommer
431b9589b6
BUGFIX Fixed arguments in global _t() function, added check for $returnValue fallback that its not the injection array as second parameter
2012-05-01 22:17:01 +02:00
Julian Seidenberg
523c19e88a
BUGFIX: fixing core error that occurs when there are two or more proxy servers in front of the SilverStripe application server
2012-04-27 11:03:05 +02:00
Julian Seidenberg
e486ec41e0
MINOR: updating documentation to use "Simple" theme
2012-04-24 15:57:27 +12:00
Will Rossiter
585417d141
Merge pull request #343 from halkyon/object_static_remove_deprecation
...
BUGFIX Remove calls to deprecated Object static methods, update ConfigTest
2012-04-19 14:41:45 -07:00
Sean Harvey
4cf8db3ee4
ENHANCEMENT Remove use of deprecated extraStatics in core files
2012-04-19 08:37:51 +12: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
Andrew O'Neil
14c0796617
MINOR: Remove checks for PHP < 5.3.2, as it's no longer supported
2012-04-18 10:38:09 +12:00
Sam Minnee
cc7a012139
BUGFIX: Use the copy of symfony-yaml bundled with Zend_Translate to prevent class conflicts. Remove now-unnecessary symonfy-yaml thirdparty lib.
2012-04-18 09:34:57 +12:00
Mateusz Uzdowski
705a29d00a
BUGFIX: fix the ClassInfo::allClasses to fetch manifest data directly
2012-04-17 14:46:07 +12:00
Sean Harvey
5f73643e3f
BUGFIX Hardcoding locales in installer, because we can't include i18n
...
properly, and including core/Core.php is too much.
2012-04-17 11:02:18 +12:00
Sean Harvey
ad2a21cc92
API CHANGE getSysTempDir() is now deprecated, use sys_get_temp_dir()
...
instead!
2012-04-17 10:53:41 +12:00
Sean Harvey
3ff6002936
ENHANCEMENT Always use sys_get_temp_dir() which will return the system
...
temp folder for PHP 5.2+, since we don't support older versions we don't
need to patch around this any longer.
2012-04-17 10:53:40 +12:00
Mateusz Uzdowski
b34be8190e
BUGFIX: normalise the config file, PCRE does not handle Windows/Mac linebreaks (os7133)
2012-04-16 14:32:37 +12:00
Ingo Schommer
d44f6b3e1f
MINOR Removed deprecated usage of $priority argument in _t() calls
2012-04-15 17:17:17 +02:00
Ingo Schommer
bd23a07bba
API CHANGE Using Zend_Translate with YAML translation files, replacing the $lang global and PHP files in the /lang folders.
2012-04-15 17:17:15 +02:00
Ingo Schommer
0a0be63ee2
ENHANCEMENT Added $exclusive flag to SS_ClassLoader->pushManifest() to allow for multiple manifests co-existing (useful for tests which rely on core classes but also want to test their own manifests)
2012-04-15 17:17:15 +02:00
Stig Lindqvist
5e79e81b31
MINOR ConfigManifest cache fixes
...
- Do not skip the cache if there are currently no environmental specific spec, just use the an empty variantKeySpec.
- When doing a regeneration of the config, clear the previous values from the array before regeneration.
2012-04-15 17:13:28 +02: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
Sean Harvey
6db8f85450
API CHANGE Enable E_STRICT, but include DebugView, Log classes as these are not always guaranteed to be loaded by ClassLoader at the time a strict error is issued.
2012-04-13 13:23:26 +12:00
Sean Harvey
aa14a5191e
MINOR Temporarily disabled E_STRICT until we can solve Debug issues with
...
SS error handler
2012-04-13 12:03:01 +12:00
Sean Harvey
4c1aba8542
BUGFIX Object::get_extensions() is now declared as static, as it was
...
never an instance method
2012-04-12 12:02:13 +12:00
Sean Harvey
630bfcc823
MINOR error_reporting() now defaults to E_ALL | E_STRICT which means
...
strict errors are now reported *unless* the site is in live mode (which
supresses everything except fatal errors and warnings)
2012-04-12 12:01:15 +12:00
Ingo Schommer
e045ffeb29
Merge pull request #205 from AngryPHPNerd/sapphire
...
---
In SS-2.4 you can prefix files with an underscore to exclude them from manifest this can be useful for backups of old classes or huge data files.
I think this behaviour should be readded.
(I will add a unit test for this ...)
2012-04-11 17:32:34 +02:00
Sam Minnee
213a08aac7
BUGFIX: Ensure site works if executed in a chrooted enviornment where BASE_PATH is '/'. ( #4069 )
2012-04-11 10:30:34 +12:00
Sean Harvey
2f1b7c1c71
MINOR Removed references to ereg as comments
2012-04-10 22:19:17 +12:00
Ingo Schommer
40d73127ae
MINOR Using late static binding instead of Object::create() calls
2012-04-04 17:10:31 +02:00
Ingo Schommer
6517f4496b
Merge pull request #273 from ajoneil/sapphire
...
---
This allows DataList::create(SiteTree) as equivalent to Object::create(DataList, SiteTree), without
having to have a create() function on DataList.
Required for E_STRICT compliance, as child classes cant override create() if they change the arguments.
DBField::create() is also renamed to DBField::create_field(), as this does not just call the constructor, which all other cases of create() do.
Conflicts:
tests/model/DateTest.php
tests/model/DatetimeTest.php
2012-04-04 16:48:16 +02:00
Sean Harvey
dbc4be3e94
API CHANGE Removed Services_JSON library, as we use the built-in json functions instead.
2012-03-31 13:20:19 +13:00
Sean Harvey
8ae474b182
API CHANGE Remove use of Services_JSON and replace with json_encode() and json_decode()
...
API CHANGE Convert::json2array() will convert nested JSON structures to array as well for easier traversal, instead of array with nested objects.
2012-03-31 13:17:36 +13:00
Ingo Schommer
f0ee711f52
Merge pull request #275 from halkyon/e_strict_support
...
First round of fixes for E_STRICT compliance
2012-03-28 02:42:26 -07:00
Sean Harvey
e097f6e1a8
MINOR Fixes to method arguments in core classes for E_STRICT support.
...
API CHANGE Remove abstract static function and just use static functions
in Authenticator (PHP 5.3+ doesn't support abstract static functions)
2012-03-28 22:41:42 +13:00
Sean Harvey
cf014dc56d
MINOR Replaced use of deprecated split() with preg_split() and fixed use of "&new Class()" which is deprecated in PHP 5.3
...
ENHANCEMENT E_DEPRECATED and E_USER_DEPRECATED are now handled as notice level errors in Debug.
2012-03-27 23:16:52 +13:00
Sean Harvey
fec5497873
MINOR Removed old array_fill_keys() replacement for PHP 5.1, which is no longer supported.
2012-03-27 20:09:01 +13:00
Andrew O'Neil
de2832e65f
ENHANCEMENT: Allow Object::create() to be called with late static binding.
...
This allows DataList::create('SiteTree') as equivalent to Object::create('DataList', 'SiteTree'), without
having to have a create() function on DataList. Required for E_STRICT compliance.
2012-03-27 17:57:42 +13:00
Simon Welsh
4be8ab0c62
MINOR Move definition of CMS_DIR and CMS_PATH into cms/_config.php
2012-03-24 11:47:27 +13:00
AngryPHPNerd
42f8d9f77a
- Readded check for _config.php in ClassManifest.
...
- Added UnitTest for files with underscore prefix.
2012-03-13 23:38:34 +01:00
Simon Welsh
2f7fa90fc4
BUGFIX BASE_PATH was trimming trailing whitespace in paths rather than trailing DIRECTORY_SEPARATORs.
2012-03-13 09:18:12 +13:00
Sean Harvey
f63497d6f9
ENHANCEMENT Extension arguments are now passed through to add_to_class()
...
static function on Extension classes.
BUGFIX FulltextSearchable didn't pass through arguments, use now
available $args parameter with FulltextSearchable::add_to_class()
2012-03-12 16:14:47 +13:00
Hamish Friedlander
05cf5a833b
MINOR: Dump deprecation notices introduced by the config system to 3.1.0 as it breaks heaps of code
2012-03-09 18:16:45 +13:00
Hamish Friedlander
dff6c638ee
ENHANCEMENT: Enable config manifest loading in core
2012-03-09 18:16:45 +13:00
Hamish Friedlander
7c94caa0cc
BUGFIX: Fix TokenisedRegularExpression when matching expressions first element is an array
2012-03-09 18:16:44 +13:00
Hamish Friedlander
876f4c5299
API CHANGE: Modify extensions system to support new config system. Statics are now declared directly on extensions, and there is an add_to_class method extensions can hook into to modify class configuration
2012-03-09 18:16:44 +13:00
Hamish Friedlander
0ab171d7c0
API CHANGE: Add config property on Object as shortcut to objects own properties
2012-03-09 18:13:57 +13:00
Hamish Friedlander
1b05a337b8
API CHANGE: Strip out old static accessors from Object
2012-03-09 18:13:56 +13:00
Hamish Friedlander
d355cd5baf
ENHANCEMENT: Add config layer - the Config access class itself, and the ConfigManfiest builder which parses in the yaml config files
2012-03-09 18:13:56 +13:00
Sam Minnee
adbcf61c56
MINOR: Minor fixes after new SS_List interfaces cleanup
2012-03-09 17:50:32 +13:00
Sam Minnee
a55e06f6b5
API CHANGE: Introduce SS_Limitable class for adding to SS_Lists that have limit capability.
...
API CHANGE: Deprecated SS_List::getRange() in favour of SS_Limitable::limit().
API CHANGE: Introduce SS_Limitable::limit($limit, $offset = 0) as the only modern way of specifying limits; deprecate all others.
2012-03-09 17:07:40 +13:00
Hamish Friedlander
407913f2cf
MINOR: Add workaround for hitting XDebugs fairly conservative nesting level limit
2012-03-06 09:31:56 +13:00
Hamish Friedlander
927dbbe717
API-CHANGE: Global template variables can now be called directly using SSViewer_DataPresenter instead of needing to inherit off ViewableData
2012-03-06 09:11:46 +13:00
Dominik Beerbohm
7927fffc0a
AP(RE)CHANGE Exclude files with the underscore prefix from manifest.
2012-03-03 15:10:09 +01:00
AngryPHPNerd
2457c4f0bc
BUGFIX: Eescape / in RegExp.
2012-02-28 00:44:27 +01:00
AngryPHPNerd
0e2cbb0b88
Replace ereg with preg_*
2012-02-27 22:14:02 +01:00
Simon Welsh
7658e902fc
BUGFIX Convert::html2raw() not correctly stripping script and style tags
2012-02-15 07:55:52 +13:00
Fred Condo
d370423825
Clean up trailing ?> per coding standard
...
All sapphire but the lang directory
2012-02-12 12:40:16 -08:00
Simon Welsh
741f104749
FEATURE Allow setting of constant CUSTOM_INCLUDE_PATH in _ss_enivronment.php which is prepended to the include path
2012-02-11 14:33:55 +13:00
Sam Minnée
2c770a6f8f
Merge pull request #146 from simonwelsh/namespace-manifest
...
BUGFIX Namespaced classes were always having their namespace prepended t...
2012-01-06 15:58:46 -08:00
Ingo Schommer
4056b94f75
BUGFIX Improved ClassInfo::ancestry() performance through in-memory caching and removal of unnecessary is_object() check - get_class() will complain if its not passed an object already)
2012-01-02 16:49:33 +01:00
Simon Welsh
dd546a9888
BUGFIX Merge request arrays recursively
2011-12-23 17:48:49 +13:00
Simon Welsh
27a51ed7ed
BUGFIX Namespaced classes were always having their namespace prepended to their base class
2011-12-23 10:24:42 +13:00
Ingo Schommer
05d19d9a82
Revert "MINOR Use json_decode() instead of the Services_JSON class if the function exists." - it breaks assumptions around Convert::json2array() only converting the *first* level of an object structure into an array, which in turn fails CMSMainTest and LeftAndMainTest (as well as some UI functionality relying on it). In order to introduce this change we have to fix these issues in a backwards compatible manner.
...
This reverts commit 3a006b77ae
.
2011-12-18 20:17:41 +01:00
Hamish Friedlander
be9286fbc4
Merge pull request #132 from simonwelsh/namespace-manifest
2011-12-17 15:40:06 +13:00
Sam Minnée
fdb8665a43
Merge pull request #133 from simonwelsh/54_fixes
...
MINOR Change error reporting level to explicitly exclude values rather t...
2011-12-16 18:04:42 -08:00
Simon Welsh
10b09420be
MINOR Change error reporting level to explicitly exclude values rather than using XOR.
2011-12-17 14:40:58 +13:00
Simon Welsh
da2ac79205
BUGFIX Check for the correct type for $data['namespace']
2011-12-17 14:32:14 +13:00
Simon Welsh
3e6a91a07f
ENHANCEMENT Allow ClassManifest to handle classes with namespaces, or that extend classes in namspaces or that implement interfaces in namespaces.
2011-12-17 14:03:53 +13:00
Sam Minnée
dd495fb8bf
Merge pull request #130 from sminnee/master
...
Fixed tests for PHPUnit 3.6
2011-12-16 15:19:47 -08:00
Sam Minnee
70d40cf4df
BUGFIX: Removed use of base "Exception" class in order to avoid failures on PHPUnit 3.6.
2011-12-17 11:51:40 +13:00
simonwelsh
3a006b77ae
MINOR Use json_decode() instead of the Services_JSON class if the function exists.
2011-12-10 08:57:45 +13:00
Ingo Schommer
755663a00a
BUGFIX Set default mbstring encoding in Core.php instead of main.php and cli-script.php so phpunit binary test runs behave consistently (same as running through TestRunner+cli-script.php). Fixes URLSegmentFilterTest
2011-12-04 13:32:03 +01:00
Ingo Schommer
9b27a4c1be
ENHANCEMENT More flexible URL filtering through new URLSegmentFilter API. Support for multibyte URL segments through URLPathFilter::$default_allow_multibyte. Abstraction from Convert::raw2url() (and SiteTree->generateURLSegment())
2011-11-29 11:04:08 +01:00
Sam Minnee
da64123116
MINOR: Removed use of deprecated ClassInfo::is_subclass_of
2011-10-29 17:34:32 +13:00
Sam Minnee
e5afa25522
MINOR: Use Deprecation class to indicate deprecated methods in core.
2011-10-29 17:34:31 +13:00
Sam Minnée
d88b39f292
Merge pull request #81 from stojg/release/object-create
...
MINOR Object::create should not call a constructor if there aren't one.
2011-10-28 16:34:58 -07:00
Simon Welsh
5ad5dfc7ed
Changes error reporting level to explicitly exclude E_DREPRECATED and E_STRICT, rather than xor.
2011-10-29 10:28:18 +13:00
Stig Lindqvist
e38dd08ea5
MINOR: Fix docblocks to reference SS_List instead of (now deprecated) DataObjectSet where appropriate
2011-10-28 15:58:55 +13:00
Stig Lindqvist
3a11bb2f66
MINOR Do not call a constructor if there aren't one.
...
This will fix a lot of unittests failing.
2011-10-27 18:13:41 +02:00
Fred Condo
9bd499617b
Spelling correction
...
Found and fixed all misspellings of "[Hh]ierarchy"
2011-10-18 15:32:52 -07:00
Ingo Schommer
670eec95cb
MINOR Documentation
2011-10-07 22:57:23 +02:00
Ingo Schommer
3a5b3af7c6
BUGFIX Fixed tag stacking in Diff.php thirdparty lib (AIR-71)
2011-10-07 14:12:52 +02:00
Ingo Schommer
03db2894db
ENHANCEMENT Optional HTML escaping in Diff::compareHTML() (tested implicitly in DataDifferencerTest for sapphire) (AIR-56)
2011-10-07 14:12:52 +02:00
Ingo Schommer
72d5423ac5
MINOR Removed debug code from Diff.php
2011-10-07 14:12:52 +02:00
Ingo Schommer
d6f4b24066
MINOR Allowing array-based values in Diff->getHTMLChunks() by imploding on comma (AIR-39)
2011-10-07 14:12:51 +02:00
Sam Minnee
0601384cda
BUGFIX: Reapply decorator statics if it has been removed and re-added. (merged from r100706)
2011-10-07 14:12:50 +02:00
Ingo Schommer
715638333e
API CHANGE Obeying existing memory_limit settings in increase_memory_limmit_to(). Introduced set_increase_memory_limit_max() and set_increase_time_limit_max()
2011-10-07 14:12:48 +02:00
Will Rossiter
1732a17114
Merged new-orm into datagrid
2011-09-26 16:47:54 +13:00
Ingo Schommer
ce8e72cf0e
MINOR Removing executable flag from all files (thanks miiihi)
2011-09-18 22:04:02 +02:00
Sam Minnee
878b348a0f
Merge branch 'master' into new-orm
...
Conflicts:
docs/en/reference/built-in-page-controls.md
model/SQLQuery.php
2011-05-26 17:08:10 +12:00
ajshort
3f132a105b
API CHANGE: Replaced DataObjectSet instances with ArrayList.
2011-05-05 20:40:24 +10:00
ajshort
04e5dae22e
MINOR: Updated places that expect a DataObjectSet to accept an SS_List instance.
2011-05-02 17:14:05 +10:00
ajshort
54a5fc6a74
BUGFIX: Fixed the manifest not parsing interfaces which extended from multiple interfaces.
2011-05-02 10:37:26 +10:00
Ingo Schommer
37774d4103
ENHANCEMENT Added ClassManifest->getModules(), and removed limitation to toplevel modules in ClassManifest->handleFile() (necessary to detect new sapphire/admin/ "submodule")
2011-05-01 20:23:07 +12:00
Ingo Schommer
ea9faeccf7
API CHANGE Removed Object->cacheToFileWithArgs(), please use Object->cacheToFile() with the $arguments param
2011-05-01 20:23:07 +12:00
Sam Minnee
a15b6941a6
BUGFIX: Replaced ManifestBuilder::has_been_included() with SS_ClassLoader::hasManifest().
2011-05-01 17:12:26 +12:00
ajshort
34e9ddfcc3
MINOR: Moved files from /core/model into /model.
2011-05-01 15:26:30 +12:00
ajshort
81c0caaddb
API CHANGE: Renamed DataList::filter() and DataQuery::filter() to ::where().
2011-05-01 15:26:30 +12:00
ajshort
8ec412e4d9
MINOR: Updated PaginatedList to be a list decorator.
2011-05-01 15:26:30 +12:00
ajshort
45a8866fab
FEATURE: Added SS_ListDecorator, which is a utility class used to create decorators which wrap around a list instance, but are stll recognised as a list.
2011-05-01 15:26:29 +12:00
ajshort
3fbb29a6c5
FEATURE: Added PaginatedList, which wraps around a data list or set to provide pagination functionality. This replaces the pagination functionality baked into DataObjectSet.
...
API CHANGE: Removed pagination related methods from DataObjectSet and implemented them on PaginatedList.
API CHANGE: Removed DataObjectSet::parseQueryLimit(), this is now implemented as PaginatedList::setPaginationFromQuery().
API CHANGE: Deprecated DataObjectSet::TotalItems in favour of Count().
ENHANCEMENT: Added FirstLink and LastLink to PaginatedList.
MINOR: Updated documentation, and added a how-to on paginating items.
2011-05-01 15:26:29 +12:00
Sam Minnee
7efd19e7cb
BUGFIX: Fixed DataList arrayaccess.
2011-05-01 15:26:28 +12:00
Sam Minnee
8db236f444
BUGFIX: Fixed DataList::relation().
2011-05-01 15:26:28 +12:00
Sam Minnee
3a17d5c427
API CHANGE: Add removeByID(), canSortBy(), and byID() to DataList and its subclasses.
2011-05-01 15:26:01 +12:00
Sam Minnee
c615c4eb91
ENHANCEMENT: First cut of running SearchContext through DataList/DataQuery. Note that the eventual goal is probably to ditch SearchContext entirely.
2011-05-01 15:25:58 +12:00
Sam Minnee
050e0675ce
ENHANCEMENT: Created HasManyList and ManyManyList objects that represent relations. API CHANGE: Relation methods no longer cache their results. API CHANGE: ComponentSet is deprecated. API CHANGE: DataObject::getManyManyComponentsQuery() no longer exists; just use the ManyManyList itself. API CHANGE: DataObject::getManyManyJoin() no longer exists; just use the ManyManyList itself. API CHANGE: DataObject::getManyManyFilter() no longer exists; just use the ManyManyList itself.
2011-05-01 15:25:45 +12:00
Sam Minnee
de1494e3a8
ENHANCEMENT: Implemented DataList as the successor of DataObjectSet. DataList doesn't execute the query until it's actually needed, allowing for a more flexible ORM.
...
API CHANGE: augmentSQL is now passed a DataQuery object from which query parameters can be extracted.
API CHANGE: DataObjectDecorators that manipulate the query can now define augmentDataQueryCreation().
API CHANGE: The container class argument for DataObject::get() is deprecated.
API CHANGE: DataObject::buildSQL() and DataObject::extendedSQL() are deprecated; just use DataObject::get() now.
API CHANGE: DataObject::instance_get() and DataObject::instance_get_one() are deprecated, and can no longer be overloaded.
API CHANGE: DataObject::buildDataObjectSet() is deprecated.
API CHANGE: Cant't call manual manipulation methods on DataList such as insertFirst()
2011-05-01 15:25:45 +12:00
ajshort
3a1c2df4e7
API CHANGE: Renamed DataObjectDecorator to DataExtension.
...
API CHANGE: Renamed LeftAndMainDecorator to LeftAndMainExtension.
MINOR: Replaced all references to decorators with extension.
2011-04-26 11:01:38 +10:00
Simon Welsh
44dabbb865
Landing pull request 3. BUGFIX: Object::__call() checking the wrong static. Fixes #6438
2011-04-25 23:11:09 +12:00
Ingo Schommer
9b29616710
API CHANGE Rearranged files in sapphire to reflect core dependencies more accurately, and have the tests/ folder mirror its folder structure
2011-03-31 09:56:21 +13:00
Julian Seidenberg
eaa6c6c49d
API-CHANGE: removing protected object_to_array method (use get_object_vars instead)
2011-03-30 18:16:17 +13:00
Julian Seidenberg
5ea4615d4d
ENHANCEMENT: Refactoring and documenting the ArrayData class. Deprecating the "object_to_array" method ( fixes #4875 , thanks tobych)
2011-03-30 18:16:17 +13:00
Julian Seidenberg
0b93a8f7cf
API-CHANGE: Allowing non-standard path for session store
2011-03-30 18:16:16 +13:00