Commit Graph

98 Commits

Author SHA1 Message Date
Andrew Short
d4acf7c938 MINOR: Removed unnecessary extension instance check in Object->__construct(), since Extensions no longer inherit from Object.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88772 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-13 01:44:21 +00:00
Sam Minnee
d8113a667e API CHANGE: Extension no longer inherits from Object.
ENHANCEMENT: Object::__construct() performance improved slightly.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84160 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 08:35:14 +00:00
Sam Minnee
81eeef25e8 ENHANCEMENT: Improved performance of Object::uninherited_static()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84159 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 06:44:47 +00:00
Sam Minnee
70dc433d38 ENHANCEMENT: Improved performance of Object::allMethodNames() and Object::addMethodsFrom()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84158 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 06:13:33 +00:00
Sam Minnee
01640b32ae BUGFIX: Ameneded r84151 so that the application order of extensions is the same as it was previously.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84156 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 05:41:01 +00:00
Sam Minnee
60fde4ad54 BUGFIX: Ameneded r84151 so that the application order of extensions is the same as it was previously.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84155 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 05:27:30 +00:00
Sam Minnee
d5cf940d69 API CHANGE: Make Object::uninherited_static() have a separate execution path to Object::get_static(), for more reliable operation. The intention is that for any given static, you either use Object::get_static() or you use Object::uninherited_static() - not both.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84151 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 05:01:17 +00:00
Sam Minnee
a72f7b2173 ENHANCEMENT: Added ClassInfo::is_subclass_of() for better performance
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@83789 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-05 04:01:22 +00:00
Sam Minnee
27a5961cba BUGFIX: Reverted broken optimisation in r83439
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@83477 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-03 01:46:46 +00:00
Sam Minnee
93d45d9b4d ENHANCEMENT: Improved performance of Object instantation.
API CHANGE: Extensions can no longer be extended with more Extensions (that would be a really bad idea, now it doesn't work at all, for performance)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@83439 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-31 05:40:31 +00:00
Tom Rix
1eb80b7498 MAJOR ENHANCEMENT VirtualPages now pass all unknown method calls, and property gets on to the original item if the virtual page doesn't have it/them.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@83160 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-29 23:21:59 +00:00
Sam Minnee
3a4518c804 BUGFIX: Fix static application for translatable
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@81693 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-13 05:25:04 +00:00
Sam Minnee
6a52153b9f BUGFIX #4285: Fixed application of decorators when add_extension not used.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@81676 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-13 03:56:26 +00:00
Sam Minnee
2000087dd6 BUGFIX: Fixed application of parameterised extensions with Object::add_extension()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@81173 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-07 01:28:47 +00:00
Sean Harvey
9272a28050 BUGFIX Object::add_extension() should only load statics for extensions of DataObject, since it is specific to DataObjectDecorator
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@79433 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-17 08:37:05 +00:00
Sam Minnee
0540bec71f BUGFIX #4255 sharvey: Fix application of extra db fields by DataObjectDecorators.
API CHANGE #4255 sharvey: DataObjectDecorator::extraStatics() can no longer refer to $this because it's called staticly


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@79430 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-17 07:01:28 +00:00
Sam Minnee
b2460de140 ENHANCEMENT: Removed circular references from extensions to improve garbage collection.
API CHANGE: The result of any extension returned by Object::extInstance() should have setOwner() called on it before calling a method, and clearOwner() after.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@78414 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-04 06:48:44 +00:00
Sam Minnee
2370dd0b38 BUGFIX: Fixed edge-case reliability with extension application.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@77828 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-05-26 03:46:04 +00:00
Sean Harvey
b20b6e0f95 Merged from 2.3
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@76269 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-05-06 06:36:16 +00:00
Ingo Schommer
9f0be3eb7b API CHANGE Deprecated Object->extInstance(), use getExtensionInstance() instead
ENHANCEMENT Added Object->getExtensionInstances()
ENHANCEMENT Added Object::get_extensions()
ENHANCEMENT Unsetting class caches when using Object::add_extension() to avoid problems with defineMethods etc.
BUGFIX Fixed extension comparison with case sensitivity and stripping arguments in Object::has_extension()
BUGFIX Unsetting all cached singletons in Object::remove_extension() to avoid outdated extension_instances
MINOR Documentation in Object

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73900 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-31 22:27:53 +00:00
Sam Minnee
a28ea0a69e ENHANCEMENT: Added Object::combined_static(), which gets all values of a static property from each class in the hierarchy
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73473 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-21 05:10:05 +00:00
Sam Minnee
b09fac7f9b BUGFIX: Don't throw an error if a non-existent cache file is cleared
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73089 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-16 04:31:53 +00:00
Sam Minnee
67a1c6cda3 ENHANCEMENT: Added Object::clearCache() to clear a cache
BUGFIX: Make object cache testing more robust

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73059 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-15 01:09:59 +00:00
Sam Minnee
41fb93b344 ENHANCEMENT #3032 ajshort: Use static methods for accessing static data
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73036 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-14 00:16:32 +00:00
Andrew O'Neil
60f75c5ca4 Merged changes from 2.3 branch
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71172 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-01 23:49:53 +00:00
Ingo Schommer
b7d394008e MINOR Merged from branches/2.3
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@69957 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-01-10 11:35:50 +00:00
Sam Minnee
ece0130baa Merged pre-2.3-oct08
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@66352 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-21 01:06:21 +00:00
Sam Minnee
3d9532db83 Merged branches/2.3
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@66108 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-18 01:48:37 +00:00
Ingo Schommer
c30b5812d1 API CHANGE Don't include NULL returns in decorated methods called through Object->extend(), meaning empty method bodies in decorators won't confuse permission checks through $myObj->extend('canView') etc.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@65451 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-07 12:09:39 +00:00
Ingo Schommer
0465365b51 MINOR Restructured code in Object.php to consistently have properties and important methods like __call() at the top of definitions (no logic changes). Added minor documentation.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@65058 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-02 00:12:23 +00:00
Sam Minnee
0bd9bc4ff8 Merged changes from 2.2.2-assets - everything except the asset refactoring
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@60468 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-08-12 02:51:33 +00:00
Ingo Schommer
aeab0115a0 (merged from branches/roa. use "svn log -c <changeset> -g <module-svn-path>" for detailed commit message)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@59927 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-08-06 03:43:48 +00:00
Ingo Schommer
d713777d73 API CHANGE LeftAndMain.php: Removed $extra_menu_items, $replaced_menu_items, $removed_menu_items (all handled in $menu_items now)
API CHANGE Deprecated menu manipulation through Object::addStaticVars(), changed internal representation of menu_item array to always use associative arrays
ENHANCEMENT Added LeftAndMain::add_menu_item(), LeftAndMain::replace_menu_item(), LeftAndMain::remove_menu_item()
ENHANCEMENT Moved default menu items from LeftAndMain->MainMenu() to cms/_config.php
ENHANCEMENT Added ReportAdmin::has_reports()
ENHANCEMENT Object::addStaticVars() can replace the whole array optionally
ENHANCEMENT Object::stat() optionally returns uncached results
ENHANCEMENT Moved Object::useCustomClass('SSDateTime') from Object.php to sapphire/_config.php
ENHANCEMENT Misc documentation and formatting in LeftAndMain and Object classes

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@52171 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-04-05 03:43:58 +00:00
Sam Minnee
3014401e11 Merged revisions 51462 via svnmerge from
svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.2.2

........
  r51462 | sminnee | 2008-03-19 18:01:55 +1300 (Wed, 19 Mar 2008) | 1 line
  
  Make Object::hasMethod() and Object::__call() case-insensitive, and added tests for it
........


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@51468 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-03-19 20:39:07 +00:00
Matt Peel
7d13ba7fb8 Reverted geoffm's accidental commit to /open
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@50107 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-02-25 02:10:37 +00:00
Geoff Munn
bf3c09bec6 First post
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@50105 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-02-25 01:06:39 +00:00
Sam Minnee
84d1d57df5 Merged revisions 45654 via svnmerge from
svn://svn.silverstripe.com/silverstripe/modules/sapphire/branches/2.1.0-rc3oriwave2

........
  r45654 | sminnee | 2007-11-26 17:00:26 +1300 (Mon, 26 Nov 2007) | 2 lines
  
  Redirect to legislation section when there are only legislation pages
  Allow selection of folder when inserting files / images
........


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@49788 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-02-19 00:36:26 +00:00
Sam Minnee
9a68af98cd simon_w: #1954 - Added object caching methods
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@49175 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-02-07 03:02:52 +00:00
Sam Minnee
b1d2e3906b API Documentation updates
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@47766 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-01-09 04:18:36 +00:00
Sam Minnee
d27937f448 Updated API documentation package tags
Fixed some whitespace

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@47725 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-01-08 06:37:50 +00:00
Andrew O'Neil
fa9a258bd2 Merged revisions 46139 via svnmerge from
svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.2.1

........
  r46139 | aoneil | 2007-12-03 11:28:34 +1300 (Mon, 03 Dec 2007) | 2 lines
  
  #1942 - Object::uninherited() fix for PHP 5.1.2
........


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@46814 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-12-13 22:33:25 +00:00
Andrew O'Neil
f7127c90bc #1586 - Object.php contains request parameter 'debugmethods'
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@44487 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-11-07 23:46:00 +00:00
Andrew O'Neil
70db5d36a0 Hack to fix Fatal error: Call to undefined method stdClass::allMethodNames() (merged from 2.0.2 branch, r42505)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@42921 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-10-02 04:52:31 +00:00
Ingo Schommer
9b75ec925a mlanthaler: Bugfix: Fixed bug "Fatal error: Access to undeclared static property: Controller::$db in ../sapphire/core/Object.php(282) : eval()'d code on line 1". Could be implemented better if we require support for PHP 5.1 because then we can avoid the exception by calling ReflectionClass::hasProperty() respectively ReflectionClass::getStaticPropertyValue() (http://www.php.net/manual/en/language.oop5.reflection.php).
(merged from branches/gsoc)


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@41972 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-09-16 00:19:54 +00:00
Ingo Schommer
b358c50f2f mlanthaler: Bugfix: If DataObject::add_extension() is used more than once per class, previously the extensions were overwritten and so only the last one was usable.
(merged from branches/gsoc)


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@41951 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-09-15 21:34:40 +00:00
Sam Minnee
ee3c18afcf Added missing changes for r40228
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@40234 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-08-16 06:37:49 +00:00
Kirti Nanji
94fc673f97 DataObject decorator bug fixing - addStaticVars() function.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@39284 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-07-26 21:57:01 +00:00
Hayden Smith
4a5d9b03f8 Moved Sapphire module to open source path
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@39001 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-07-19 10:40:28 +00:00