Changing calls from date to strftime in TimeHelper
Implementing TimeHelper::converSpecifiers() to conver format strings to be windows safe and I18n friendly
Implementing TimeHelper::i18nFormat() to format dates with preferred locale date format
Changing TimeHelper::format() to handle inversion of first two parameters, while being backwards compatible. If called with the first parameter as a time string it will call TimeHelper::i18nFormat()
Example singular usage: !__d('plugin_name', $string, true); returns translated singular string from pluginsPath/plugin_name/locale/"language"/LC_MESSAGE/plugin_name.(po/mo).
Example plural usage: sprintf(!__dn('plugin_name', '%d = 1', '%d = 0 or > 1', $number, true), $number ); returns translated plural strings from pluginsPath/plugin_name/locale/"language"/LC_MESSAGE/plugin_name.(po/mo).
Closes#5007, Support for multiple additional locale paths. Configure::write('localePaths', $paths); accepts an array of $paths. $localePaths = array(); can also be used in bootstrap.php
Added Configure::$shellPaths; additional paths can be set in bootstrap.php $shellPaths = array();
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@7754 3807eeeb-6ff5-0310-8944-8be069107fe0
Fix cache but causing object_map to be created and deleted on each request.
Replacing function and method calls with better performing code.
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@7596 3807eeeb-6ff5-0310-8944-8be069107fe0
Adding ability to change translations on the fly
Example: Configure::write('Config.language', 'locale');
Same setting can be used to define you own locale
Example: Configure::write('Config.language', 'somename');
Added ability to set additional directory paths for locale directory
Example: Configure::write('Locale.path', DS . 'directory'. DS . 'locale');
Fixed merging of core translations, if present."
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6905 3807eeeb-6ff5-0310-8944-8be069107fe0
Implemented Validation::extension(); and Vaidation::range();
Updated copyright notices in all files"
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6296 3807eeeb-6ff5-0310-8944-8be069107fe0
Closes#3539Fixes#3611, Cannot redeclare loadmodels
Fixes#3622, loadControllers() and loadModels() look in wrong folders for AppController resp. AppModel
Added trigger_error to all deprecated functions in basics.php
Refactored I18n class to remove debug_backtrace() usage in basics.php, all translations should be placed in a default.po or .mo file from this point forward.
_ _d() function should be used if domain specific translations are used.
Core translations can be placed in app/locales/{lang}/LC_MESSAGES/core.po or .mo these will now be merged with the specified language strings from default.po will replace the core message strings
All translations are now cached to improve performance.
"
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6065 3807eeeb-6ff5-0310-8944-8be069107fe0
Closes#2213, Support multiple plugin paths.
Closes#2234, filepaths to behavior classes should be cached in class.paths.php also
Closes#2345, ability to group components into subfolders
Closes#2645, Improvement to basic.php for class loading.
Fixes#3526, Cache::write, when using just the config name, it fails.
Fixes#3559, loading plugin model as assoc don't work.
Closes#3567 Controller Folders (Note this does not need routing to work, but controller names can not conflict with others in the same application so naming must still be unique)
Fixes#3579, email.php component: Parse error with php 4.
Adding new class and file importer.
Updated most of the core to use the importer.
Added ClassRegsitry::init() that will create and instance of an object and store it in the registry.
Deprecated most of the load functions in basics.php
Plugin model loading now forces using the dot notation, to use models within a plugin, all the model associations must be in the PluginName.Model syntax, if this is not used, the plugin will look for the models in the main app/models directory first, if not found then it will search the plugin directories recursively until it finds a model.
var $belongsTo = array('SomeModel'); will look for some_model.php in the app/models
var $belongsTo = array('MyPlugin.SomeModel'); will look for some_model.php in my_plugin/models
var $belongsTo = array('MyPlugin.MyPlugin', 'SomeModel'); will used my_plugin/models/my_plugin.php and app/models/some_model.php
The controllers of the plugin will still look for the default models inside the plugin if var $uses is not set:
var $uses = array('SomeModel'); will look for some_model.php in the app/models
var $uses = array('MyPlugin.SomeModel'); will look for some_model.php in my_plugin/models
var $uses = array('MyPlugin.MyPlugin', 'SomeModel'); will used my_plugin/models/my_plugin.php and app/models/some_model.php
All of the above will work between plugins and main app
These changes also allow placing model and controllers is sub directories
Removed old class.paths.php file generation
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6001 3807eeeb-6ff5-0310-8944-8be069107fe0