Hamish Friedlander
80d4af6b6e
API Apply Framework\ORM Namespace to model
2016-06-29 10:02:32 +12:00
Damian Mooyman
5e8ae41d47
API Refactor dataobject schema management into separate service
...
API Allow table_name to be configured via Config
2016-06-08 13:22:56 +12:00
Damian Mooyman
19a27d22a3
Cleanup PHP and PHPDoc
...
Remove some deprecated code
Deprecate some code
2016-06-08 10:00:21 +12:00
Michael van Schaik
3a277f3a5e
Update ClassInfo to return arrays where expected ( #5563 )
...
These methods are expected to return an array instead of null (if $class doesnt exist);
- getValidSubClasses
- dataClassesFor
- subclassesFor
- ancestry
Fixes : #5562
Also see: https://github.com/silverstripe/silverstripe-framework/issues/5171
2016-05-19 12:28:35 +01:00
Silbinary Wolf
073e73a2f4
Replaced filterByCallback for 'Children' to just create a new array as function calls are exponentially expensive in PHP (the more functions that exist, the slower a function call becomes) and replaced 'array_key_exists' with op-code equivalent for speed. The best increase isn't really noticeable but we should work towards optimizing the core as much as possible.
2016-01-25 13:22:51 +00:00
Damian Mooyman
e07f80014c
Merge remote-tracking branch 'origin/3.1' into 3.2
...
Conflicts:
lang/cs.yml
lang/sk.yml
2015-11-03 11:10:46 +13:00
Damian Mooyman
2813f94124
BUG Ensure that filters on any fixed field are scoped to the base data table
...
Fixes #4700
2015-10-30 16:26:14 +13:00
Damian Mooyman
e64d73c1f7
BUG Fix ClassInfo::table_for_object_field
2015-09-17 18:31:46 +12:00
Daniel Hensby
a8ab5a468d
Merge branch '3.1' into 3.2
...
Conflicts:
admin/code/LeftAndMain.php
composer.json
2015-08-17 11:43:28 +01:00
Sam Minnee
1f0602d42f
FIX: Fixed regression from ClassInfo case-sensitivity fix.
...
This fixes a bug introduced by ffbeac6b7d
.
ClassInfo::subclassesFor() didn't previously throw an Exception if passed
an invalid class; it just returned no values. This will annoy minor-release
upgrades, and so I've made it return null instead in these situation.
2015-08-07 14:20:01 +12:00
Loz Calver
687de33d0d
Ensure ClassInfo is backwards compatible with non-existant classes
2015-08-04 15:07:07 +01:00
Damian Mooyman
7ee444e08a
Merge remote-tracking branch 'origin/3.1' into 3.2
...
Conflicts:
admin/code/LeftAndMain.php
control/injector/SilverStripeServiceConfigurationLocator.php
core/ClassInfo.php
filesystem/File.php
model/DataObject.php
model/DataQuery.php
search/filters/FulltextFilter.php
search/filters/SearchFilter.php
tests/core/ClassInfoTest.php
tests/filesystem/FileTest.php
tests/model/DataListTest.php
2015-07-31 11:38:18 +12:00
Daniel Hensby
ffbeac6b7d
Ensuring classinfo is case insensitive
2015-07-28 11:17:50 +01:00
Damian Mooyman
0b1f297873
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
.travis.yml
README.md
admin/code/LeftAndMain.php
admin/css/screen.css
admin/scss/screen.scss
api/RestfulService.php
conf/ConfigureFromEnv.php
control/injector/ServiceConfigurationLocator.php
control/injector/SilverStripeServiceConfigurationLocator.php
core/ClassInfo.php
core/Object.php
css/AssetUploadField.css
css/ComplexTableField_popup.css
dev/CSSContentParser.php
dev/DevelopmentAdmin.php
docs/en/changelogs/index.md
docs/en/misc/contributing/code.md
docs/en/reference/execution-pipeline.md
filesystem/GD.php
filesystem/ImagickBackend.php
filesystem/Upload.php
forms/Form.php
forms/FormField.php
forms/HtmlEditorConfig.php
forms/gridfield/GridFieldDetailForm.php
forms/gridfield/GridFieldSortableHeader.php
lang/en.yml
model/Aggregate.php
model/DataList.php
model/DataObject.php
model/DataQuery.php
model/Image.php
model/MySQLDatabase.php
model/SQLQuery.php
model/fieldtypes/HTMLText.php
model/fieldtypes/Text.php
scss/AssetUploadField.scss
search/filters/SearchFilter.php
security/Authenticator.php
security/LoginForm.php
security/Member.php
security/MemberAuthenticator.php
security/MemberLoginForm.php
security/Security.php
tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php
tests/control/HTTPTest.php
tests/control/RequestHandlingTest.php
tests/filesystem/UploadTest.php
tests/forms/FormTest.php
tests/forms/NumericFieldTest.php
tests/model/DataListTest.php
tests/model/DataObjectTest.php
tests/model/TextTest.php
tests/security/MemberAuthenticatorTest.php
tests/security/SecurityDefaultAdminTest.php
tests/view/SSViewerCacheBlockTest.php
tests/view/SSViewerTest.php
2014-11-18 12:45:54 +13:00
Will Rossiter
920978df99
API: Add ClassInfo::table_for_object_field
...
Returns the table name for a field in a class hierarchy.
This issue raised itself with GridFieldSortableHeader not supporting sorting on fields from parent class fields.
2014-09-26 10:38:31 +12:00
Damian Mooyman
eb069e605d
Remove all redundant whitespace
2014-08-19 09:17:15 +12:00
Damian Mooyman
d8e9af8af8
API New Database abstraction layer. Ticket #7429
...
Database abstraction broken up into controller, connector, query builder, and schema manager, each independently configurable via YAML / Injector
Creation of new DBQueryGenerator for database specific generation of SQL
Support for parameterised queries, move of code base to use these over escaped conditions
Refactor of SQLQuery into separate query classes for each of INSERT UPDATE DELETE and SELECT
Support for PDO
Installation process upgraded to use new ORM
SS_DatabaseException created to handle database errors, maintaining details of raw sql and parameter details for user code designed interested in that data.
Renamed DB static methods to conform correctly to naming conventions (e.g. DB::getConn -> DB::get_conn)
3.2 upgrade docs
Performance Optimisation and simplification of code to use more concise API
API Ability for database adapters to register extensions to ConfigureFromEnv.php
2014-07-09 18:04:05 +12:00
Sean Harvey
b5ee9f9cbe
Removing ClassInfo::is_subclass_of(), use is_subclass_of() instead
2012-11-15 14:43:13 +13:00
Ingo Schommer
e2f073f38a
Method visibility according to coding conventions
2012-09-20 10:46:59 +02: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
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
Mateusz Uzdowski
705a29d00a
BUGFIX: fix the ClassInfo::allClasses to fetch manifest data directly
2012-04-17 14:46:07 +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
Fred Condo
d370423825
Clean up trailing ?> per coding standard
...
All sapphire but the lang directory
2012-02-12 12:40:16 -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
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
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
ajshort
bc0a1b7a05
MINOR: Updated various methods to use new manifest methods rather than ManifestBuilder functions or globals.
2011-03-24 20:14:43 +11:00
ajshort
852920237e
MINOR: Updated ClassInfo::allClasses() and ::exists() to use $_CLASS_MANIFEST rather than $_ALL_CLASSES. This means results from ClassInfo::allClasses() are now lowercase.
2011-03-24 20:14:42 +11:00
ajshort
803e67b87d
API CHANGE: Refactored ClassInfo::subclassesFor() to traverse the child tree, rather than needing to store a list of every classes descendants.
...
API CHANGE: Updated ClassInfo::subclassesFor() so all the array keys are consistently the same as the values.
2011-03-24 20:14:41 +11:00
ajshort
f55cc7ec67
MINOR: Refactored ClassInfo::dataClassesFor() to use existing methods rather than creating the class array itself.
2011-03-24 20:14:41 +11:00
ajshort
eba1a85ead
MINOR: Refactored ClassInfo::ancestry() to use inbuilt PHP methods rather than the parent manifest.
2011-03-24 20:14:41 +11:00
ajshort
0d03348926
API CHANGE: Refactored ClassInfo::baseDataClass() to use inbuilt PHP methods, and throw an exception if the passed class is not a subclass of DataObject.
2011-03-24 20:14:38 +11:00
ajshort
d187718a3f
API CHANGE: Deprecated ClassInfo::is_subclass_of() in favour of is_subclass_of().
2011-03-22 20:49:17 +11:00
Sam Minnee
6f8baaa2c9
ENHANCEMENT #5977 Added optional argument to ClassInfo::getValidSubClasses() and removed harcoded SiteTree (from r110467)
...
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112843 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-19 01:31:56 +00:00
Sam Minnee
297b00606a
MINOR: recache tables if cache is empty (from r103606)
...
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112152 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-13 03:59:16 +00:00
Ingo Schommer
e921b376bc
API CHANGE: Don't generate TestOnly DataObjects in the database immediately; instead let test developers specify them in SapphireTest::$extraDataObjects.
...
API CHANGE: Added SapphireTest::resetDBSchema() (from r90054) (from r96734)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102356 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-04-12 02:03:16 +00:00
Ingo Schommer
ec88536a03
API CHANGE Removed ClassInfo::ready(), use Security::database_is_ready()
...
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@91588 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-11-15 19:41:13 +00:00
Andrew Short
79773042be
API CHANGE: Renamed conflicting classes to have an "SS_" namespace, and renamed existing "SS" namespace to "SS_". The affected classes are: HTTPRequest, HTTPResponse, Query, Database, SSBacktrace, SSCli, SSDatetime, SSDatetimeTest, SSLog, SSLogTest, SSLogEmailWriter, SSLogErrorEmailFormatter, SSLogErrorFileFormatter, SSLogFileWriter and SSZendLog.
...
MINOR: Replaced usage of renamed classes with the new namespaced name.
From: Andrew Short <andrewjshort@gmail.com>
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@90075 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-26 03:06:31 +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
c7ac19f144
ENHANCEMENT: Improved performance of ClassInfo::classImplements
...
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@83440 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-31 05:40:55 +00:00
Ingo Schommer
8ae9db13c0
ENHANCEMENT Added ClassInfo::classes_for_folder()
...
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@80641 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-30 22:08:59 +00:00
Ingo Schommer
b12a00c391
MINOR phpdoc documentation
...
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73509 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-22 22:59:14 +00:00
Geoff Munn
8182a015f6
API CHANGE: "SHOW TABLES" replaced with DB-specific version
...
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72914 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-11 21:43:28 +00:00
Andrew O'Neil
635e2c3df6
Merged from 2.3
...
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@72453 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-03-04 03:44:11 +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
Sam Minnee
5a98e83f7a
API CHANGE: Updated DB::manipulate() to be more db-agnostic.
...
API CHANGE: Moved the meat of SQLQuery's SQL generation into Database::sqlQueryToString(), to be overloaded by different database implementations.
API CHANGE: Moved the implementation of ClassInfo::hasTable() and ClassInfo::getValidSubClasses() into Database::hasTable() and Database::enumValuesForField(), to be overloaded by different database implementations.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@66422 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-23 23:20:02 +00:00
Sam Minnee
4f6170c265
BUGFIX: Better initial-site-setup boundary condition checking needed after the manifest builder update
...
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@65469 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-09 22:11:25 +00:00