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
This is a necessity for any further 3.1 pushes of master files to getlocalization.
Because we'd otherwise remove existing master strings for CTF etc,
which means we can no longer backport new translations to 3.0
(and there's no way for users to contribute translations to 3.0 via getlocalization).
It's still a very monolithic class, but at least I've refactored it to return
all collected strings without writing it to files (for easier testing).
The entire framework repo (with the exception of system-generated files) has been amended to respect the 120c line-length limit. This is in preparation for the enforcement of this rule with PHP_CodeSniffer.
From: Andrew Short <andrewjshort@gmail.com>
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88992 467b73ca-7a2a-4603-9d3b-597d59a354a9
MINOR added QuarterHourly scheduled tasks, tidied documentation a little bit
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84569 467b73ca-7a2a-4603-9d3b-597d59a354a9
MINOR Added "unselect all" and better permission checks to RemoveOrphanedPagesTask (from r78478)
MINOR Fixed visibility of RemoveOrphanedPagesTask->getOrphanedPages() (from r78486)
ENHANCEMENT Allow rebasing of orphans in a subfolder for RemoveOrphanedPagesTask (from r78494)
MINOR set_time_limit for RemoveOrphanedPagesTask (from r78495)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@81471 467b73ca-7a2a-4603-9d3b-597d59a354a9
MINOR Renamed internal property Translatable::$reading_lang to $current_lang
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@77006 467b73ca-7a2a-4603-9d3b-597d59a354a9
API CHANGE Changed Translatable datamodel to use locales ("en_US") instead of lang values ("en).
API CHANGE Changed Translatable::$default_lang to $default_locale, Translatable::$reading_lang to $reading_locale
API CHANGE Using "locale" instead of "lang" in Translatable::choose_site_lang() to auto-detect language from cookies or GET parameters
API CHANGE Deprecated Translatable::is_default_lang(), set_default_lang(), get_default_lang(), current_lang(), set_reading_lang(), get_reading_lang(), get_by_lang(), get_one_by_lang()
API CHANGE Removed Translatable::get_original() - with the new "translation groups" concept there no longer is an original for a translation
BUGFIX Updated MigrateTranslatableTask to new Locale based datamodel
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@73468 467b73ca-7a2a-4603-9d3b-597d59a354a9
BUGFIX: Fix translatable migration not writing records to Live properly
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@70080 467b73ca-7a2a-4603-9d3b-597d59a354a9
MINOR Documentation for Task* classes
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@67018 467b73ca-7a2a-4603-9d3b-597d59a354a9