Sam Minnee
f9b1485640
Merge branch '3.0'
2012-08-21 14:38:19 +12:00
Damian Mooyman
f7ffb79542
FIXED: Compatibility fixes for MS SQL Server. Replaced back ticks (which are mysql specific) with double quotes
2012-08-21 13:46:19 +12:00
Ingo Schommer
4cc82e906b
Merge remote-tracking branch 'origin/3.0'
2012-08-20 10:13:55 +02:00
Sam Minnée
47b56d4ef8
Merge pull request #716 from tractorcow/3.0-versioned-fixes
...
FIXED: Crashed caused by viewing versioned page
2012-08-19 19:02:24 -07:00
Damian Mooyman
0f09305e3d
FIXED: Issue where temporary table would cause unpredictable behaviour. Temporary table functionality was substituted with subqueries in each use case.
...
ADDED: Test case for version archive functionality.
2012-08-20 13:24:28 +12:00
Ingo Schommer
29b62adec2
Merge branch 'augmentSQL-on-wrong-class' of git://github.com/creamarketing/sapphire into creamarketing-augmentSQL-on-wrong-class
2012-08-16 23:47:48 +02:00
Ingo Schommer
ea0554a466
Merge pull request #666 from silverstripe-droptables/versioned-param-order
...
BUG Correct wrong parameter order.
2012-08-16 14:03:16 -07:00
Ingo Schommer
4598cc02aa
Merge pull request #659 from ajshort/instance-search-filters
...
BUG: Allow using instances for search filters.
2012-08-16 13:07:35 -07:00
Damian Mooyman
c55b018feb
FIXED: Issue where versioned would join _versions tables on ID,Version instead of RecordID,Version
2012-08-10 13:54:29 +12:00
Damian Mooyman
22c5f3129c
FIXED: Issue where viewing an archived version of a page caused invalid SQL to be generated. This would only occur with subclasses of Page.
2012-08-10 12:45:37 +12:00
Ingo Schommer
cac540d252
Merge branch '3.0'
2012-08-10 00:19:00 +02:00
Ingo Schommer
ca1d38dffd
BUG Localize DataObject->summaryFields()
2012-08-10 00:14:02 +02:00
Ingo Schommer
fb7008627c
Merge remote-tracking branch 'origin/3.0'
2012-08-09 10:47:44 +02:00
Juerg Rast
00a2edd9bc
Wrong deprecation notice in DBField::create()
2012-08-04 19:14:16 +02:00
Niklas Forsdahl
76c5b56e81
BUG: augmentSQL always extended on base data class on query finalization
...
The augmentSQL DataExtension method is always extended on the base data
class of data objects in DataQuery::getFinilisedQuery(). This results
in augmentSQL not being called for extensions that are applied to non-
base data classes when finalizing the query.
For example, if Versioned was applied to class B which extends class A,
which in turn extends DataObject, then augmentSQL would be extended for
class A in DataQuery::getFinilisedQuery(). Since class A doesn't have
the Versioned extension in this example, it would not work for class B.
Fixed this by extending augmentSQL on the actual data class and not
on the base class.
2012-08-02 16:09:58 +03:00
Hamish Friedlander
3efdb5c981
Merge in changes from 3.0.1 final
2012-07-31 16:51:10 +12:00
Hamish Friedlander
367c49d6b1
API DataObject#relField now checks for method on model before property
2012-07-27 14:44:38 +12:00
Hamish Friedlander
95d0be636c
Merge remote-tracking branch 'origin/3.0'
2012-07-25 11:44:53 +12:00
Mateusz Uzdowski
143ecebbfb
BUG Correct wrong parameter order.
2012-07-24 14:17:12 +12:00
Hamish Friedlander
36c8fc2e93
Merge pull request #660 from silverstripe-rebelalliance/trac/7673
...
API Prep ArrayList, DataList, forForeignID for immutability in 3.1 per 7673
2012-07-22 21:30:53 -07:00
Hamish Friedlander
b7691077cf
API Prep forForeignID for immutability in 3.1 per 7673
2012-07-23 10:31:47 +12:00
Hamish Friedlander
5fa18e9ab6
Merge pull request #652 from silverstripe-rebelalliance/trac/7482
...
BUG Fix issues with composite fields, as per Trac/7482
2012-07-22 15:14:30 -07:00
Andrew Short
c058f97edd
BUG: Allow using instances for search filters.
...
Previously search filters could only be specified as strings, this
allows instances to be used so more complex filter configuration
can be used.
2012-07-23 02:11:35 +10:00
Hamish Friedlander
e8e4604457
API Prep DataList for immutability in 3.1 per 7673
...
DataList had several methods that should act on a copy and return
that copy, but was instead mutating the existing list.
We cant change this behaviour in the 3.0 line for backwards compt.
reasons, but this makes the desired behavior the default, and
makes disabling the mutation in 3.1 easier
It also introduces two new methods to deal with the common pattern
of wanting to modify the underlying dataQuery, which we want to be
able to reliably do in a way that always acts immutably. The main
method of these two is alterDataQuery
2012-07-20 15:58:18 +12:00
Hamish Friedlander
1ed41b8d67
API Prep ArrayList for immutability in 3.1 per 7673
...
ArrayList had several methods that should act on a copy and return
that copy, but was instead mutating the existing list.
We cant change this behaviour in the 3.0 line for backwards compt.
reasons, but this makes the desired behavior the default, and
makes disabling the mutation in 3.1 easier
2012-07-20 14:55:44 +12:00
Hamish Friedlander
c9b3430470
Update docs to indicate lists not mutable as per 7673
2012-07-20 14:51:12 +12:00
Ingo Schommer
3ae8b0b665
Merge remote-tracking branch 'origin/3.0'
2012-07-18 15:00:06 +02:00
Ingo Schommer
e0477321d3
Merge pull request #651 from willrossi/enumtidyup
...
API: Renamed EnumField::Lower() and EnumField::Upper() to LowerCase() and UpperCase()
2012-07-17 23:43:00 -07:00
Hamish Friedlander
e8cd675c94
BUG trac 7482 couldnt publish composite fields to live
...
When publishing to live, DataObject#forceChange is called, which wasnt correctly loading
in fields that were lazy (unloaded) if those fields were from composite fields
like Money. The end result is that any Money values would be forced to null on
publish to live
Also changes the API of the (internal, protected) loadLazyFields method so that
not passing a class argument just unlazys all lazy fields regardless of source table
2012-07-18 16:28:24 +12:00
Hamish Friedlander
69928631fe
BUG trac 7482, we werent unlazying composite fields right
...
In getField we check if the field we are getting is currently lazy (unloaded), and
load it if it is. This was only working for simple fields though - composite
fields like Money werent working
2012-07-18 16:25:37 +12:00
Will Rossiter
a38bfc577c
API: Deprecate EnumField::Lower() and EnumField::Upper() to LowerCase() and UpperCase() for consistency with StringField
2012-07-18 11:54:42 +12:00
Mateusz Uzdowski
70dcb55fe0
BUG Use prepStringForDB consistently across the framework.
...
Also remove a line from DBFieldTest, it's redundant with the previous
line.
Ref: os7229
2012-07-17 14:27:58 +12:00
Ingo Schommer
712f28bc78
Scoped deprecation messages ( fixes #7645 )
2012-07-13 11:37:35 +02:00
Ingo Schommer
55c348d01b
Merge pull request #621 from chillu/pull/dbdatetimetest-offsets
...
Skip tests rather than throw PHP error on wrong offests in DBDatetimeTest
2012-07-06 02:34:19 -07:00
Ingo Schommer
e00c87541e
Merge pull request #618 from chillu/pull/deprecate-profiler
...
API Deprecated Profiler class, removed related debug GET params
2012-07-05 13:43:37 -07: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
Ingo Schommer
683d420247
NEW Database->supportsTimezoneOverride()
2012-07-05 16:16:36 +02:00
Ingo Schommer
0fe515e182
API Deprecated Profiler class, removed related debug GET params
...
Use third party tools like XHProf instead.
Removed defunct or unnecessary debug GET parameters:
debug_profile, debug_memory, profile_trace, debug_javascript, debug_behaviour
2012-07-05 12:02:06 +02:00
Hamish Friedlander
890f7e3919
BUG $db in extensions not inited early enough ( #7598 )
...
When querying DataObjects by a generic parent class (like SiteTree for instance), fields added via $db
set on child classes wouldnt appear.
This is because Object::__construct wasnt called early enough in DataObject::__construct, so
extensions werent initialised when $db was first accessed
2012-07-02 17:25:14 +12:00
Simon Welsh
cd0a1ff623
FIX DataQuery::applyRelation was returning the base class.
...
If the applyRelation() was passed a relation that went to a class with a parent
class with a database table, applyRelation would return the name of the parent
class, rather than the class the relation was actually too.
2012-06-29 21:54:48 +12:00
Will Rossiter
4ee709e88d
FIX: ensure limits to SQLQuery are passed as positive values
2012-06-29 19:40:28 +12:00
Ingo Schommer
63afdba7a5
Merge pull request #584 from silverstripe-droptables/ssexpress
...
BUG: notify PaginatedList the full-text results are already limited.
2012-06-27 23:59:01 -07:00
Mateusz Uzdowski
3141e713b7
BUG: notify PaginatedList the full-text results are already limited.
...
PaginatedList needs to be notified about this, otherwise it will
errorneously try to further limit the already limited set, making the
subsequent pages empty.
2012-06-28 13:19:13 +12:00
Sam Minnee
b654b95472
BUGFIX: Allow Versioned::get_latest_version() and Version::get_version() to return results if the classname has changed.
...
Without this bugfix, if you had a Page that used to be a SiteTree, and you tried to use Versiond::get_version() or Versioned::get_latest_version() to return the older SiteTree version, nothing would be returned, because the results were being filtered by ClassName. This caused bugs in the history panel for certain combinbations of page classname alteration.
2012-06-28 13:00:40 +12:00
Ingo Schommer
34a2ce23d8
NEW Documentation for Versioned
2012-06-27 16:09:31 +02:00
Ingo Schommer
868d3697fd
Fixed usage of DataList etc in docs ( fixes #7518 )
2012-06-27 16:09:31 +02:00
Simon Welsh
070ba56104
FIX DataQuery::applyRelation was returning the base class.
...
If the applyRelation() was passed a relation that went to a class with a parent
class with a database table, applyRelation would return the name of the parent
class, rather than the class the relation was actually too.
2012-06-25 11:34:02 +12:00
Andrew Short
119da09549
BUG Fixed DataList filtering and excluding by ID.
...
If a filter or exclude by ID was applied across more than one table it
would throw an ambiguous column error as the table name was not specified.
2012-06-25 10:16:18 +12:00
Sam Minnee
1b5768975c
BUG: exclude() clears previously selected filters() (Trac #7529 )
...
This bug was caused by the fact that SQLQuery::whereAny() removed existing filters. In line with addWhere() and setWhere(), I split this into addWhereAny() and setWhereAny(). Strictly speaking, this drops the method SQLQuery::whereAny(), but it was really just an internal function for exclude, and so I think that's acceptable.
2012-06-22 16:31:29 +12:00
Ingo Schommer
3a7128d00c
MINOR Fixed phpdocs
2012-06-20 23:59:16 +02:00
Ingo Schommer
88582e7483
Revert "BUGFIX Aborting marking in Hierarchy->markPartialTree() before loading nodes, if the expected node count would exceed the totals (regardless of the in-memory marking state)"
...
This reverts commit f1bf0d0fc4
. Fixes #7481
2012-06-15 11:53:33 +02:00
Sam Minnée
d014b4d106
Merge pull request #539 from simonwelsh/transliterator_rename
...
API CHANGE Renames Transliterator to SS_Transliterator
2012-06-14 20:59:56 -07:00
Simon Welsh
9bd7765272
API CHANGE Renames Transliterator to SS_Transliterator
...
The intl extension in PHP 5.4 provides a Transliterator class, which
conflicts with the SilverStripe one. This leads to some really weird
ReflectionExceptions about Transliterator's constructor being
private.
2012-06-15 15:54:47 +12:00
Sean Harvey
538bcdc74d
BUGFIX Ensure that the DataList is being used correctly when applying filters in HtmlEditorField and Hierarchy
2012-06-15 15:49:22 +12:00
Sam Minnee
a1e7c1f9bf
BUGFIX: Updated MySQLDatabase::indexList() to return index columns escaped by double quotes
2012-06-15 13:25:50 +12:00
Sam Minnée
a93dd9459e
Merge pull request #496 from sminnee/dataquery-aggregate
...
Dataquery aggregate
2012-06-14 17:20:35 -07:00
Sam Minnée
aebfea7f68
Merge pull request #505 from schmengler/index-fix
...
BUGFIX: Added double quotes to column names in automatically generated i...
2012-06-14 17:19:48 -07:00
Sean Harvey
0a2e877625
MINOR Remove PostgreSQLDatabase boolean workaround in
...
DataObject::__construct()
The database adapter uses smallint instead of the boolean datatype,
which works around the issue instead of converting the value.
2012-06-12 14:21:59 +12:00
Sean Harvey
59e68f16da
MINOR Remove MSSQLDatabase date/datetime workarounds from DataObject::__construct()
...
These are being handled by the MSSQLDatabase class in the mssql module
instead, which keeps the workarounds separated from the framework core.
2012-06-12 12:25:15 +12:00
Sam Minnee
1aefc0aa94
BUGFIX: Ensure that extensio arugments are passed when temporarily instantiating for setting up statics.
2012-06-11 22:56:11 +12: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 Minnee
e19ab7aa5a
BUGFIX: Ensure that DataList::filter() doesn't modify the original object.
2012-06-06 16:13:54 +12:00
Sam Minnee
0821f021cc
API CHANGE: Added DataList::filterByCallback() to allow filtering by PHP code.
2012-06-06 16:12:05 +12:00
Sam Minnee
780f2d2b16
API CHANGE: Added DataQuery::aggregate() to allow for aggregates beyond Min, Max, Avg, Sum.
2012-06-06 16:12:05 +12:00
Sean Harvey
13be7cb2b9
BUGFIX Ensure that enum values with a single quote are escaped correctly for PHP coming out of MySQL ('' to \'), otherwise dev/build shows these as changed all the time.
2012-06-06 10:39:00 +12:00
Fabian Schmengler
afdd8683e4
BUGFIX: Added double quotes to column names in automatically generated indexes for many_many relationships (this time in the right place, should not interfere with index name - all tests pass)
2012-06-05 11:51:04 +02:00
Sam Minnee
5499079c1c
BUGFIX: Fixed ORM bugs introduced in ec55468932
2012-06-05 11:07:19 +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
Sam Minnée
90378b0998
Merge pull request #504 from schmengler/namespace-fixes-rc1
...
BUGFIX: Handling of classes with namespaces in database
2012-06-04 15:31:26 -07:00
Fabian Schmengler
ec55468932
BUGFIX: Handling of classes with namespaces in database
...
MySQLDatabase::enumValuesForField() - Added stripslashes because backslashes are escaped in the type description
DataObject::requireTable() - Added double quotes to column names in automatically generated indexes for many_many relationships
DataObject::write() - Escaped class name for DB query
DataQuery::getFinalisedQuery() - Escaped class names for DB query
2012-06-04 20:22:37 +02: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
c4a1523fac
Merge pull request #465 from halkyon/aggregate_fixes
...
Deprecated aggregates fix
2012-05-30 02:04:36 -07:00
Sean Harvey
909c5bd3b1
MINOR Fixed spelling error
2012-05-29 20:10:34 +12:00
Sean Harvey
f43273f217
MINOR Provide a better error if incorrect number of arguments are passed
...
to filter() or exclude() on a DataList
2012-05-29 20:09:36 +12:00
Sean Harvey
792c89e103
ENHANCEMENT Adding List() in the GenericTemplateGlobalProvider so
...
templates can use <% cached List(Member).max(LastEdited) %> instead
of deprecated "Aggregate" syntax.
2012-05-29 20:04:51 +12: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
862d7f249b
MINOR If $containerClass passed in to DataObject::get() isn't DataList,
...
use Deprecation::notice() instead of throwing a notice
2012-05-28 21:12:06 +12:00
Sean Harvey
9074f524cc
BUGFIX Fixing regression in Boolean::scaffoldSearchField()
2012-05-24 14:13:55 +12:00
Sam Minnée
c5616f8724
Merge pull request #487 from nyeholt/injector_bugfixes
...
Change singleton and strong_create to use dependency injector, with additional fixes to existing classes to behave correctly
2012-05-23 18:46:48 -07:00
Sean Harvey
1ed5e3c9be
Merge pull request #485 from halkyon/deprecate_director_statics_for_controller
...
Deprecate director controller static functions
2012-05-23 15:54:57 -07:00
Marcus Nyeholt
82495f5a7e
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
BUGFIX: Provide default constructor values for classes (fixes issues when used in 'singleton' scenario during dev/build in particular)
MINOR Clear out injector state when resetting db schema during tests (a follow on from changing singleton() calls to use the injector underneath)
2012-05-23 21:10:04 +10:00
Sean Harvey
60c72c40d9
API CHANGE Use of the DropdownField $emptyString argument is now
...
properly deprecated (has been marked as deprecated since 2.3). Please
use setEmptyString() on the DropdownField instance instead.
2012-05-23 22:59:40 +12:00
Sean Harvey
77c2365b87
MINOR Replacing deprecated static function calls to Director with
...
current Controller instance replacements.
2012-05-23 21:50:02 +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
Sean Harvey
e5e8f489a2
Merge branch (pull request #247 ) 'template-global-fixes' of https://github.com/sminnee/sapphire into sminnee-template-global-fixes
2012-05-19 15:39:59 +12:00
Yuki Awano
c04b01fc2a
BUGFIX Changed Date.php and DateTime.php to use DateTime->Format instead of strtotime to handle extended dates on 32bit environment( fixes #7311 )
2012-05-18 16:09:38 +09:00
Sam Minnee
7201f06476
API CHANGE: Added new config option Money.default_currency.
2012-05-18 16:15:13 +12:00
Ingo Schommer
8f2ede8fcf
MINOR Fixed syntax errors from SQLQuery/DataQuery cleanup
2012-05-16 13:17:19 +02:00
Ingo Schommer
3a11c690ed
MINOR Updated security documentation (phpdoc and markdown) around new DataList and SQLQuery APIs, additional automatic escaping on some stricter inputs like column names
2012-05-16 11:59:22 +02:00
Ingo Schommer
9326d9e60e
BUGFIX Fixing SQLQuery->getFilter() usage of non-existent method (removed during refactoring of pull request), more accurate deprecation notice
2012-05-15 21:29:43 +02:00
Sean Harvey
b1104dac25
BUGFIX Don't try lazy loading fields when the record ID is set to something non-numeric, otherwise you'll get a SQL error.
2012-05-15 17:18:50 +12:00
Sean Harvey
a53cca8932
MINOR Renaming getFieldSet with getFieldList in FormScaffolder
2012-05-14 15:03:22 +12:00
Sean Harvey
0fe0d87d9f
Merge pull request #434 from halkyon/using_non_deprecated_template_controls
...
Replacing use of deprecated <% control %> with <% with %> or <% loop %> as necessary
2012-05-11 15:08:16 -07:00
Ingo Schommer
13c9011082
Merge pull request #430 from halkyon/getallfields_fixes
...
MINOR Fixing use of deprecated getAllFields(), mark field as deprecated ...
2012-05-11 01:04:38 -07:00
Sean Harvey
6f672e5f36
MINOR Fixing use of <% control %> with <% with %> or <% loop %> as necessary.
2012-05-11 13:49:20 +12:00
Sean Harvey
46f51d5653
MINOR Fixing deprecated use of SQLQuery
2012-05-11 11:39:06 +12:00
Sean Harvey
1859070fa9
MINOR Fixing use of deprecated getAllFields(), mark field as deprecated properly.
2012-05-11 11:23:24 +12:00
Sean Harvey
56e75b4486
MINOR Revert changes for 5.4
2012-05-10 14:11:33 +12:00
Sean Harvey
f30a3bd760
BUGFIX Database::doesSchemaNeedUpdating() if schemaUpdateTransaction is NULL, then return FALSE. If schemaUpdateTransaction is an array, then return TRUE. This replaces the automatic casting which is not clear.
2012-05-10 13:58:29 +12:00
Ingo Schommer
8281678d4c
BUGFIX Urlencode paths in URLSegmentFilter when $allowMultibyte=true to avoid creating invalid URLs (and breaking assumptions based on ascii-only URLs, such as static publishing filename creation)
2012-05-08 15:32:15 +02:00
Ingo Schommer
59d31c2fc2
MINOR Removed mbstring support checks, its an installation requirement
2012-05-08 15:32:15 +02:00
Sean Harvey
7c272d3139
MINOR SQLQuery doc cleanup
2012-05-07 17:11:10 +12:00
Sean Harvey
3bc1da0543
MINOR Tidy up of SQLQuery constructor docs and default args, limit is
...
stored internally as an array, not a string.
2012-05-07 17:07:30 +12:00
Sean Harvey
bb9ffd2eb1
ENHANCEMENT SQLQuery::selectField() returns a SQLQuery object to be
...
consistent with how the other add/set methods work.
MINOR Fixing DbDatetimeTest to use the correct selectField to select an
alias
2012-05-07 16:59:42 +12:00
Sean Harvey
e50f90bf8e
BUGFIX Ensure end bracket for HAVING clause is put in the right place
2012-05-07 16:36:05 +12: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
Ingo Schommer
68051fdb96
Merge pull request #371 from halkyon/sapphire
...
---
Dont start the session until its actually necessary, which is to say there is a cookie available with the current PHP session name (or a request variable with the session_name() - typically PHPSESSID.) The latter allows for passing session ID through as an alternative to cookies.
2012-05-03 14:58:09 +02:00
Sean Harvey
37369abf1d
BUGFIX Fixing SortColumn alias to be recognised by MSSQL/PGSQL
2012-05-03 12:02:21 +12:00
Sean Harvey
151abde17d
Merge pull request #388 from chillu/trac/7170-i18n-sprintf-injections
...
#7170 i18n sprintf injections
2012-05-02 16:18:30 -07:00
Sam Minnée
a004acfb59
Merge pull request #381 from AngryPHPNerd/patch-2
...
MINOR: Colliding field check runs twice
2012-05-02 14:14:40 -07:00
Ingo Schommer
7b18d9d0da
MINOR Switching _t() calls from sprintf() to using injection parameters ( #7170 )
2012-05-01 22:17:00 +02:00
Ingo Schommer
2288d80c30
Merge pull request #387 from sminnee/sapphire
...
---
The primary goal of this branch was to fix the sort bugs in AssetAdmin, however, it started a bit of a yak shave in that the API around SQLQuery was poor. The biggest change that this pull request makes is it changes the format of SQLQuery::$select to contain aliases as array keys (and consistently puts the "implicit alias" in there to assist with various query generation logic), but it also makes a bunch of changes to avoid direct access of that property.
2012-05-01 17:57:03 +02:00
Sam Minnee
2207e3d978
API CHANGE: Add SQLQuery::prepareSelect(), to further remove the need for direct property access.
...
API CHANGE: Change the format of SQLQuery::$select to use aliases as keys.
2012-05-01 18:15:11 +12:00
Sam Minnee
a8e8a6060a
BUGFIX: Fixed errors caused by complex raw SQL sort() calls. ( #7236 )
2012-05-01 18:15:08 +12:00
Sam Minnee
5abf8cf0f3
BUGFIX: Don't select *any* column() in DataQuery::initialiseQuery(); leave that until finaliseQuery(). It shouldn't be necessary and just risks field collisions.
2012-05-01 17:57:44 +12:00
Sam Minnee
8661164c19
API CHANGE: Add SQLQuery::clearSelect(), SQLQuery::selectField() and SQLQuery::itemisedSelect() to make it easier for other subsystems to use SQLQuery without resorting to direct property access.
...
API CHANGE: Remove DataQuery::select() in place of DataQuery::selectField().
BUGFIX: Remove direct property access to SQLQuery::$select
2012-05-01 17:57:39 +12:00
Sean Harvey
0882741f54
API CHANGE Renamed setModel for DataModel instances to setDataModel for
...
semantics, and also to allow a field name called "Model"
2012-05-01 14:45:44 +12:00
Sean Harvey
c84254c5b1
API CHANGE Rename SQLQuery prepareSelect to prepareWhere
2012-05-01 12:04:11 +12:00
Dominik Beerbohm
fdd5e71ba9
ENHANCEMENT: Remove unnecessary NULL check.
2012-04-30 13:44:31 +03:00
Robert Curry
ff6909df97
ENHANCEMENT: Add lazy loading to DataQuery.
2012-04-30 16:12:15 +12:00
Sean Harvey
80575a0e5e
MINOR Re-adding getFilter as a deprecated method instead of removing it
2012-04-27 16:56:07 +12:00
Sean Harvey
f63d137d49
ENHANCEMENT Session::start() now only called when there is changed
...
session data to be saved, and started on Director::direct() when there
is a cookie (or request var) containing the current PHP session name.
2012-04-27 16:28:46 +12:00
Will Rossiter
9938b64cf6
FEATURE: implement SS_Sortable->reverse()
...
API CHANGE: SQLQuery:: now an array object rather than string. Existing strings will continue to work
2012-04-27 15:54:14 +12:00
Mateusz Uzdowski
6469d83569
API CHANGE: add a remote relation class getter to DataObject
2012-04-23 15:01:55 +12:00
Sean Harvey
1683299d81
MINOR Ignore any values that come through as arrays in DataObject::cache_composite_fields()
2012-04-20 15:25:52 +12:00
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