Commit Graph

709 Commits

Author SHA1 Message Date
Sam Minnee
8e48e6e231 API CHANGE: Allow <classname>::get(), eg, Member::get()->byID(5) 2012-04-20 14:58:24 +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
Ingo Schommer
a1327faae4 Merge pull request #344 from halkyon/remove_deprecated_extrastatics_usage
ENHANCEMENT Remove use of deprecated extraStatics in core files
2012-04-18 15:42:51 -07:00
Sean Harvey
4cf8db3ee4 ENHANCEMENT Remove use of deprecated extraStatics in core files 2012-04-19 08:37:51 +12:00
Ingo Schommer
7f62ad0f3e Merge branch 'master' into 7094-combine-tree-edit-view 2012-04-18 14:19:55 +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
7d84aff01e Merge pull request #339 from ajoneil/remove-pre-53-support
Remove pre 5.3 support
2012-04-17 16:19:23 -07:00
Andrew O'Neil
fb3b03f38b MINOR: Remove support for PHP <5.3.2 2012-04-18 11:01:03 +12:00
Mateusz Uzdowski
be97535b1e ENHANCEMENT: add an infinite-loop check as validation in Hierarchy (os4399)
Check only when the parent has changed - hierarchy traversal is
expensive operation, so we do it only when it is needed.
2012-04-18 10:50:35 +12:00
Mateusz Uzdowski
42e6ae2cdf APICHANGE: add validation extension hook to DataExtension 2012-04-18 09:25:48 +12:00
Ingo Schommer
761bae3418 ENHANCEMENT Support for anonymous functions instead of eval() in Hierarchy->getSiteTreeAsUL() 2012-04-17 22:29:38 +02:00
Mateusz Uzdowski
59663f9289 BUGFIX: fix up some E_STRICT errors 2012-04-17 11:51:55 +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
b81863cfd9 MINOR Caching DataObject->fieldLabels() in memory, to avoid _t() being called excessively through fieldLabel() 2012-04-15 17:17:17 +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
Ingo Schommer
8ba9c3ca6b API CHANGE Removed $params argument to DataObject->getCMSFields(), please use FormScaffolder directly (fixes #7135) 2012-04-13 15:46:47 +02:00
Ingo Schommer
c73b80049a MINOR Removed usage of deprecated Object::uninherited_static() in core, improves CMS loading speed in live mode by ~3.5% 2012-04-12 18:26:56 +02:00
Mateusz Uzdowski
ae5bd7d65e ENHANCEMENT: refer to cache statics explicitly via DataObject (os6175)
Unify the usage across the class. Since the intention is to have a
single site-wide cache, calling via DataObject seems to be a better
option - self could theoretically end up calling a redefined field from
a subclass.
2012-04-12 17:04:24 +12:00
Mateusz Uzdowski
aedadebae6 BUGFIX: adjust the cache flush and reset functions to cover all caches (os6175) 2012-04-12 17:04:22 +12:00
Mateusz Uzdowski
8ea2460e50 BUGFIX: make internal DataObject caches more consistent (os6175) 2012-04-12 17:03:18 +12:00
Mateusz Uzdowski
621b2e1888 APICHANGE: deprecate DataObject::setComponent, no longer does anything. 2012-04-12 17:02:09 +12:00
Mateusz Uzdowski
360e9df54e MINOR: fix typo 2012-04-12 16:22:36 +12:00
Sam Minnée
d766100335 Merge pull request #304 from halkyon/e_strict_fixes
Enable E_STRICT by default for development, fix all E_STRICT errors affected by tests.
2012-04-11 17:54:18 -07:00
Sam Minnee
aa659a2326 MINOR: Fixed classname displayed in Hierarchy::markChildren() error. (#4406) 2012-04-12 12:38:07 +12:00
Sean Harvey
6b40377a1c BUGFIX Time::setValue() now conforms to DBField::setValue() for E_STRICT compliance. 2012-04-12 12:08:22 +12:00
Sean Harvey
9a9cebb369 MINOR Versioned::add_to_class() now conforms to parent
DataExtension::add_to_class() with $args being optional (default to
null). This is for E_STRICT compliance.
2012-04-12 12:07:35 +12:00
Sean Harvey
41433f1211 BUGFIX Fixing FulltextSearchable and Hierarchy to conform to the parent DataExtension for E_STRICT compliance. 2012-04-12 12:06:02 +12:00
Sean Harvey
9bd7068394 MINOR Fixed class documentation for CompositeDBField 2012-04-12 12:04:58 +12:00
Ingo Schommer
ac45e5b9c0 Merge branch 'integration'
Conflicts:
	admin/css/ie8.css
	admin/css/screen.css
	admin/scss/_style.scss
	dev/install/config-form.html
	dev/install/install.css
	dev/install/php5-required.html
2012-04-11 16:31:12 +02:00
Andrew O'Neil
75c5134bc9 BUGFIX: Fix Money::setValue() using old api 2012-04-11 15:30:38 +12:00
Andrew O'Neil
bdb312c665 API CHANGE: DBField::hasValue() conflicts with ViewableData::hasValue(), use DBField::exists() instead. 2012-04-11 14:48:06 +12:00
Ingo Schommer
8c5e56fe31 Merge branch 'master' into integration
Conflicts:
	admin/css/screen.css
	dev/install/php5-required.html
2012-04-09 21:10:08 +02:00
Julian Seidenberg
e76913f811 API-CHANGE: adding a default option of null to the $args argument in DataExtension::add_to_class. The args argument isn't used anywhere in the class and adding a third argument to every call to this function is tedious. 2012-04-05 14:15:00 +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
unclecheese
59706d5bf5 Using deprecated StringField::Upper() and StringField::Lower(). Calling $MyEnumField.Upper on the template returns an unresolvable deprecation error. 2012-04-03 15:58:17 -03:00
Sam Minnee
58433d38ce BUGFIX: Tidied up relObject() behaviour on DataLists to restore broken SearchContext functionality. 2012-03-30 15:59:57 +13: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
Normann Lou
9e60225064 MINOR : Update core docs to use DataList::create() rather than DataObject::get()/get_one()/get_by_id() where appropriate - Trac#6891 2012-03-27 17:02:18 +02: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
Sam Minnee
2576944a45 API CHANGE: Added DataObject::relField(), which pushes the "relation dot syntax" code of TableListField/GridField back to the model.
BUGFIX: Made DataObject::relObject() more flexible; allowable thanks to new ORM.
2012-03-24 14:04:08 +13:00
Sean Harvey
02c8019bb8 ENHANCEMENT Introduce Database::prepStringForDB(), used by
DBField::prepValueForDB() and StringField::prepValueForDB() to ensure
the field value is escaped correctly for the database. This means
databases like MSSQL can introduce an "N" prefix (marking text as
unicode to be saved correctly) by overloading the
prepStringForDB method. MySQL, PostgreSQL and SQLite3
operate as usual.
2012-03-20 21:20:35 +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
Sean Harvey
f5a91cbbe8 ENHANCEMENT SS_Map_Iterator::rewind() SS_Map_Iterator::current() will
return the titleField if there's a method of the same name (same
behaviour as DataObjectSet::map() from SS 2.4)
2012-03-15 17:28:00 +13:00
Ingo Schommer
2555ccb543 BUGFIX Qualify join table in ON clause in ManyManyList to avoid ambiguous column names 2012-03-14 22:44:07 +01:00
Ingo Schommer
687a1ca72b BUGFIX Don't include has_many/many_many relationships in DataObject->scaffoldFormFields() when the record doesn't have an ID yet - as the scaffolded GridFieldAddExistingAutocompleter component assumes the component has an ID to query against (fixes #5723) 2012-03-14 22:44:07 +01: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
Sam Minnée
603a984ad4 Merge pull request #236 from silverstripe-big-o/pull/SSF-25
SSF-25: ModelAdmin
2012-03-09 15:23:20 -08:00
Ingo Schommer
3a068a0d18 MINOR Removed references to outdated versions from docs 2012-03-09 21:34:05 +01:00
Ingo Schommer
4b8895c8b6 BUGFIX Don't scaffold has_one relations into a DropdownField in ForeignKey->scaffoldFormField() if more than 100 records would be created, to avoid exceeding PHP memory (fixes #6776) 2012-03-09 15:58:46 +01: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
4315e51358 BUGFIX: Fix deprecated and removed static accessor calls 2012-03-09 18:16:44 +13:00
Hamish Friedlander
9c2ebc3e5f BUGFIX: Replace deprecated extraStatics with new methods on Versioned and Hierarchy 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
Sam Minnee
adbcf61c56 MINOR: Minor fixes after new SS_List interfaces cleanup 2012-03-09 17:50:32 +13:00
Stig Lindqvist
4f1da0a5e8 MINOR If the limit clause on DataObject::get() passes a SQL type of limit, modify it for SS_List::limit() 2012-03-09 17:07:42 +13:00
Stig Lindqvist
0a82b903bc MINOR ListDecorator::limit must exactly match SS_Limitable::limit() 2012-03-09 17:07:41 +13:00
Stig Lindqvist
2cb67efe07 API CHANGE DataObject::getComponents() should use default value for limit as NULL 2012-03-09 17:07:41 +13:00
Sam Minnee
e9e7655867 API CHANGE: Added SS_Sortable, an extra interface to apply to SS_Lists. 2012-03-09 17:07:41 +13:00
Sam Minnee
f000a47813 API CHANGE: Added SS_Filterable, an extra interface to apply to lists. 2012-03-09 17:07:40 +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
Sean Harvey
0d8151fd3d Merge remote-tracking branch 'upstream/master' into deprecation_fixes 2012-03-09 15:03:43 +13:00
Sean Harvey
a2353f793d MINOR Fixed misspelled "extension" in
DataExtension::load_extra_statics()
2012-03-09 14:35:12 +13:00
Sean Harvey
71c2a2286a API CHANGE Removed support for extraDBFields method in DataExtension, please ensure you are using extraStatics on your extension classes 2012-03-09 14:34:25 +13:00
Mark Stephens
627708e3a8 BUGFIX: add Director::isDev parameter so we can test if we know we're dev mode already without touching the database. Used in showqueries on MySQL, so that errors are avoided when showing queries on initial switch to dev move (#6856) 2012-03-09 14:20:22 +13:00
Ingo Schommer
e4a6dd5850 Merge branch 'integration'
Conflicts:
	forms/gridfield/GridField.php
2012-03-08 20:25:21 +01:00
Ingo Schommer
51bae9e4a6 ENHANCEMENT Allowing to save ManyManyList with multiple foreign keys (e.g. required to add to an overloaded Group->Members() relationship) 2012-03-06 21:38:33 +01:00
Ingo Schommer
bb6d4c506e BUGFIX Fixed HasManyList and ManyManyList queries for relationships on new records (was returning all available records due to the SQL filtering ignoring ID=0) 2012-03-06 01:23:34 +01:00
Sam Minnee
adfdd068e2 Merge branch 'ereg-to-preg' of https://github.com/AngryPHPNerd/sapphire
Conflicts:
	model/fieldtypes/Date.php
2012-03-05 13:54:20 +13:00
Ingo Schommer
299bf8b9c6 Merge branch 'integration' 2012-03-02 20:53:06 +01:00
Ingo Schommer
e5c4b0a36b ENHANCEMENT Hierarchy->Breadcrumbs() 2012-03-02 20:46:19 +01:00
Ingo Schommer
c3f4db1d7d ENHANCEMENT Using new UploadField in ForeignKey scaffolding, replacing deprecated ImageField/FileField classes 2012-03-01 12:00:03 +01:00
Ingo Schommer
586ca7374f Merge pull request #202 from halkyon/date_changes
Date changes
2012-02-29 13:02:30 -08:00
Sean Harvey
8109a5e54d MINOR phpDoc to methods in Date, small tweaks to DayOfMonth method to be consistent with value checks 2012-03-01 09:56:05 +13:00
Ingo Schommer
da879da940 MINOR Styling and structural fixes for File/Image->getCMSFields() and relates usage in UploadField/HTMLEditorField. 2012-02-29 21:06:43 +01:00
Ingo Schommer
bcc73de85e Merge branch '106-add-edit-records-rc'
Conflicts:
	admin/code/LeftAndMain.php
	admin/css/screen.css
	admin/scss/_style.scss
	admin/templates/Includes/LeftAndMain_EditForm.ss
	css/GridField.css
	filesystem/Folder.php
	forms/gridfield/GridField.php
	forms/gridfield/GridFieldDefaultColumns.php
	forms/gridfield/GridFieldPopupForms.php
2012-02-27 23:58:10 +01:00
Julian Seidenberg
550f75408e ENHANCEMENT: File and Image CMSFields styling 2012-02-27 23:52:40 +01:00
AngryPHPNerd
0e2cbb0b88 Replace ereg with preg_* 2012-02-27 22:14:02 +01:00
Sean Harvey
58d48583a9 ENHANCEMENT Date::DayOfMonth() now supports ordinal argument, so you can get somehing like "10th" or "2nd". Also supported in Date::RangeString 2012-02-24 20:38:11 +13:00
Sean Harvey
8fdc531345 BUGFIX Ensure Date and Datetime field types actually set NULL, false, empty string values correctly instead of "1970-01-01" which gets saved to the database instead of NULL.
BUGFIX Datetime::Nice() and casting methods return NULL when there is no value, to be consistent with Date::Nice() and so on
2012-02-24 20:37:58 +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
Sean Harvey
591dd4efa9 BUGFIX SS_Map::keys() and SS_Map::values() are identical, keys() should return the *keys* not the values #6818 2012-02-11 11:46:20 +13:00
Andrew O'Neil
267050171a BUGFIX Fix HasManyList::removeByID() 2012-02-09 14:33:00 +13:00
Sam Minnee
d1a39b0b1a BUGFIX: Fixed operation of the onlyDeletedFromStage parameter of Hierarchy::liveChildren(). 2012-02-08 18:38:37 +13:00
Ingo Schommer
db5ac15bb1 MINOR Fixed spelling mistake in HasManyList 2012-02-03 01:00:12 +01:00
Ingo Schommer
8e3ce755cf MINOR Casting return values in HTMLText correctly (followup on security fixes applied to Text, Varchar, StringField) 2012-01-31 16:22:22 +01:00
Ingo Schommer
6ecf7ffe84 API CHANGE Deprecated Text->EscapeXML(), use DBField->XML() instead 2012-01-31 16:11:55 +01:00
Ingo Schommer
618d767dcb API CHANGE Removed XML escaping in DBField->LowerCase() and UpperCase(), in order to consistently allow SSViewer to deal with casting. Affects subclasses like Text, Varchar and HTMLText.
API CHANGE Deprecated StringField->Lower() and Upper(), use String->LowerCase() and UpperCase() instead. Moved methods from DBField to StringField.
2012-01-31 16:11:55 +01:00
Ingo Schommer
e1e5546ab6 BUGFIX Casting return values on text helper methods in StringField, Text, Varchar 2012-01-31 16:11:55 +01:00
Ingo Schommer
0b0d42c24e MINOR Formatting 2012-01-30 18:28:15 +01:00
Stig Lindqvist
056e564217 BUGFIX Subtract should not add order by on subselect 2012-01-27 18:27:24 +13:00
Stig Lindqvist
7f09b6931b API CHANGE DataList::subtract and DataQuery::subtract for subtracting a list from another list
Minor Stripped out ManyManyList tests from DataListTest into it's own test case
2012-01-26 17:59:43 +13:00
Dominik Beerbohm
09c1f8f576 Bad parameter forwarding from SS_ListDecorator (sort,filter,exclude) to i.e. DataList. 2012-01-17 00:34:54 +01:00
Ingo Schommer
9451993d74 API CHANGE Moved DataObject->writeWithoutVersion() to Versioned extension
BUGFIX Don't create new version on related VirtualPage records in SiteTree->onAfterWrite() when the write was triggered through writeWithoutVersion(). Use a new $_nextWriteWithoutVersion flag replacing the -1 Version number for this purpose (AIR-97)
2012-01-14 13:07:12 +01:00
Sam Minnee
d296a9411d Merge remote-tracking branch 'refs/remotes/scienceninjas/story/sort-by-relation-on-datalist' 2012-01-10 17:33:04 +13:00
Sam Minnee
3c1d62acfd API CHANGE: Added ArrayList::dataClass(), which will return the class of the first item in the list. 2012-01-10 16:58:49 +13:00
Ingo Schommer
d9538d3085 ENHANCEMENT Migrating AssetAdmin fields to File/Folder/Image->getCMSFields() 2012-01-09 21:17:53 +01:00
Sam Minnee
93eb2dda54 API CHANGE: Added ArrayList::byID(), to improve its compatibility with DataList. 2012-01-09 18:47:59 +13:00
Stig Lindqvist
3c516b7b97 API CHANGE: Refactored GridField modifiers into GridField_ColumnProvider, GridField_HTMLProvider, GridField_ActionProvider, and GridField_DataModifier interfaces, all added as components in the config.
API CHANGE: Simplified state handling so that it's just a key store. Affectors are replaced with GridField_ActionProviders. API CHANGE: Removed GridField state manipulation actions instead opting for GridField_ActionProvider actions.
API CHANGE: Removed support for modifiers that add "body" rows, instead having core support for generating the body rows hardcoded into the GridField.
API CHANGE: Allow modification of columns across the whole GridField with the GridField_ColumnProvider interface.
API CHANGE: Renamed GridField_AlterAction to GridField_Action, and added actionName/args parameters, since it can be used for all actions (including batch actions and row actions)
API CHANGE: Removed GridFieldRow class.
2012-01-09 13:30:34 +13:00
Sam Minnée
9a1644f9e1 Merge pull request #148 from ajshort/pull-2
Added GroupedList
2012-01-06 16:19:20 -08:00
ajshort
5242ed1051 FEATURE: Added GroupedList for grouping lists into sub-lists by common values of a field. 2011-12-26 19:48:53 +11:00
Simon Welsh
f7516481b1 BUGFIX Sanitise keys and tags before using them with Zend_Cache. 2011-12-23 10:38:37 +13:00
Stig Lindqvist
f59d11c91e MINOR DataList::sort() can sort by relation name 2011-12-18 04:28:09 +01:00
Stig Lindqvist
20554b1bf9 BUGFIX DataQuery::orderby() don't sort relations DESC 2011-12-18 04:21:00 +01:00
Stig Lindqvist
9bf247cc33 API CHANGE Introduced DataQuery::whereAny() and SQLQuery::whereAny() 2011-12-17 16:42:30 +13:00
Stig Lindqvist
aafdb8e01c API CHANGE All SS_List implementators supports filter, exclude and sort methods 2011-12-17 16:42:29 +13:00
Stig Lindqvist
2306ec94c3 MINOR Updated inline documentation and added visibility keywords to methods for SS_List, DataList and ArrayList 2011-12-17 16:42:29 +13:00
Sam Minnee
60ced3b167 BUGFIX: Added default value for limit on LimitCharacters() to prevent backwards-compat issue (fixes 0c3af805) 2011-12-17 16:41:54 +13:00
Sam Minnée
99b2430565 Merge pull request #131 from halkyon/master
Nice debug formatting for ArrayList and DataList
2011-12-16 18:05:09 -08:00
Sean Harvey
30f049bd26 ENHANCEMENT ArrayList and DataList now show a nice view of the items inside when using Debug::show() 2011-12-17 12:45:45 +13:00
Ingo Schommer
0c3af80514 BUGFIX Better handling of multibyte strings in LimitCharacters(), removed code duplication by more flexible base implementation at StringField->LimitCharacters() (Merge pull request #121 from edlund/sapphire) 2011-12-17 00:40:13 +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
Fred Condo
dbfd54ba50 BUGFIX: Get all method names to find cached images
Because some extensions add functions that generate cached images, deleteFormattedImages()
needs to find all the method names by passing true to allMethodNames().
2011-10-31 11:36:01 -07:00
Fred Condo
5f1faec3e2 BUGFIX: regex-escape strings to prevent regex syntax errors
Apply preg_quote to each generator name and to $this->Name so that their use in a
regular expression will not cause run-time errors.

Provided fixture and test.
2011-10-31 11:34:33 -07:00
Stig Lindqvist
260a9e230c BUGFIX Versioned returns error on singleton($className)->summaryFields()
This solves a bugfix when calling singleton($className)->summaryFields() and Versioned kicks back. It is needed to by the GridField functionality to get default columns to show.

This is due to DataExtension calls ClassName::extraStatics() when calling ::load_extra_statics() statically, we need to pass in class and extension.
2011-10-31 11:17:37 +13:00
Sean Harvey
dd48a605b6 BUGFIX Removing DB coupling in SQLQuery::orderby() stopping functions from being fixed in the select list when used in orderby
BUGFIX DataQuery::ensureSelectContainsOrderbyColumns() shouldn't mess with "_SortColumn*" fields created by SQLQuery::orderby()
2011-10-29 23:54:35 +13:00
Sam Minnee
1a0673fa3f API CHANGE: Remove deprecated db/build. 2011-10-29 17:44:56 +13:00
Sam Minnee
085598fac0 API CHANGE: Replaced ManyManyList::removeByFilter() with ManyManyList::removeAll(). 2011-10-29 17:36:39 +13:00
Sam Minnee
a5a94b520f MINOR: Remove uses of deprecated extendedSQL() 2011-10-29 17:36:39 +13:00
Sam Minnee
5ed14915bb BUGFIX: Fixed DataList::find() for find by ID and find multiple times. 2011-10-29 17:36:39 +13:00
Sam Minnee
0d683dd8ef MINOR: Removed use of deprecated join() in favour of innerJoin() and leftJoin(). 2011-10-29 17:36:38 +13:00
Sam Minnee
42b8d3da04 MINOR: Use FieldList over deprecated FieldSet 2011-10-29 17:36:38 +13:00
Sam Minnee
22e5617ee2 MINOR: Moved from use of deprecated SQLMap to SS_Map. 2011-10-29 17:36:37 +13:00
Sam Minnee
c8ce6f9f55 BUGFIX: Don't create unnecessary aliases in generated SQL. 2011-10-29 17:36:37 +13:00
Sam Minnee
a4ee0f4dad ENHANCMEMENT: Added SS_Map to replace SQLMap.
API CHANGE: Deprecate SQLMap.
2011-10-29 17:34:32 +13:00
Sam Minnee
0d0ad0e572 MINOR: Undeprecated Currency because the Money class is overkill in many situations where you're dealing with a single-currency system. 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
Sean Harvey
3bf983200b BUGFIX DataQuery: ensuring ORDER BY columns are set in SELECT clauses 2011-10-29 17:28:46 +13:00
Simon Welsh
f976af78be BUGFIX: Apply engine changes only if there is no existing FulltextSearch index on the table, and apply them before column index changes. 2011-10-29 16:57:10 +13:00
Simon Welsh
c8f1379407 Merge branch 'master' of git://github.com/silverstripe/sapphire 2011-10-29 13:55:50 +13:00
Simon Welsh
ca074eb7ba Changes default MySQL storage engine to InnoDB. File requires MyISAM for FulltextSearch. 2011-10-29 13:34:45 +13:00
Simon Welsh
6bf3f7ded4 Switches MySQLDatabase to use the MySQLi class rather than the mysql_* functions. 2011-10-29 13:34:11 +13:00
Stig Lindqvist
83e90aaafe ENHANCEMENT Release of DataGridPagination
This class extends the DataGridPresenter with the behaviour and looks of a paginated Datagrid.
2011-10-28 17:34:15 +13:00
Sam Minnée
92e8f6a2f4 Merge pull request #70 from stojg/ss_list-changes
API CHANGE Childclasses to SS_List matches the same signature on abstract
2011-10-27 20:09:25 -07: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
Hamish Friedlander
0a3e0f15de MINOR: Replace references to FieldSet (now deprecated) with references to FieldList 2011-10-28 15:58:55 +13:00
Hamish Friedlander
4c0105a3c4 MINOR: Fix deprecated notices - change old references to 2.5 from ORM work to 3.0.0, and use new deprecation notice system 2011-10-28 15:58:55 +13:00
Stig Lindqvist
fb8ff50451 API CHANGE Childclasses to SS_List matches the same signature on abstract methods column and map.
This was failing under php 5.2
2011-10-22 16:08:51 +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
340a779cfd MINOR More transliteration matches for Lithuanian (fixes #6724, thanks zyzzza) 2011-10-10 10:14:19 +02:00
Ingo Schommer
c630f83344 BUGFIX Setting level in DataObject->getChangedFields() to 'value change' rather than 'type change' for CompositeFields, so they save correctly (fixes #6726, thanks frankmullenger) 2011-10-07 22:57:23 +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
8302af1ea8 ENHANCEMENT Added Database->getLock() and Database->releaseLock() for application-level advisory locks 2011-10-07 14:12:50 +02:00
Ingo Schommer
67568b08a3 MINOR Checking for valid field type in DataDifferencer (built-in fields like 'RecordClassName' can't be casted to a field object) 2011-10-07 14:12:50 +02:00
Ingo Schommer
55183ec386 BUGFIX Reset WHERE clause in SQLMap->getItem() to ensure it can be invoked more than once 2011-10-07 14:12:49 +02:00
Ingo Schommer
99355c0089 ENHANCEMENT Added new onBeforeDuplicate() and onAfterDuplicate() hooks to DataObject 2011-10-07 14:12:49 +02:00
Ingo Schommer
54b81a3953 MINOR Don't set cookies in CLI mode for Versioned (AIR-75) 2011-10-07 14:12:48 +02:00
Ingo Schommer
2ec2c97766 ENHANCEMENT Allowing diffs of has_one relationship in DataDifferencer (AIR-24) 2011-10-07 14:12:48 +02:00
Ingo Schommer
8cc1b4c852 BUGFIX Bypassing setters in DataDifferencer to avoid problems with invalid data (e.g. HTML fragment instead of valid classname in SiteTree->setClassname(). Better validation of constructor parameters (AIR-42) 2011-10-07 14:12:47 +02:00
Ingo Schommer
da0ac49d5f API CHANGE Rewriting underscores to dashes in files uploaded through Upload->load(), Folder->addUploadToFolder() or Image->loadUploadedImage(). Transliterating non-ASCII characters automatically (turn off via FileNameFilter::$default_use_transliterator=false)
ENHANCEMENT New FileNameFilter class for a more customisable way to influence filename filtering in Upload->load(), Folder->addUploadToFolder() or Image->loadUploadedImage()
2011-10-07 14:12:46 +02:00
Ingo Schommer
ac8cdf0367 ENHANCEMENT Making check/repair/vaccum of database tables on dev/build configurable via SS_Database::$check_and_repair_on_build (AIR-12) 2011-10-07 14:12:46 +02:00
Ingo Schommer
0a8a17833f MINOR Quoting relation tables in new ManyManyList API 2011-10-07 14:11:07 +02:00
Ingo Schommer
df56eb540a MINOR Don't throw deprecation notice on DataObjectSet and FieldSet if there's still over 500 (!) references to them in core, as it basically means that everybody has to suppress PHP NOTICE errors for months, impacting core code quality 2011-10-04 13:23:13 +02:00
Stig Lindqvist
75c0fcd052 MINOR Better isset checks on Versioned#allVersions() due to changes in SQLQuery 2011-09-28 12:33:02 +13:00
Stig Lindqvist
73c249128b MINOR Fixed the SQLQuery to return empty query in only certain cases 2011-09-28 12:33:01 +13:00
Stig Lindqvist
bf73265252 BUGFIX Added Fixing deprecated usage of array_multisort for php 5.3
It worked by accident in php 5.2, see https://bugs.php.net/bug.php?id=49241
2011-09-27 11:12:35 +13:00
Stig Lindqvist
4171015df1 MINOR SQLQuery without a FROM table should return empty query 2011-09-27 10:18:23 +13:00
Will Rossiter
1732a17114 Merged new-orm into datagrid 2011-09-26 16:47:54 +13:00
Will Rossiter
4c6ddb142d ENHANCEMENT: added isLatestVersion() method for checking whether a record is the latest version of this ID 2011-09-19 17:26:21 +02:00
j.m.milmine
627a2916f4 ENHANCEMENT Image -> SetWidth() and Image -> SetHeight() generate new image when size is the same as the original file (fixes #5792) 2011-09-19 14:40:25 +02:00
Will Rossiter
1c12a226a3 Merge pull request #60 from simonwelsh/patch-3
BUGFIX Pass create_table_options for the owner class's table to DB::requireTable()
2011-09-18 19:25:26 -07:00
simonwelsh
b80efb75d4 Add comment about duplicating create options as well as structure. 2011-09-19 14:20:38 +12:00
Ingo Schommer
ce8e72cf0e MINOR Removing executable flag from all files (thanks miiihi) 2011-09-18 22:04:02 +02:00
simonwelsh
718b9b5b34 Pass create_table_options for the owner class's table to DB::requireTable() when creating tables for the stages and the _version table. 2011-09-17 00:21:54 +12:00
Ingo Schommer
31b477ee0c ENHANCEMENT Added File.ShowInSearch flag to mirror the existing SiteTree.ShowInSearch flag - e.g. useful to limit visibility of user-uploaded files. Enforced in MySQLDatabase->searchEngine(). Tested in cms with SearchEngineTest. 2011-09-15 16:00:54 +02:00
Ingo Schommer
c776a1cd67 BUGFIX Consistently using Convert::raw2sql() instead of DB::getConn()->addslashes() or PHP's deprecated addslashes() for database escaping 2011-09-15 14:24:46 +02:00
drzax
cbd42ed053 This class attempts to run the extraStatics method without first checking it exists. There's no reason why a data object decorator would necessarily add extra statics. 2011-08-11 12:01:26 +10:00
Will Rossiter
cb064203ba MINOR: defined the addslashes() method on the abstract SS_Database as Convert::raw2sql() assumes it exists. FIXES: #6662 2011-06-10 16:36:13 +12: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
Ingo Schommer
ced7d6db7a MINOR Return empty string from SQLQuery->sql() if SELECT is the default value, and no FROM is set (moved logic from DB-specific implementations) 2011-05-19 14:34:01 +12:00
Ingo Schommer
cfe0066a3b BUGFIX Allow omitting FROM clause in sqlQueryToString() 2011-05-19 11:37:33 +12:00
Ingo Schommer
cbf191b14c MINOR Temporarily disabled deprecation notice in DataObjectDecorator and LeftAndMainDecorator, to be re-enabled once we're in beta stage (they unnecessarily break too many modules for now 2011-05-19 10:25:15 +12:00
ajshort
1f6f7f0862 API CHANGE: Deprecated CompositeField->FieldSet() in favour of CompositeField->FieldList().
MINOR: Replaced usage of FieldSet with FieldList.
MINOR: Renamed FieldSetTest to FieldListTest.
2011-05-11 17:51:54 +10:00
ajshort
a75abd5cd7 MINOR: Replaced DataObjectSet with ArrayList in MySQLDatabase->searchEngine(). 2011-05-06 07:08:33 +10:00
ajshort
2294ef5820 API CHANGE: Deprecated DataObjectSet in favour of DataList or ArrayList.
MINOR: Moved DataObjectSet tests to ArrayListTest.
2011-05-06 00:52:50 +10:00
ajshort
c954ae5aaa MINOR: Renamed ArrayList->array to ArrayList->items; 2011-05-06 00:30:45 +10:00
ajshort
b3fc458101 ENHANCEMENT: Made it possible to sort by multiple fields in ArrayList::sort(). 2011-05-06 00:24:33 +10:00
ajshort
462689a4e6 ENHANCEMENT: Added ArrayList->removeDuplicates(). 2011-05-05 20:53:07 +10:00
ajshort
99a2baf3f8 MINOR: Updated ArrayList->getRange() to return an ArrayList instance. 2011-05-05 20:41:06 +10:00
ajshort
2a3fdd16a4 MINOR: Added a default "ID" parameter to ArrayList->column(). 2011-05-05 20:40:51 +10:00
ajshort
3f132a105b API CHANGE: Replaced DataObjectSet instances with ArrayList. 2011-05-05 20:40:24 +10:00
ajshort
9f87294427 ENHANCEMENT: Added exists(), replace(), merge(), push(), pop(), unshift() and shift() methods to ArrayList. 2011-05-05 17:48:12 +10:00
ajshort
7e7677bbba FEATURE: Added ArrayList to allow an array of arrays or objects to be handled as a list. 2011-05-04 00:06:42 +10:00
ajshort
26faead3e5 MINOR: Made DataObjectSet implement the SS_List interface. 2011-05-03 12:16:15 +10:00
ajshort
b872ad7bb8 MINOR: Added default parameters to DataList->map(). 2011-05-03 12:15:49 +10:00
ajshort
50506659d1 API ChANGE: Updated DataList to not extend from DataObjectSet, but instead implement the list iterator.
MINOR: Return an ArrayIterator from DataList rather than a DataObjectSet_Iterator.
2011-05-02 18:14:55 +10:00
ajshort
df87fd5a11 API CHANGE: Updated SS_ListDecorator to implement the list inteface and extend ViewableData, rather than DataObjectSet. 2011-05-02 18:12:39 +10:00
ajshort
a940fb2888 FEATURE: Added the SS_List interface which classes can implement to be recognised as a list. 2011-05-02 13:38:40 +10:00
Sam Minnee
7fbb919ce8 API CHANGE: Introduce DataModel object, as a representation of the project's entire data model, and tie it to $this->model an all DataObjects, Controllers, and RequestHandlers for easy non-static access.
API CHANGE: Add DataList::newObject(), which creates a new object on that DataList.
API CHANGE: RequestHandler::handleRequest() now needs to handle a $model argument, if you override it.
2011-05-01 17:33:02 +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
8fb7b531cf MINOR: Updated MySQLDatabase::searchEngine() to use the new PaginatedList API. 2011-05-01 15:26:30 +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
6915e58a39 BUGFIX: Fix SQLQuery::queriedTables() and added test. 2011-05-01 15:26:29 +12:00
Sam Minnee
f83abe416c MINOR: Improved some exception handling. 2011-05-01 15:25:58 +12:00
Sam Minnee
0ba86971e2 API CHANGE: Removed context object - it's a hack. 2011-05-01 15:25:58 +12:00
Sam Minnee
c57378753d ENHANCEMENT: Improved Versioned to pass different query styles as DataQuery modes. 2011-05-01 15:25:46 +12:00
Sam Minnee
165f38361b BUGFIX: Updated Hierarchy::liveChildren() to use DataList over buildDataObjectSet. 2011-05-01 15:25:45 +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
Sam Minnee
7fab93f7cb API CHANGE: Added SQLQuery::count(), SQLQuery::firstRow(), and SQLQuery::lastRow() 2011-05-01 15:25:14 +12:00
Sam Minnee
8a9903988f MINOR: Always store SQLQuery::$limit as a 2-element array internally. 2011-05-01 15:25:14 +12:00
Sam Minnee
199e267bbf MINOR: Don't add 'OFFSET 0' to a query unnecessarily. 2011-05-01 15:25:14 +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
ajshort
e8dd38eac3 API CHANGE: Removed DataObjectLog class, the same functionality should be implemented using extensions. 2011-04-26 11:01:38 +10: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