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