Merge remote branch 'origin/2.0' into 2.0-class-loading

Conflicts:
	lib/Cake/Model/ConnectionManager.php
	lib/Cake/basics.php
This commit is contained in:
José Lorenzo Rodríguez 2010-12-05 23:43:58 -04:30
commit 3f64844de9
97 changed files with 827 additions and 438 deletions

View file

@ -35,12 +35,7 @@
* sqlite - SQLite (PHP5 only),
* postgres - PostgreSQL 7 and higher,
* mssql - Microsoft SQL Server 2000 and higher,
* db2 - IBM DB2, Cloudscape, and Apache Derby (http://php.net/ibm-db2)
* oracle - Oracle 8 and higher
* firebird - Firebird/Interbase
* sybase - Sybase ASE
* adodb-[drivername] - ADOdb interface wrapper (see below),
* odbc - ODBC DBO driver
*
* You can add custom database drivers (or override existing drivers) by adding the
* appropriate file to app/models/datasources/dbo. Drivers should be named 'dbo_x.php',
@ -49,12 +44,6 @@
* persistent => true / false
* Determines whether or not the database should use a persistent connection
*
* connect =>
* ADOdb set the connect to one of these
* (http://phplens.com/adodb/supported.databases.html) and
* append it '|p' for persistent connection. (mssql|p for example, or just mssql for not persistent)
* For all other databases, this setting is deprecated.
*
* host =>
* the host you connect to the database. To add a socket or port number, use 'port' => #
*
@ -63,11 +52,11 @@
* on a per-table basis with the Model::$tablePrefix property.
*
* schema =>
* For Postgres and DB2, specifies which schema you would like to use the tables in. Postgres defaults to
* For Postgresspecifies which schema you would like to use the tables in. Postgres defaults to
* 'public', DB2 defaults to empty.
*
* encoding =>
* For MySQL, MySQLi, Postgres and DB2, specifies the character encoding to use when connecting to the
* For MySQL, MySQLi, Postgres specifies the character encoding to use when connecting to the
* database. Uses database default.
*
*/

View file

@ -55,7 +55,7 @@ class ConsoleErrorHandler extends ErrorHandler {
*
* @return void
*/
public static function handleException($exception) {
public static function handleException(Exception $exception) {
$stderr = self::getStderr();
$stderr->write(sprintf(
__("<error>Error:</error> %s\n%s"),
@ -75,8 +75,8 @@ class ConsoleErrorHandler extends ErrorHandler {
}
$stderr = self::getStderr();
list($name, $log) = self::_mapErrorCode($code);
$message = sprintf(__('%s in [%s, line %s]'), $description, $file, $line);
$stderr->write(sprintf(__("<error>%s Error:</error> %s\n"), $name, $message));
$message = __('%s in [%s, line %s]', $description, $file, $line);
$stderr->write(__("<error>%s Error:</error> %s\n", $name, $message));
if (Configure::read('debug') == 0) {
App::import('Core', 'CakeLog');

View file

@ -75,7 +75,7 @@ class ConsoleInputArgument {
$optional = __(' <comment>(optional)</comment>');
}
if (!empty($this->_choices)) {
$optional .= sprintf(__(' <comment>(choices: %s)</comment>'), implode('|', $this->_choices));
$optional .= __(' <comment>(choices: %s)</comment>', implode('|', $this->_choices));
}
return sprintf('%s%s%s', $name, $this->_help, $optional);
}

View file

@ -82,10 +82,10 @@ class ConsoleInputOption {
public function help($width = 0) {
$default = $short = '';
if (!empty($this->_default) && $this->_default !== true) {
$default = sprintf(__(' <comment>(default: %s)</comment>'), $this->_default);
$default = __(' <comment>(default: %s)</comment>', $this->_default);
}
if (!empty($this->_choices)) {
$default .= sprintf(__(' <comment>(choices: %s)</comment>'), implode('|', $this->_choices));
$default .= __(' <comment>(choices: %s)</comment>', implode('|', $this->_choices));
}
if (!empty($this->_short)) {
$short = ', -' . $this->_short;

View file

@ -458,7 +458,7 @@ class ConsoleOptionParser {
foreach ($this->_args as $i => $arg) {
if ($arg->isRequired() && !isset($args[$i]) && empty($params['help'])) {
throw new RuntimeException(
sprintf(__('Missing required arguments. %s is required.'), $arg->name())
__('Missing required arguments. %s is required.', $arg->name())
);
}
}
@ -552,7 +552,7 @@ class ConsoleOptionParser {
*/
protected function _parseOption($name, $params) {
if (!isset($this->_options[$name])) {
throw new InvalidArgumentException(sprintf(__('Unknown option `%s`'), $name));
throw new InvalidArgumentException(__('Unknown option `%s`', $name));
}
$option = $this->_options[$name];
$isBoolean = $option->isBoolean();

View file

@ -90,14 +90,10 @@ class ShellDispatcher {
define('CAKE_CORE_INCLUDE_PATH', dirname(dirname(dirname(__FILE__))));
define('CAKEPHP_SHELL', true);
if (!defined('CORE_PATH')) {
if (function_exists('ini_set') && ini_set('include_path', CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ini_get('include_path'))) {
define('CORE_PATH', null);
} else {
define('CORE_PATH', CAKE_CORE_INCLUDE_PATH . DS);
}
}
}
}
/**
* Defines current working environment.

View file

@ -78,7 +78,7 @@ class AclShell extends Shell {
$out .= __('your core config to reflect your decision to use') . "\n";
$out .= __('DbAcl before attempting to use this script') . ".\n";
$out .= "--------------------------------------------------\n";
$out .= sprintf(__('Current ACL Classname: %s'), Configure::read('Acl.classname')) . "\n";
$out .= __('Current ACL Classname: %s', Configure::read('Acl.classname')) . "\n";
$out .= "--------------------------------------------------\n";
$this->err($out);
$this->_stop();
@ -135,9 +135,9 @@ class AclShell extends Shell {
$data['parent_id'] = $parent;
$this->Acl->{$class}->create();
if ($this->Acl->{$class}->save($data)) {
$this->out(sprintf(__("<success>New %s</success> '%s' created."), $class, $this->args[2]), 2);
$this->out(__("<success>New %s</success> '%s' created.", $class, $this->args[2]), 2);
} else {
$this->err(sprintf(__("There was a problem creating a new %s '%s'."), $class, $this->args[2]));
$this->err(__("There was a problem creating a new %s '%s'.", $class, $this->args[2]));
}
}
@ -152,9 +152,9 @@ class AclShell extends Shell {
$nodeId = $this->_getNodeId($class, $identifier);
if (!$this->Acl->{$class}->delete($nodeId)) {
$this->error(__('Node Not Deleted') . sprintf(__('There was an error deleting the %s. Check that the node exists'), $class) . ".\n");
$this->error(__('Node Not Deleted') . __('There was an error deleting the %s. Check that the node exists', $class) . ".\n");
}
$this->out(sprintf(__('<success>%s deleted.</success>'), $class), 2);
$this->out(__('<success>%s deleted.</success>', $class), 2);
}
/**
@ -176,7 +176,7 @@ class AclShell extends Shell {
if (!$this->Acl->{$class}->save($data)) {
$this->out(__('Error in setting new parent. Please make sure the parent node exists, and is not a descendant of the node specified.'), true);
} else {
$this->out(sprintf(__('Node parent set to %s'), $this->args[2]) . "\n", true);
$this->out(__('Node parent set to %s', $this->args[2]) . "\n", true);
}
}
@ -193,7 +193,7 @@ class AclShell extends Shell {
if (empty($nodes)) {
$this->error(
sprintf(__("Supplied Node '%s' not found"), $this->args[1]),
__("Supplied Node '%s' not found", $this->args[1]),
__('No tree returned.')
);
}
@ -230,9 +230,9 @@ class AclShell extends Shell {
extract($this->__getParams());
if ($this->Acl->check($aro, $aco, $action)) {
$this->out(sprintf(__('%s is <success>allowed</success>.'), $aroName), true);
$this->out(__('%s is <success>allowed</success>.', $aroName), true);
} else {
$this->out(sprintf(__('%s is <error>not allowed</error>.'), $aroName), true);
$this->out(__('%s is <error>not allowed</error>.', $aroName), true);
}
}
@ -305,9 +305,9 @@ class AclShell extends Shell {
if (empty($nodes)) {
if (isset($this->args[1])) {
$this->error(sprintf(__('%s not found'), $this->args[1]), __('No tree returned.'));
$this->error(__('%s not found', $this->args[1]), __('No tree returned.'));
} elseif (isset($this->args[0])) {
$this->error(sprintf(__('%s not found'), $this->args[0]), __('No tree returned.'));
$this->error(__('%s not found', $this->args[0]), __('No tree returned.'));
}
}
$this->out($class . " tree:");
@ -522,7 +522,7 @@ class AclShell extends Shell {
$conditions = array($class . '.' . $key => $this->args[1]);
$possibility = $this->Acl->{$class}->find('all', compact('conditions'));
if (empty($possibility)) {
$this->error(sprintf(__('%s not found'), $this->args[1]), __('No tree returned.'));
$this->error(__('%s not found', $this->args[1]), __('No tree returned.'));
}
return $possibility;
}
@ -558,7 +558,7 @@ class AclShell extends Shell {
if (is_array($identifier)) {
$identifier = var_export($identifier, true);
}
$this->error(sprintf(__('Could not find node using reference "%s"'), $identifier));
$this->error(__('Could not find node using reference "%s"', $identifier));
}
return Set::extract($node, "0.{$class}.id");
}

View file

@ -87,7 +87,7 @@ class ApiShell extends Shell {
}
} else {
$this->error(sprintf(__('%s not found'), $class));
$this->error(__('%s not found', $class));
}
$parsed = $this->__parseClass($path . $file .'.php', $class);
@ -95,7 +95,7 @@ class ApiShell extends Shell {
if (!empty($parsed)) {
if (isset($this->params['method'])) {
if (!isset($parsed[$this->params['method']])) {
$this->err(sprintf(__('%s::%s() could not be found'), $class, $this->params['method']));
$this->err(__('%s::%s() could not be found', $class, $this->params['method']));
$this->_stop();
}
$method = $parsed[$this->params['method']];
@ -200,7 +200,7 @@ class ApiShell extends Shell {
$parsed = array();
if (!include_once($path)) {
$this->err(sprintf(__('%s could not be found'), $path));
$this->err(__('%s could not be found', $path));
}
$reflection = new ReflectionClass($class);

View file

@ -114,7 +114,7 @@ class SchemaShell extends Shell {
$this->_stop();
} else {
$file = $this->Schema->path . DS . $this->params['file'];
$this->err(sprintf(__('Schema file (%s) could not be found.'), $file));
$this->err(__('Schema file (%s) could not be found.', $file));
$this->_stop();
}
}
@ -179,7 +179,7 @@ class SchemaShell extends Shell {
}
if ($this->Schema->write($content)) {
$this->out(sprintf(__('Schema file: %s generated'), $content['file']));
$this->out(__('Schema file: %s generated', $content['file']));
$this->_stop();
} else {
$this->err(__('Schema file: %s generated'));
@ -224,7 +224,7 @@ class SchemaShell extends Shell {
}
if ($File->write($contents)) {
$this->out(sprintf(__('SQL dump file created in %s'), $File->pwd()));
$this->out(__('SQL dump file created in %s', $File->pwd()));
$this->_stop();
} else {
$this->err(__('SQL dump could not be created'));
@ -283,7 +283,7 @@ class SchemaShell extends Shell {
$Schema = $this->Schema->load($options);
if (!$Schema) {
$this->err(sprintf(__('%s could not be loaded'), $this->Schema->path . DS . $this->Schema->file));
$this->err(__('%s could not be loaded', $this->Schema->path . DS . $this->Schema->file));
$this->_stop();
}
$table = null;
@ -394,10 +394,10 @@ class SchemaShell extends Shell {
foreach ($contents as $table => $sql) {
if (empty($sql)) {
$this->out(sprintf(__('%s is up to date.'), $table));
$this->out(__('%s is up to date.', $table));
} else {
if ($this->__dry === true) {
$this->out(sprintf(__('Dry run for %s :'), $table));
$this->out(__('Dry run for %s :', $table));
$this->out($sql);
} else {
if (!$Schema->before(array($event => $table))) {
@ -413,7 +413,7 @@ class SchemaShell extends Shell {
if (!empty($error)) {
$this->out($error);
} else {
$this->out(sprintf(__('%s updated.'), $table));
$this->out(__('%s updated.', $table));
}
}
}

View file

@ -558,7 +558,7 @@ class Shell extends Object {
* @param string $message An optional error message
*/
public function error($title, $message = null) {
$this->err(sprintf(__('<error>Error:</error> %s'), $title));
$this->err(__('<error>Error:</error> %s', $title));
if (!empty($message)) {
$this->err($message);
@ -594,18 +594,18 @@ class Shell extends Object {
$this->out();
if (is_file($path) && $this->interactive === true) {
$this->out(sprintf(__('<warning>File `%s` exists</warning>'), $path));
$this->out(__('<warning>File `%s` exists</warning>', $path));
$key = $this->in(__('Do you want to overwrite?'), array('y', 'n', 'q'), 'n');
if (strtolower($key) == 'q') {
$this->out(__('<error>Quitting</error>.'), 2);
$this->_stop();
} elseif (strtolower($key) != 'y') {
$this->out(sprintf(__('Skip `%s`'), $path), 2);
$this->out(__('Skip `%s`', $path), 2);
return false;
}
} else {
$this->out(sprintf(__('Creating file %s'), $path));
$this->out(__('Creating file %s', $path));
}
if (!class_exists('File')) {
@ -615,10 +615,10 @@ class Shell extends Object {
if ($File = new File($path, true)) {
$data = $File->prepare($contents);
$File->write($data);
$this->out(sprintf(__('<success>Wrote</success> `%s`'), $path));
$this->out(__('<success>Wrote</success> `%s`', $path));
return true;
} else {
$this->err(sprintf(__('<error>Could not write to `%s`</error>.'), $path), 2);
$this->err(__('<error>Could not write to `%s`</error>.', $path), 2);
return false;
}
}

View file

@ -79,7 +79,7 @@ class ControllerTask extends BakeTask {
if (!empty($this->params['admin'])) {
$admin = $this->Project->getPrefix();
if ($admin) {
$this->out(sprintf(__('Adding %s methods'), $admin));
$this->out(__('Adding %s methods', $admin));
$actions .= "\n" . $this->bakeActions($controller, $admin);
}
}
@ -125,7 +125,7 @@ class ControllerTask extends BakeTask {
protected function _interactive() {
$this->interactive = true;
$this->hr();
$this->out(sprintf(__("Bake Controller\nPath: %s"), $this->path));
$this->out(__("Bake Controller\nPath: %s", $this->path));
$this->hr();
if (empty($this->connection)) {
@ -134,7 +134,7 @@ class ControllerTask extends BakeTask {
$controllerName = $this->getName();
$this->hr();
$this->out(sprintf(__('Baking %sController'), $controllerName));
$this->out(__('Baking %sController', $controllerName));
$this->hr();
$helpers = $components = array();
@ -148,7 +148,7 @@ class ControllerTask extends BakeTask {
$question[] = __("Would you like to build your controller interactively?");
if (file_exists($this->path . $controllerFile .'_controller.php')) {
$question[] = sprintf(__("Warning: Choosing no will overwrite the %sController."), $controllerName);
$question[] = __("Warning: Choosing no will overwrite the %sController.", $controllerName);
}
$doItInteractive = $this->in(implode("\n", $question), array('y','n'), 'y');
@ -213,7 +213,7 @@ class ControllerTask extends BakeTask {
$this->hr();
$this->out(__('The following controller will be created:'));
$this->hr();
$this->out(sprintf(__("Controller Name:\n\t%s"), $controllerName));
$this->out(__("Controller Name:\n\t%s", $controllerName));
if (strtolower($useDynamicScaffold) == 'y') {
$this->out("var \$scaffold;");

View file

@ -114,7 +114,7 @@ class ExtractTask extends Shell {
$this->__paths = explode(',', $this->params['paths']);
} else {
$defaultPath = APP_PATH;
$message = sprintf(__("What is the full path you would like to extract?\nExample: %s\n[Q]uit [D]one"), $this->Dispatch->params['root'] . DS . 'myapp');
$message = __("What is the full path you would like to extract?\nExample: %s\n[Q]uit [D]one", $this->Dispatch->params['root'] . DS . 'myapp');
while (true) {
$response = $this->in($message, null, $defaultPath);
if (strtoupper($response) === 'Q') {
@ -136,7 +136,7 @@ class ExtractTask extends Shell {
if (isset($this->params['output'])) {
$this->__output = $this->params['output'];
} else {
$message = sprintf(__("What is the full path you would like to output?\nExample: %s\n[Q]uit"), $this->__paths[0] . DS . 'locale');
$message = __("What is the full path you would like to output?\nExample: %s\n[Q]uit", $this->__paths[0] . DS . 'locale');
while (true) {
$response = $this->in($message, null, $this->__paths[0] . DS . 'locale');
if (strtoupper($response) === 'Q') {
@ -156,7 +156,7 @@ class ExtractTask extends Shell {
$this->__merge = !(strtolower($this->params['merge']) === 'no');
} else {
$this->out();
$response = $this->in(sprintf(__('Would you like to merge all domains strings into the default.pot file?')), array('y', 'n'), 'n');
$response = $this->in(__('Would you like to merge all domains strings into the default.pot file?'), array('y', 'n'), 'n');
$this->__merge = strtolower($response) === 'y';
}
@ -250,7 +250,7 @@ class ExtractTask extends Shell {
function __extractTokens() {
foreach ($this->__files as $file) {
$this->__file = $file;
$this->out(sprintf(__('Processing %s...'), $file));
$this->out(__('Processing %s...', $file));
$code = file_get_contents($file);
$allTokens = token_get_all($code);
@ -413,11 +413,11 @@ class ExtractTask extends Shell {
$response = '';
while ($overwriteAll === false && $File->exists() && strtoupper($response) !== 'Y') {
$this->out();
$response = $this->in(sprintf(__('Error: %s already exists in this location. Overwrite? [Y]es, [N]o, [A]ll'), $filename), array('y', 'n', 'a'), 'y');
$response = $this->in(__('Error: %s already exists in this location. Overwrite? [Y]es, [N]o, [A]ll', $filename), array('y', 'n', 'a'), 'y');
if (strtoupper($response) === 'N') {
$response = '';
while ($response == '') {
$response = $this->in(sprintf(__("What would you like to name this file?\nExample: %s"), 'new_' . $filename), null, 'new_' . $filename);
$response = $this->in(__("What would you like to name this file?\nExample: %s", 'new_' . $filename), null, 'new_' . $filename);
$File = new File($this->__output . $response);
$filename = $response;
}
@ -485,7 +485,7 @@ class ExtractTask extends Shell {
* @access private
*/
function __markerError($file, $line, $marker, $count) {
$this->out(sprintf(__("Invalid marker content in %s:%s\n* %s("), $file, $line, $marker), true);
$this->out(__("Invalid marker content in %s:%s\n* %s(", $file, $line, $marker), true);
$count += 2;
$tokenCount = count($this->__tokens);
$parenthesis = 1;

View file

@ -166,7 +166,7 @@ class FixtureTask extends BakeTask {
$options['records'] = true;
}
if ($doRecords == 'n') {
$prompt = sprintf(__("Would you like to build this fixture with data from %s's table?"), $modelName);
$prompt = __("Would you like to build this fixture with data from %s's table?", $modelName);
$fromTable = $this->in($prompt, array('y', 'n'), 'n');
if (strtolower($fromTable) == 'y') {
$options['fromTable'] = true;

View file

@ -112,7 +112,7 @@ class ModelTask extends BakeTask {
continue;
}
$modelClass = Inflector::classify($table);
$this->out(sprintf(__('Baking %s'), $modelClass));
$this->out(__('Baking %s', $modelClass));
$object = $this->_getModelObject($modelClass);
if ($this->bake($object, false) && $unitTestExists) {
$this->bakeFixture($modelClass);
@ -190,7 +190,7 @@ class ModelTask extends BakeTask {
$primaryKey = $this->findPrimaryKey($fields);
}
} else {
$this->err(sprintf(__('Table %s does not exist, cannot bake a model without a table.'), $useTable));
$this->err(__('Table %s does not exist, cannot bake a model without a table.', $useTable));
$this->_stop();
return false;
}
@ -218,16 +218,16 @@ class ModelTask extends BakeTask {
$this->out("Name: " . $currentModelName);
if ($this->connection !== 'default') {
$this->out(sprintf(__("DB Config: %s"), $this->connection));
$this->out(__("DB Config: %s", $this->connection));
}
if ($fullTableName !== Inflector::tableize($currentModelName)) {
$this->out(sprintf(__('DB Table: %s'), $fullTableName));
$this->out(__('DB Table: %s', $fullTableName));
}
if ($primaryKey != 'id') {
$this->out(sprintf(__('Primary Key: %s'), $primaryKey));
$this->out(__('Primary Key: %s', $primaryKey));
}
if (!empty($validate)) {
$this->out(sprintf(__('Validation: %s'), print_r($validate, true)));
$this->out(__('Validation: %s', print_r($validate, true)));
}
if (!empty($associations)) {
$this->out(__('Associations:'));
@ -367,8 +367,8 @@ class ModelTask extends BakeTask {
while ($anotherValidator == 'y') {
if ($this->interactive) {
$this->out();
$this->out(sprintf(__('Field: %s'), $fieldName));
$this->out(sprintf(__('Type: %s'), $metaData['type']));
$this->out(__('Field: %s', $fieldName));
$this->out(__('Type: %s', $metaData['type']));
$this->hr();
$this->out(__('Please select one of the following validation options:'));
$this->hr();
@ -378,7 +378,7 @@ class ModelTask extends BakeTask {
for ($i = 1; $i < $defaultChoice; $i++) {
$prompt .= $i . ' - ' . $this->_validations[$i] . "\n";
}
$prompt .= sprintf(__("%s - Do not do any validation on this field.\n"), $defaultChoice);
$prompt .= __("%s - Do not do any validation on this field.\n", $defaultChoice);
$prompt .= __("... or enter in a valid regex validation string.\n");
$methods = array_flip($this->_validations);
@ -646,7 +646,7 @@ class ModelTask extends BakeTask {
$this->hr();
$alias = $this->in(__('What is the alias for this association?'));
$className = $this->in(sprintf(__('What className will %s use?'), $alias), null, $alias );
$className = $this->in(__('What className will %s use?', $alias), null, $alias );
$suggestedForeignKey = null;
if ($assocType == 0) {
@ -800,7 +800,7 @@ class ModelTask extends BakeTask {
if (array_search($useTable, $this->_tables) === false) {
$this->out();
$this->out(sprintf(__("Given your model named '%s',\nCake would expect a database table named '%s'"), $modelName, $fullTableName));
$this->out(__("Given your model named '%s',\nCake would expect a database table named '%s'", $modelName, $fullTableName));
$tableIsGood = $this->in(__('Do you want to use this table?'), array('y','n'), 'y');
}
if (strtolower($tableIsGood) == 'n') {

View file

@ -56,8 +56,8 @@ class PluginTask extends Shell {
$plugin = Inflector::camelize($this->args[0]);
$pluginPath = $this->_pluginPath($plugin);
if (is_dir($pluginPath)) {
$this->out(sprintf(__('Plugin: %s'), $plugin));
$this->out(sprintf(__('Path: %s'), $pluginPath));
$this->out(__('Plugin: %s', $plugin));
$this->out(__('Path: %s', $pluginPath));
} else {
$this->_interactive($plugin);
}
@ -78,7 +78,7 @@ class PluginTask extends Shell {
}
if (!$this->bake($plugin)) {
$this->error(sprintf(__("An error occured trying to bake: %s in %s"), $plugin, $this->path . Inflector::underscore($pluginPath)));
$this->error(__("An error occured trying to bake: %s in %s", $plugin, $this->path . Inflector::underscore($pluginPath)));
}
}
@ -97,8 +97,8 @@ class PluginTask extends Shell {
$this->findPath($pathOptions);
}
$this->hr();
$this->out(sprintf(__("<info>Plugin Name:</info> %s"), $plugin));
$this->out(sprintf(__("<info>Plugin Directory:</info> %s"), $this->path . $pluginPath));
$this->out(__("<info>Plugin Name:</info> %s", $plugin));
$this->out(__("<info>Plugin Directory:</info> %s", $this->path . $pluginPath));
$this->hr();
$looksGood = $this->in(__('Look okay?'), array('y', 'n', 'q'), 'y');
@ -156,7 +156,7 @@ class PluginTask extends Shell {
$this->createFile($this->path . $pluginPath . DS . $modelFileName, $out);
$this->hr();
$this->out(sprintf(__('<success>Created:</success> %s in %s'), $plugin, $this->path . $pluginPath), 2);
$this->out(__('<success>Created:</success> %s in %s', $plugin, $this->path . $pluginPath), 2);
}
return true;

View file

@ -68,7 +68,7 @@ class ProjectTask extends Shell {
if ($project) {
$response = false;
while ($response == false && is_dir($project) === true && file_exists($project . 'config' . 'core.php')) {
$prompt = sprintf(__('<warning>A project already exists in this location:</warning> %s Overwrite?'), $project);
$prompt = __('<warning>A project already exists in this location:</warning> %s Overwrite?', $project);
$response = $this->in($prompt, array('y','n'), 'n');
if (strtolower($response) === 'n') {
$response = $project = false;
@ -89,23 +89,23 @@ class ProjectTask extends Shell {
if ($this->securitySalt($path) === true) {
$this->out(__(' * Random hash key created for \'Security.salt\''));
} else {
$this->err(sprintf(__('Unable to generate random hash for \'Security.salt\', you should change it in %s'), CONFIGS . 'core.php'));
$this->err(__('Unable to generate random hash for \'Security.salt\', you should change it in %s', CONFIGS . 'core.php'));
$success = false;
}
if ($this->securityCipherSeed($path) === true) {
$this->out(__(' * Random seed created for \'Security.cipherSeed\''));
} else {
$this->err(sprintf(__('Unable to generate random seed for \'Security.cipherSeed\', you should change it in %s'), CONFIGS . 'core.php'));
$this->err(__('Unable to generate random seed for \'Security.cipherSeed\', you should change it in %s', CONFIGS . 'core.php'));
$success = false;
}
if ($this->corePath($path) === true) {
$this->out(sprintf(__(' * CAKE_CORE_INCLUDE_PATH set to %s in webroot/index.php'), CAKE_CORE_INCLUDE_PATH));
$this->out(sprintf(__(' * CAKE_CORE_INCLUDE_PATH set to %s in webroot/test.php'), CAKE_CORE_INCLUDE_PATH));
$this->out(__(' * CAKE_CORE_INCLUDE_PATH set to %s in webroot/index.php', CAKE_CORE_INCLUDE_PATH));
$this->out(__(' * CAKE_CORE_INCLUDE_PATH set to %s in webroot/test.php', CAKE_CORE_INCLUDE_PATH));
$this->out(__(' * <warning>Remember to check these value after moving to production server</warning>'));
} else {
$this->err(sprintf(__('Unable to set CAKE_CORE_INCLUDE_PATH, you should change it in %s'), $path . 'webroot' .DS .'index.php'));
$this->err(__('Unable to set CAKE_CORE_INCLUDE_PATH, you should change it in %s', $path . 'webroot' .DS .'index.php'));
$success = false;
}
if ($this->consolePath($path) === true) {
@ -117,8 +117,8 @@ class ProjectTask extends Shell {
$Folder = new Folder($path);
if (!$Folder->chmod($path . 'tmp', 0777)) {
$this->err(sprintf(__('Could not set permissions on %s'), $path . DS .'tmp'));
$this->out(sprintf(__('chmod -R 0777 %s'), $path . DS .'tmp'));
$this->err(__('Could not set permissions on %s', $path . DS .'tmp'));
$this->out(__('chmod -R 0777 %s', $path . DS .'tmp'));
$success = false;
}
if ($success) {
@ -146,7 +146,7 @@ class ProjectTask extends Shell {
$skel = $this->params['skel'];
}
while (!$skel) {
$skel = $this->in(sprintf(__("What is the path to the directory layout you wish to copy?\nExample: %s"), APP, null, ROOT . DS . 'myapp' . DS));
$skel = $this->in(__("What is the path to the directory layout you wish to copy?\nExample: %s", APP, null, ROOT . DS . 'myapp' . DS));
if ($skel == '') {
$this->err(__('The directory path you supplied was empty. Please try again.'));
} else {
@ -172,10 +172,10 @@ class ProjectTask extends Shell {
if ($Folder->copy(array('to' => $path, 'skip' => $skip))) {
$this->hr();
$this->out(sprintf(__('<success>Created:</success> %s in %s'), $app, $path));
$this->out(__('<success>Created:</success> %s in %s', $app, $path));
$this->hr();
} else {
$this->err(sprintf(__("<error>Could not create</error> '%s' properly."), $app));
$this->err(__("<error>Could not create</error> '%s' properly.", $app));
return false;
}

View file

@ -206,7 +206,7 @@ class TemplateTask extends Shell {
return $templatePath;
}
}
$this->err(sprintf(__('Could not find template for %s'), $filename));
$this->err(__('Could not find template for %s', $filename));
return false;
}
}

View file

@ -92,13 +92,13 @@ class TestTask extends BakeTask {
$this->interactive = true;
$this->hr();
$this->out(__('Bake Tests'));
$this->out(sprintf(__('Path: %s'), $this->path));
$this->out(__('Path: %s', $this->path));
$this->hr();
if ($type) {
$type = Inflector::camelize($type);
if (!in_array($type, $this->classTypes)) {
$this->error(sprintf('Incorrect type provided. Please choose one of %s', implode(', ', $this->classTypes)));
$this->error(__('Incorrect type provided. Please choose one of %s', implode(', ', $this->classTypes)));
}
} else {
$type = $this->getObjectType();
@ -180,7 +180,7 @@ class TestTask extends BakeTask {
*/
public function getClassName($objectType) {
$options = App::objects(strtolower($objectType));
$this->out(sprintf(__('Choose a %s class'), $objectType));
$this->out(__('Choose a %s class', $objectType));
$keys = array();
foreach ($options as $key => $option) {
$this->out(++$key . '. ' . $option);

View file

@ -221,7 +221,7 @@ class ViewTask extends BakeTask {
$this->controllerPath = strtolower(Inflector::underscore($this->controllerName));
$prompt = sprintf(__("Would you like bake to build your views interactively?\nWarning: Choosing no will overwrite %s views if it exist."), $this->controllerName);
$prompt = __("Would you like bake to build your views interactively?\nWarning: Choosing no will overwrite %s views if it exist.", $this->controllerName);
$interactive = $this->in($prompt, array('y', 'n'), 'n');
if (strtolower($interactive) == 'n') {
@ -278,7 +278,7 @@ class ViewTask extends BakeTask {
if (!App::import('Controller', $import)) {
$file = $this->controllerPath . '_controller.php';
$this->err(sprintf(__("The file '%s' could not be found.\nIn order to bake a view, you'll need to first create the controller."), $file));
$this->err(__("The file '%s' could not be found.\nIn order to bake a view, you'll need to first create the controller.", $file));
$this->_stop();
}
$controllerClassName = $this->controllerName . 'Controller';
@ -339,9 +339,9 @@ class ViewTask extends BakeTask {
$this->hr();
$this->out(__('The following view will be created:'));
$this->hr();
$this->out(sprintf(__('Controller Name: %s'), $this->controllerName));
$this->out(sprintf(__('Action Name: %s'), $action));
$this->out(sprintf(__('Path: %s'), $this->params['app'] . DS . $this->controllerPath . DS . Inflector::underscore($action) . ".ctp"));
$this->out(__('Controller Name: %s', $this->controllerName));
$this->out(__('Action Name: %s', $action));
$this->out(__('Path: %s', $this->params['app'] . DS . $this->controllerPath . DS . Inflector::underscore($action) . ".ctp"));
$this->hr();
$looksGood = $this->in(__('Look okay?'), array('y','n'), 'y');
if (strtolower($looksGood) == 'y') {

View file

@ -77,7 +77,7 @@
$this->Session->setFlash(__('Invalid <?php echo strtolower($singularHumanName); ?>'));
$this->redirect(array('action' => 'index'));
<?php else: ?>
$this->flash(sprintf(__('Invalid <?php echo strtolower($singularHumanName); ?>')), array('action' => 'index'));
$this->flash(__('Invalid <?php echo strtolower($singularHumanName); ?>'), array('action' => 'index'));
<?php endif; ?>
}
if ($this->request->is('post')) {
@ -123,7 +123,7 @@
$this->Session->setFlash(__('Invalid id for <?php echo strtolower($singularHumanName); ?>'));
$this->redirect(array('action'=>'index'));
<?php else: ?>
$this->flash(sprintf(__('Invalid <?php echo strtolower($singularHumanName); ?>')), array('action' => 'index'));
$this->flash(__('Invalid <?php echo strtolower($singularHumanName); ?>'), array('action' => 'index'));
<?php endif; ?>
}
if ($this-><?php echo $currentModelName; ?>->delete($id)) {

View file

@ -47,7 +47,7 @@
<ul>
<?php if (strpos($action, 'add') === false): ?>
<li><?php echo "<?php echo \$this->Form->postLink(__('Delete'), array('action' => 'delete', \$this->Form->value('{$modelClass}.{$primaryKey}')), null, sprintf(__('Are you sure you want to delete # %s?'), \$this->Form->value('{$modelClass}.{$primaryKey}'))); ?>";?></li>
<li><?php echo "<?php echo \$this->Form->postLink(__('Delete'), array('action' => 'delete', \$this->Form->value('{$modelClass}.{$primaryKey}')), null, __('Are you sure you want to delete # %s?', \$this->Form->value('{$modelClass}.{$primaryKey}'))); ?>";?></li>
<?php endif;?>
<li><?php echo "<?php echo \$this->Html->link(__('List " . $pluralHumanName . "'), array('action' => 'index'));?>";?></li>
<?php

View file

@ -24,7 +24,7 @@ endif;
\$settings = Cache::settings();
if (!empty(\$settings)):
echo '<span class=\"notice success\">';
printf(__('The %s is being used for caching. To change the config edit APP/config/core.php '), '<em>'. \$settings['engine'] . 'Engine</em>');
echo __('The %s is being used for caching. To change the config edit APP/config/core.php ', '<em>'. \$settings['engine'] . 'Engine</em>');
echo '</span>';
else:
echo '<span class=\"notice\">';
@ -75,9 +75,9 @@ $output .= "<?php endif;?>\n";
$output .= "<h3><?php echo __('Editing this Page') ?></h3>\n";
$output .= "<p>\n";
$output .= "<?php\n";
$output .= "\tprintf(__('To change the content of this page, edit: %s\n";
$output .= "\techo __('To change the content of this page, edit: %s\n";
$output .= "\t\tTo change its layout, edit: %s\n";
$output .= "\t\tYou can also add some CSS styles for your pages at: %s'),\n";
$output .= "\t\tYou can also add some CSS styles for your pages at: %s',\n";
$output .= "\t\tAPP . 'views' . DS . 'pages' . DS . 'home.ctp.<br />', APP . 'views' . DS . 'layouts' . DS . 'default.ctp.<br />', APP . 'webroot' . DS . 'css');\n";
$output .= "?>\n";
$output .= "</p>\n";

View file

@ -55,7 +55,7 @@
echo "\t\t<td class=\"actions\">\n";
echo "\t\t\t<?php echo \$this->Html->link(__('View'), array('action' => 'view', \${$singularVar}['{$modelClass}']['{$primaryKey}'])); ?>\n";
echo "\t\t\t<?php echo \$this->Html->link(__('Edit'), array('action' => 'edit', \${$singularVar}['{$modelClass}']['{$primaryKey}'])); ?>\n";
echo "\t\t\t<?php echo \$this->Form->postLink(__('Delete'), array('action' => 'delete', \${$singularVar}['{$modelClass}']['{$primaryKey}']), null, sprintf(__('Are you sure you want to delete # %s?'), \${$singularVar}['{$modelClass}']['{$primaryKey}'])); ?>\n";
echo "\t\t\t<?php echo \$this->Form->postLink(__('Delete'), array('action' => 'delete', \${$singularVar}['{$modelClass}']['{$primaryKey}']), null, __('Are you sure you want to delete # %s?', \${$singularVar}['{$modelClass}']['{$primaryKey}'])); ?>\n";
echo "\t\t</td>\n";
echo "\t</tr>\n";

View file

@ -46,7 +46,7 @@ foreach ($fields as $field) {
<ul>
<?php
echo "\t\t<li><?php echo \$this->Html->link(__('Edit " . $singularHumanName ."'), array('action' => 'edit', \${$singularVar}['{$modelClass}']['{$primaryKey}'])); ?> </li>\n";
echo "\t\t<li><?php echo \$this->Form->postLink(__('Delete " . $singularHumanName . "'), array('action' => 'delete', \${$singularVar}['{$modelClass}']['{$primaryKey}']), null, sprintf(__('Are you sure you want to delete # %s?'), \${$singularVar}['{$modelClass}']['{$primaryKey}'])); ?> </li>\n";
echo "\t\t<li><?php echo \$this->Form->postLink(__('Delete " . $singularHumanName . "'), array('action' => 'delete', \${$singularVar}['{$modelClass}']['{$primaryKey}']), null, __('Are you sure you want to delete # %s?', \${$singularVar}['{$modelClass}']['{$primaryKey}'])); ?> </li>\n";
echo "\t\t<li><?php echo \$this->Html->link(__('List " . $pluralHumanName . "'), array('action' => 'index')); ?> </li>\n";
echo "\t\t<li><?php echo \$this->Html->link(__('New " . $singularHumanName . "'), array('action' => 'add')); ?> </li>\n";
@ -129,7 +129,7 @@ echo "\t<?php
echo "\t\t\t<td class=\"actions\">\n";
echo "\t\t\t\t<?php echo \$this->Html->link(__('View'), array('controller' => '{$details['controller']}', 'action' => 'view', \${$otherSingularVar}['{$details['primaryKey']}'])); ?>\n";
echo "\t\t\t\t<?php echo \$this->Html->link(__('Edit'), array('controller' => '{$details['controller']}', 'action' => 'edit', \${$otherSingularVar}['{$details['primaryKey']}'])); ?>\n";
echo "\t\t\t\t<?php echo \$this->Form->postLink(__('Delete'), array('controller' => '{$details['controller']}', 'action' => 'delete', \${$otherSingularVar}['{$details['primaryKey']}']), null, sprintf(__('Are you sure you want to delete # %s?'), \${$otherSingularVar}['{$details['primaryKey']}'])); ?>\n";
echo "\t\t\t\t<?php echo \$this->Form->postLink(__('Delete'), array('controller' => '{$details['controller']}', 'action' => 'delete', \${$otherSingularVar}['{$details['primaryKey']}']), null, __('Are you sure you want to delete # %s?', \${$otherSingularVar}['{$details['primaryKey']}'])); ?>\n";
echo "\t\t\t</td>\n";
echo "\t\t</tr>\n";

View file

@ -34,12 +34,7 @@
* sqlite - SQLite (PHP5 only),
* postgres - PostgreSQL 7 and higher,
* mssql - Microsoft SQL Server 2000 and higher,
* db2 - IBM DB2, Cloudscape, and Apache Derby (http://php.net/ibm-db2)
* oracle - Oracle 8 and higher
* firebird - Firebird/Interbase
* sybase - Sybase ASE
* adodb-[drivername] - ADOdb interface wrapper (see below),
* odbc - ODBC DBO driver
*
* You can add custom database drivers (or override existing drivers) by adding the
* appropriate file to app/models/datasources/dbo. Drivers should be named 'dbo_x.php',
@ -48,12 +43,6 @@
* persistent => true / false
* Determines whether or not the database should use a persistent connection
*
* connect =>
* ADOdb set the connect to one of these
* (http://phplens.com/adodb/supported.databases.html) and
* append it '|p' for persistent connection. (mssql|p for example, or just mssql for not persistent)
* For all other databases, this setting is deprecated.
*
* host =>
* the host you connect to the database. To add a socket or port number, use 'port' => #
*
@ -62,11 +51,11 @@
* on a per-table basis with the Model::$tablePrefix property.
*
* schema =>
* For Postgres and DB2, specifies which schema you would like to use the tables in. Postgres defaults to
* For Postgresspecifies which schema you would like to use the tables in. Postgres defaults to
* 'public', DB2 defaults to empty.
*
* encoding =>
* For MySQL, Postgres and DB2, specifies the character encoding to use when connecting to the
* For MySQL, Postgres and Sqlite, specifies the character encoding to use when connecting to the
* database. Uses database default.
*
*/

View file

@ -56,7 +56,7 @@ class AclBehavior extends ModelBehavior {
}
$model->{$type} = ClassRegistry::init($type);
if (!method_exists($model, 'parentNode')) {
trigger_error(sprintf(__('Callback parentNode() not defined in %s'), $model->alias), E_USER_WARNING);
trigger_error(__('Callback parentNode() not defined in %s', $model->alias), E_USER_WARNING);
}
}

View file

@ -354,7 +354,7 @@ class ContainableBehavior extends ModelBehavior {
if (!isset($Model->{$name}) || !is_object($Model->{$name})) {
if ($throwErrors) {
trigger_error(sprintf(__('Model "%s" is not associated with model "%s"'), $Model->alias, $name), E_USER_WARNING);
trigger_error(__('Model "%s" is not associated with model "%s"', $Model->alias, $name), E_USER_WARNING);
}
continue;
}

View file

@ -57,7 +57,7 @@ class TranslateBehavior extends ModelBehavior {
$db = ConnectionManager::getDataSource($model->useDbConfig);
if (!$db->connected) {
trigger_error(
sprintf(__('Datasource %s for TranslateBehavior of model %s is not connected'), $model->useDbConfig, $model->alias),
__('Datasource %s for TranslateBehavior of model %s is not connected', $model->useDbConfig, $model->alias),
E_USER_ERROR
);
return false;
@ -424,7 +424,7 @@ class TranslateBehavior extends ModelBehavior {
foreach (array('hasOne', 'hasMany', 'belongsTo', 'hasAndBelongsToMany') as $type) {
if (isset($model->{$type}[$association]) || isset($model->__backAssociation[$type][$association])) {
trigger_error(
sprintf(__('Association %s is already binded to model %s'), $association, $model->alias),
__('Association %s is already binded to model %s', $association, $model->alias),
E_USER_ERROR
);
return false;

View file

@ -367,6 +367,30 @@ class BasicsTest extends CakeTestCase {
$result = __('Plural Rule 1 (from core)');
$expected = 'Plural Rule 1 (from core translated)';
$this->assertEqual($result, $expected);
$result = __('Some string with %s', 'arguments');
$expected = 'Some string with arguments';
$this->assertEqual($result, $expected);
$result = __('Some string with %s %s', 'multiple', 'arguments');
$expected = 'Some string with multiple arguments';
$this->assertEqual($result, $expected);
$result = __('Some string with %s %s', array('multiple', 'arguments'));
$expected = 'Some string with multiple arguments';
$this->assertEqual($result, $expected);
$result = __('Testing %2$s %1$s', 'order', 'different');
$expected = 'Testing different order';
$this->assertEqual($result, $expected);
$result = __('Testing %2$s %1$s', array('order', 'different'));
$expected = 'Testing different order';
$this->assertEqual($result, $expected);
$result = __('Testing %.2f number', 1.2345);
$expected = 'Testing 1.23 number';
$this->assertEqual($result, $expected);
}
/**
@ -388,6 +412,18 @@ class BasicsTest extends CakeTestCase {
$result = __n('%d = 1 (from core)', '%d = 0 or > 1 (from core)', 2);
$expected = '%d = 0 or > 1 (from core translated)';
$this->assertEqual($result, $expected);
$result = __n('%d item.', '%d items.', 1, 1);
$expected = '1 item.';
$this->assertEqual($result, $expected);
$result = __n('%d item for id %s', '%d items for id %s', 2, 2, '1234');
$expected = '2 items for id 1234';
$this->assertEqual($result, $expected);
$result = __n('%d item for id %s', '%d items for id %s', 2, array(2, '1234'));
$expected = '2 items for id 1234';
$this->assertEqual($result, $expected);
}
/**
@ -409,6 +445,18 @@ class BasicsTest extends CakeTestCase {
$result = __d('core', 'Plural Rule 1 (from core)');
$expected = 'Plural Rule 1 (from core translated)';
$this->assertEqual($result, $expected);
$result = __d('core', 'Some string with %s', 'arguments');
$expected = 'Some string with arguments';
$this->assertEqual($result, $expected);
$result = __d('core', 'Some string with %s %s', 'multiple', 'arguments');
$expected = 'Some string with multiple arguments';
$this->assertEqual($result, $expected);
$result = __d('core', 'Some string with %s %s', array('multiple', 'arguments'));
$expected = 'Some string with multiple arguments';
$this->assertEqual($result, $expected);
}
/**
@ -435,6 +483,17 @@ class BasicsTest extends CakeTestCase {
$expected = '%d = 1 (translated)';
$this->assertEqual($result, $expected);
$result = __dn('core', '%d item.', '%d items.', 1, 1);
$expected = '1 item.';
$this->assertEqual($result, $expected);
$result = __dn('core', '%d item for id %s', '%d items for id %s', 2, 2, '1234');
$expected = '2 items for id 1234';
$this->assertEqual($result, $expected);
$result = __dn('core', '%d item for id %s', '%d items for id %s', 2, array(2, '1234'));
$expected = '2 items for id 1234';
$this->assertEqual($result, $expected);
}
/**
@ -452,6 +511,18 @@ class BasicsTest extends CakeTestCase {
$result = __c('Plural Rule 1 (from core)', 6);
$expected = 'Plural Rule 1 (from core translated)';
$this->assertEqual($result, $expected);
$result = __c('Some string with %s', 6, 'arguments');
$expected = 'Some string with arguments';
$this->assertEqual($result, $expected);
$result = __c('Some string with %s %s', 6, 'multiple', 'arguments');
$expected = 'Some string with multiple arguments';
$this->assertEqual($result, $expected);
$result = __c('Some string with %s %s', 6, array('multiple', 'arguments'));
$expected = 'Some string with multiple arguments';
$this->assertEqual($result, $expected);
}
/**
@ -477,6 +548,18 @@ class BasicsTest extends CakeTestCase {
$result = __dc('core', 'Plural Rule 1 (from core)', 6);
$expected = 'Plural Rule 1 (from core translated)';
$this->assertEqual($result, $expected);
$result = __dc('core', 'Some string with %s', 6, 'arguments');
$expected = 'Some string with arguments';
$this->assertEqual($result, $expected);
$result = __dc('core', 'Some string with %s %s', 6, 'multiple', 'arguments');
$expected = 'Some string with multiple arguments';
$this->assertEqual($result, $expected);
$result = __dc('core', 'Some string with %s %s', 6, array('multiple', 'arguments'));
$expected = 'Some string with multiple arguments';
$this->assertEqual($result, $expected);
}
/**
@ -498,6 +581,18 @@ class BasicsTest extends CakeTestCase {
$result = __dcn('core', '%d = 1', '%d = 0 or > 1', 0, 6);
$expected = '%d = 0 or > 1';
$this->assertEqual($result, $expected);
$result = __dcn('core', '%d item.', '%d items.', 1, 6, 1);
$expected = '1 item.';
$this->assertEqual($result, $expected);
$result = __dcn('core', '%d item for id %s', '%d items for id %s', 2, 6, 2, '1234');
$expected = '2 items for id 1234';
$this->assertEqual($result, $expected);
$result = __dcn('core', '%d item for id %s', '%d items for id %s', 2, 6, array(2, '1234'));
$expected = '2 items for id 1234';
$this->assertEqual($result, $expected);
}
/**

View file

@ -19,7 +19,7 @@ class AppImportTest extends CakeTestCase {
$expected = array(
APP . 'models' . DS,
APP,
ROOT . DS . LIBS . 'model' . DS
LIBS . 'model' . DS
);
$this->assertEqual($expected, $old);
@ -31,7 +31,7 @@ class AppImportTest extends CakeTestCase {
'/path/to/models/',
APP . 'models' . DS,
APP,
ROOT . DS . LIBS . 'model' . DS
LIBS . 'model' . DS
);
$this->assertEqual($expected, $new);
@ -51,7 +51,7 @@ class AppImportTest extends CakeTestCase {
$expected = array(
APP . 'models' . DS,
APP,
ROOT . DS . LIBS . 'model' . DS
LIBS . 'model' . DS
);
$this->assertEqual($expected, $old);
@ -77,13 +77,13 @@ class AppImportTest extends CakeTestCase {
*/
function testCore() {
$model = App::core('models');
$this->assertEqual(array(ROOT . DS . LIBS . 'model' . DS), $model);
$this->assertEqual(array(LIBS . 'model' . DS), $model);
$view = App::core('views');
$this->assertEqual(array(ROOT . DS . LIBS . 'view' . DS), $view);
$this->assertEqual(array(LIBS . 'view' . DS), $view);
$controller = App::core('controllers');
$this->assertEqual(array(ROOT . DS . LIBS . 'controller' . DS), $controller);
$this->assertEqual(array(LIBS . 'controller' . DS), $controller);
}
@ -329,7 +329,9 @@ class AppImportTest extends CakeTestCase {
$this->assertFalse(class_exists('BananaHelper'), 'BananaHelper was not found because the path does not exist.');
App::build(array(
'helpers' => array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'views' . DS . 'helpers' . DS)
'helpers' => array(
TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'views' . DS . 'helpers' . DS
)
));
App::build(array('vendors' => array(TEST_CAKE_CORE_INCLUDE_PATH)));
$this->assertFalse(class_exists('BananaHelper'), 'BananaHelper exists, cannot test importing it.');

View file

@ -610,7 +610,7 @@ class ControllerTest extends CakeTestCase {
$Controller = new Controller($request);
$Controller->uses = array('ControllerPost', 'ControllerComment');
$Controller->passedArgs[] = '1';
$Controller->query = array();
$Controller->params['url'] = array();
$Controller->constructClasses();
$results = Set::extract($Controller->paginate('ControllerPost'), '{n}.ControllerPost.id');
@ -700,7 +700,7 @@ class ControllerTest extends CakeTestCase {
$Controller->uses = array('ControllerPost', 'ControllerComment');
$Controller->passedArgs[] = '1';
$Controller->query = array();
$Controller->params['url'] = array();
$Controller->constructClasses();
$Controller->passedArgs = array('page' => '-1', 'contain' => array('ControllerComment'));
@ -731,7 +731,7 @@ class ControllerTest extends CakeTestCase {
$Controller = new Controller($request);
$Controller->uses = array('ControllerPaginateModel');
$Controller->query = array();
$Controller->params['url'] = array();
$Controller->constructClasses();
$Controller->paginate = array(
'ControllerPaginateModel' => array('contain' => array('ControllerPaginateModel'), 'group' => 'Comment.author_id')
@ -757,10 +757,12 @@ class ControllerTest extends CakeTestCase {
* @access public
*/
function testPaginateFieldsDouble(){
$Controller = new Controller($this->getMock('CakeRequest'));
$request = new CakeRequest('controller_posts/index');
$Controller = new Controller($request);
$Controller->uses = array('ControllerPost');
$Controller->request = $this->getMock('CakeRequest');
$Controller->request->query = array();
$Controller->request->params['url'] = array();
$Controller->constructClasses();
$Controller->paginate = array(
@ -774,7 +776,7 @@ class ControllerTest extends CakeTestCase {
'recursive' => -1
);
$conditions = array();
$result = $Controller->paginate('ControllerPost', $conditions);
$result = $Controller->paginate('ControllerPost',$conditions);
$expected = array(
array(
'ControllerPost' => array(
@ -801,7 +803,7 @@ class ControllerTest extends CakeTestCase {
$Controller = new Controller($request);
$Controller->uses = array('ControllerPost');
$Controller->passedArgs[] = array('1', '2', '3');
$Controller->query = array();
$Controller->params['url'] = array();
$Controller->constructClasses();
$Controller->paginate = array(
@ -837,7 +839,7 @@ class ControllerTest extends CakeTestCase {
$Controller = new Controller($request);
$Controller->uses = array('ControllerPost', 'ControllerComment');
$Controller->passedArgs[] = '1';
$Controller->query = array();
$Controller->params['url'] = array();
$Controller->constructClasses();
$Controller->paginate = array('ControllerPost' => array('popular', 'fields' => array('id', 'title')));
@ -861,7 +863,7 @@ class ControllerTest extends CakeTestCase {
$Controller = new Controller($request);
$Controller->modelClass = 'ControllerPost';
$Controller->query = array();
$Controller->params['url'] = array();
$Controller->paginate = array('order' => 'ControllerPost.id DESC');
$Controller->constructClasses();
$results = Set::extract($Controller->paginate('ControllerPost'), '{n}.ControllerPost.id');
@ -881,7 +883,7 @@ class ControllerTest extends CakeTestCase {
$Controller = new Controller($request);
$Controller->uses = array('ControllerPost', 'ControllerComment');
$Controller->query = array();
$Controller->params['url'] = array();
$Controller->constructClasses();
$Controller->ControllerPost->virtualFields = array(
'offset_test' => 'ControllerPost.id + 1'
@ -1241,7 +1243,7 @@ class ControllerTest extends CakeTestCase {
? array_merge($appVars['uses'], $testVars['uses'])
: $testVars['uses'];
$this->assertEqual(count(array_diff_assoc(Set::normalize($TestController->helpers), Set::normalize($helpers))), 0);
$this->assertEqual(count(array_diff($TestController->helpers, $helpers)), 0);
$this->assertEqual(count(array_diff($TestController->uses, $uses)), 0);
$this->assertEqual(count(array_diff_assoc(Set::normalize($TestController->components), Set::normalize($components))), 0);
@ -1499,7 +1501,7 @@ class ControllerTest extends CakeTestCase {
$Controller->components = array("RequestHandler");
$Controller->modelClass='ControllerPost';
$Controller->request->params['url'] = array('ext' => 'rss');
$Controller->params['url'] = array('ext' => 'rss');
$Controller->constructClasses();
$Controller->Components->trigger('initialize', array(&$Controller));
$Controller->beforeFilter();

View file

@ -484,8 +484,7 @@ class FileTest extends CakeTestCase {
$assertLine = $assertLine->traceMethod();
$shortPath = substr($tmpFile, strlen(ROOT));
$message = '[FileTest] Skipping %s because "%s" not writeable!';
$message = sprintf(__($message), $caller, $shortPath).$assertLine;
$message = __('[FileTest] Skipping %s because "%s" not writeable!', $caller, $shortPath).$assertLine;
$this->_reporter->paintSkip($message);
}
return false;

View file

@ -2601,6 +2601,7 @@ class DboMysqlTest extends CakeTestCase {
* @return void
*/
function testCalculations() {
$this->Model = new TestModel();
$result = $this->Dbo->calculate($this->Model, 'count');
$this->assertEqual($result, 'COUNT(*) AS `count`');
@ -3111,7 +3112,7 @@ class DboMysqlTest extends CakeTestCase {
* @return void
*/
function testVirtualFieldsComplexRead() {
$this->loadFixtures('DataTest', 'Article', 'Comment', 'User', 'Tag');
$this->loadFixtures('DataTest', 'Article', 'Comment', 'User', 'Tag', 'ArticlesTag');
$Article = ClassRegistry::init('Article');
$commentTable = $this->Dbo->fullTableName('comments');
@ -3306,7 +3307,7 @@ class DboMysqlTest extends CakeTestCase {
* @return void
*/
function testRealQueries() {
$this->loadFixtures('Apple', 'Article', 'User', 'Comment', 'Tag', 'Sample');
$this->loadFixtures('Apple', 'Article', 'User', 'Comment', 'Tag', 'Sample', 'ArticlesTag');
$Apple = ClassRegistry::init('Apple');
$Article = ClassRegistry::init('Article');

View file

@ -44,7 +44,7 @@ class DboPostgresTestDb extends DboPostgres {
* @access protected
* @return void
*/
function _execute($sql) {
function _execute($sql, $params = array()) {
$this->simulated[] = $sql;
return null;
}
@ -130,7 +130,7 @@ class PostgresTestModel extends Model {
* @access public
* @return void
*/
function schema() {
function schema($field = false) {
return array(
'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
'client_id' => array('type' => 'integer', 'null' => '', 'default' => '0', 'length' => '11'),
@ -184,7 +184,7 @@ class PostgresClientTestModel extends Model {
* @access public
* @return void
*/
function schema() {
function schema($field = false) {
return array(
'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8', 'key' => 'primary'),
'name' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'),

View file

@ -42,7 +42,7 @@ class DboSqliteTestDb extends DboSqlite {
* @access protected
* @return void
*/
function _execute($sql) {
function _execute($sql, $params = array()) {
$this->simulated[] = $sql;
return null;
}

View file

@ -262,7 +262,7 @@ class Article extends CakeTestModel {
* @access public
* @return void
*/
function beforeSave() {
function beforeSave($options = array()) {
return $this->beforeSaveReturn;
}
@ -560,7 +560,7 @@ class ModifiedComment extends CakeTestModel {
*
* @return void
*/
function afterFind($results) {
function afterFind($results, $primary = false) {
if (isset($results[0])) {
$results[0]['Comment']['callback'] = 'Fire';
}
@ -605,7 +605,7 @@ class AgainModifiedComment extends CakeTestModel {
*
* @return void
*/
function afterFind($results) {
function afterFind($results, $primary = false) {
if (isset($results[0])) {
$results[0]['Comment']['querytype'] = $this->findQueryType;
}
@ -921,7 +921,7 @@ class Post extends CakeTestModel {
return true;
}
function afterFind($results) {
function afterFind($results, $primary = false) {
$this->useDbConfig = 'test';
return $results;
}
@ -958,7 +958,7 @@ class Author extends CakeTestModel {
* @access public
* @return void
*/
function afterFind($results) {
function afterFind($results, $primary = false) {
$results[0]['Author']['test'] = 'working';
return $results;
}
@ -987,7 +987,7 @@ class ModifiedAuthor extends Author {
* @access public
* @return void
*/
function afterFind($results) {
function afterFind($results, $primary = false) {
foreach($results as $index => $result) {
$results[$index]['Author']['user'] .= ' (CakePHP)';
}
@ -1166,7 +1166,7 @@ class NodeAfterFind extends CakeTestModel {
* @access public
* @return void
*/
function afterFind($results) {
function afterFind($results, $primary = false) {
return $results;
}
}
@ -2075,7 +2075,7 @@ class CallbackPostTestModel extends CakeTestModel {
*
* @return void
*/
function beforeSave($options) {
function beforeSave($options = array()) {
return $this->beforeSaveReturn;
}
/**
@ -2083,7 +2083,7 @@ class CallbackPostTestModel extends CakeTestModel {
*
* @return void
*/
function beforeValidate($options) {
function beforeValidate($options = array()) {
return $this->beforeValidateReturn;
}
/**
@ -2304,7 +2304,7 @@ class ValidationTest2 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
return array();
}
}
@ -3801,7 +3801,7 @@ class TestModel4 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
@ -3852,7 +3852,7 @@ class TestModel4TestModel7 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'test_model4_id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
@ -3923,7 +3923,7 @@ class TestModel5 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
@ -3986,7 +3986,7 @@ class TestModel6 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
@ -4038,7 +4038,7 @@ class TestModel7 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
@ -4103,7 +4103,7 @@ class TestModel8 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
@ -4167,7 +4167,7 @@ class TestModel9 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
@ -4234,7 +4234,7 @@ class Level extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => '10'),
@ -4299,7 +4299,7 @@ class Group extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => '10'),
@ -4377,7 +4377,7 @@ class User2 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => '10'),
@ -4463,7 +4463,7 @@ class Category2 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => false, 'default' => '', 'length' => '10'),
@ -4528,7 +4528,7 @@ class Article2 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => false, 'default' => '', 'length' => '10'),
@ -4594,7 +4594,7 @@ class CategoryFeatured2 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => false, 'default' => '', 'length' => '10'),
@ -4658,7 +4658,7 @@ class Featured2 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => '10'),
@ -4717,7 +4717,7 @@ class Comment2 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => '10'),
@ -4799,7 +4799,7 @@ class ArticleFeatured2 extends CakeTestModel {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
if (!isset($this->_schema)) {
$this->_schema = array(
'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => '10'),
@ -4875,7 +4875,7 @@ class MysqlTestModel extends Model {
* @access public
* @return void
*/
function schema() {
public function schema($field = false) {
return array(
'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
'client_id' => array('type' => 'integer', 'null' => '', 'default' => '0', 'length' => '11'),

View file

@ -0,0 +1,278 @@
<?php
/**
* ComponentCollectionTest file
*
* PHP 5
*
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
* Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
* @link http://book.cakephp.org/view/1196/Testing CakePHP(tm) Tests
* @package cake
* @subpackage cake.tests.cases.libs
* @since CakePHP(tm) v 2.0
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
App::import('Core', 'ObjectCollection');
/**
* A generic object class
*/
class GenericObject {
}
/**
* First Extension of Generic Object
*/
class FirstGenericObject extends GenericObject {
/**
* A generic callback
*/
public function callback() {
}
}
/**
* Second Extension of Generic Object
*/
class SecondGenericObject extends GenericObject {
public function callback() {
}
}
/**
* A collection of Generic objects
*/
class GenericObjectCollection extends ObjectCollection {
/**
* Loads a generic object
*
* @param string $object Object name
* @param array $settings Settings array
* @param boolean $enable Start object as enabled
* @return array List of loaded objects
*/
public function load($object, $settings = array(), $enable = true) {
list($plugin, $name) = pluginSplit($object);
if (isset($this->_loaded[$name])) {
return $this->_loaded[$name];
}
$objectClass = $name . 'GenericObject';
$this->_loaded[$name] = new $objectClass($this, $settings);
if ($enable === true) {
$this->_enabled[] = $name;
}
return $this->_loaded[$name];
}
}
class ObjectCollectionTest extends CakeTestCase {
/**
* setup
*
* @return void
*/
function setup() {
$this->Objects = new GenericObjectCollection();
}
/**
* teardown
*
* @return void
*/
function teardown() {
unset($this->Objects);
}
/**
* test triggering callbacks on loaded helpers
*
* @return void
*/
function testLoad() {
$result = $this->Objects->load('First');
$this->assertType('FirstGenericObject', $result);
$this->assertType('FirstGenericObject', $this->Objects->First);
$result = $this->Objects->attached();
$this->assertEquals(array('First'), $result, 'attached() results are wrong.');
$this->assertTrue($this->Objects->enabled('First'));
$result = $this->Objects->load('First');
$this->assertSame($result, $this->Objects->First);
}
/**
* test unload()
*
* @return void
*/
function testUnload() {
$this->Objects->load('First');
$this->Objects->load('Second');
$result = $this->Objects->attached();
$this->assertEquals(array('First', 'Second'), $result, 'loaded objects are wrong');
$this->Objects->unload('First');
$this->assertFalse(isset($this->Objects->First));
$this->assertTrue(isset($this->Objects->Second));
$result = $this->Objects->attached();
$this->assertEquals(array('Second'), $result, 'loaded objects are wrong');
$result = $this->Objects->enabled();
$this->assertEquals(array('Second'), $result, 'enabled objects are wrong');
}
/**
* creates mock classes for testing
*
* @return void
*/
protected function _makeMockClasses() {
if (!class_exists('TriggerMockFirstGenericObject')) {
$this->getMock('FirstGenericObject', array(), array(), 'TriggerMockFirstGenericObject', false);
}
if (!class_exists('TriggerMockSecondGenericObject')) {
$this->getMock('SecondGenericObject', array(), array(), 'TriggerMockSecondGenericObject', false);
}
}
/**
* test triggering callbacks.
*
* @return void
*/
function testTrigger() {
$this->_makeMockClasses();
$this->Objects->load('TriggerMockFirst');
$this->Objects->load('TriggerMockSecond');
$this->Objects->TriggerMockFirst->expects($this->once())
->method('callback');
$this->Objects->TriggerMockSecond->expects($this->once())
->method('callback');
$this->assertTrue($this->Objects->trigger('callback'));
}
/**
* test that the initalize callback is triggered on all components even those that are disabled.
*
* @return void
*/
function testTriggerWithTriggerDisabledObjects() {
$this->_makeMockClasses();
$this->Objects->load('TriggerMockFirst', array(), false);
$this->Objects->load('TriggerMockSecond');
$this->Objects->TriggerMockFirst->expects($this->once())
->method('callback');
$this->Objects->TriggerMockSecond->expects($this->once())
->method('callback');
$result = $this->Objects->trigger('callback', array(), array('triggerDisabled' => true));
$this->assertTrue($result);
}
/**
* test trigger and disabled helpers.
*
* @return void
*/
function testTriggerWithDisabledComponents() {
$this->_makeMockClasses();
$this->Objects->load('TriggerMockFirst');
$this->Objects->load('TriggerMockSecond');
$this->Objects->TriggerMockFirst->expects($this->once())
->method('callback');
$this->Objects->TriggerMockSecond->expects($this->never())
->method('callback');
$this->Objects->disable('TriggerMockSecond');
$this->assertTrue($this->Objects->trigger('callback', array()));
}
/**
* test that the collectReturn option works.
*
* @return void
*/
function testTriggerWithCollectReturn() {
$this->_makeMockClasses();
$this->Objects->load('TriggerMockFirst');
$this->Objects->load('TriggerMockSecond');
$this->Objects->TriggerMockFirst->expects($this->once())
->method('callback')
->will($this->returnValue(array('one', 'two')));
$this->Objects->TriggerMockSecond->expects($this->once())
->method('callback')
->will($this->returnValue(array('three', 'four')));
$result = $this->Objects->trigger('callback', array(), array('collectReturn' => true));
$expected = array(
array('one', 'two'),
array('three', 'four')
);
$this->assertEquals($expected, $result);
}
/**
* test that trigger with break & breakOn works.
*
* @return void
*/
function testTriggerWithBreak() {
$this->_makeMockClasses();
$this->Objects->load('TriggerMockFirst');
$this->Objects->load('TriggerMockSecond');
$this->Objects->TriggerMockFirst->expects($this->once())
->method('callback')
->will($this->returnValue(false));
$this->Objects->TriggerMockSecond->expects($this->never())
->method('callback');
$result = $this->Objects->trigger(
'callback',
array(&$controller),
array('break' => true, 'breakOn' => false)
);
$this->assertFalse($result);
}
/**
* test normalizeObjectArray
*
* @return void
*/
function testnormalizeObjectArray() {
$components = array(
'Html',
'Foo.Bar' => array('one', 'two'),
'Something',
'Banana.Apple' => array('foo' => 'bar')
);
$result = ComponentCollection::normalizeObjectArray($components);
$expected = array(
'Html' => array('class' => 'Html', 'settings' => array()),
'Bar' => array('class' => 'Foo.Bar', 'settings' => array('one', 'two')),
'Something' => array('class' => 'Something', 'settings' => array()),
'Apple' => array('class' => 'Banana.Apple', 'settings' => array('foo' => 'bar')),
);
$this->assertEquals($expected, $result);
}
}

View file

@ -253,7 +253,7 @@ class CakeFixtureManager {
$fixture->truncate($db);
$fixture->insert($db);
} else {
throw new UnexpectedValueException(sprintf(__('Referenced fixture class %s not found'), $name));
throw new UnexpectedValueException(__('Referenced fixture class %s not found', $name));
}
}

View file

@ -201,7 +201,7 @@ class CakeBaseReporter implements PHPUnit_Framework_TestListener {
* @param PHPUnit_Framework_TestSuite $suite
*/
public function startTestSuite(PHPUnit_Framework_TestSuite $suite) {
echo sprintf(__('Running %s'), $suite->getName()) . "\n";
echo __('Running %s', $suite->getName()) . "\n";
}
/**

View file

@ -237,7 +237,7 @@ class CakeHtmlReporter extends CakeBaseReporter {
echo "<li class='fail'>\n";
echo "<span>Failed</span>";
echo "<div class='msg'><pre>" . $this->_htmlEntities($message->toString()) . "</pre></div>\n";
echo "<div class='msg'>" . sprintf(__('Test case: %s'), $testName) . "</div>\n";
echo "<div class='msg'>" . __('Test case: %s', $testName) . "</div>\n";
echo "<div class='msg'>" . __('Stack trace:') . '<br />' . $trace . "</div>\n";
echo "</li>\n";
}
@ -275,7 +275,7 @@ class CakeHtmlReporter extends CakeBaseReporter {
echo "<span>Exception</span>";
echo "<div class='msg'>" . $this->_htmlEntities($message->getMessage()) . "</div>\n";
echo "<div class='msg'>" . sprintf(__('Test case: %s'), $testName) . "</div>\n";
echo "<div class='msg'>" . __('Test case: %s', $testName) . "</div>\n";
echo "<div class='msg'>" . __('Stack trace:') . '<br />' . $trace . "</div>\n";
echo "</li>\n";
}
@ -341,6 +341,6 @@ class CakeHtmlReporter extends CakeBaseReporter {
* @param PHPUnit_Framework_TestSuite $suite
*/
public function startTestSuite(PHPUnit_Framework_TestSuite $suite) {
echo '<h2>' . sprintf(__('Running %s'), $suite->getName()) . '</h2>';
echo '<h2>' . __('Running %s', $suite->getName()) . '</h2>';
}
}

View file

@ -152,10 +152,10 @@ class TestManager {
$testCaseFileWithPath = $this->_getTestsPath($this->params) . DS . $testCaseFile;
if (!file_exists($testCaseFileWithPath) || strpos($testCaseFileWithPath, '..')) {
throw new InvalidArgumentException(sprintf(__('Unable to load test file %s'), htmlentities($testCaseFile)));
throw new InvalidArgumentException(__('Unable to load test file %s', htmlentities($testCaseFile)));
}
if (!$suite) {
$suite = $this->getTestSuite(sprintf(__('Individual test case: %s', true), $testCaseFile));
$suite = $this->getTestSuite(__('Individual test case: %s', $testCaseFile));
}
$suite->addTestFile($testCaseFileWithPath);

View file

@ -17,7 +17,7 @@
$settings = array();
if (!empty($settings)):
echo '<span class="notice success">';
printf(__('The %s is being used for caching. To change the config edit APP/config/core.php '), '<em>'. $settings['engine'] . 'Engine</em>');
echo __('The %s is being used for caching. To change the config edit APP/config/core.php ', '<em>'. $settings['engine'] . 'Engine</em>');
echo '</span>';
else:
echo '<span class="notice">';
@ -66,9 +66,9 @@ if (!empty($filePresent)):
<h3><?php echo __('Editing this Page') ?></h3>
<p>
<?php
printf(__('To change the content of this page, edit: %s
echo __('To change the content of this page, edit: %s
To change its layout, edit: %s
You can also add some CSS styles for your pages at: %s'),
You can also add some CSS styles for your pages at: %s',
APP . 'views' . DS . 'pages' . DS . 'home.ctp.<br />', APP . 'views' . DS . 'layouts' . DS . 'default.ctp.<br />', APP . 'webroot' . DS . 'css');
?>
</p>

View file

@ -96,7 +96,7 @@ if (!empty($filePresent)):
</span>
</p>
<?php endif; ?>
<h2><?php printf(__('Release Notes for CakePHP %s.', true), Configure::version()); ?></h2>
<h2><?php echo __('Release Notes for CakePHP %s.', Configure::version()); ?></h2>
<a href="https://trac.cakephp.org/wiki/notes/1.2.x.x"><?php __('Read the release notes and get the latest version'); ?> </a>
<h2><?php __('Editing this Page'); ?></h2>
<p>

View file

@ -257,7 +257,7 @@ class Cache {
self::set(null, $config);
if ($success === false && $value !== '') {
trigger_error(
sprintf(__("%s cache was unable to write '%s' to cache", true), $config, $key),
__("%s cache was unable to write '%s' to cache", $config, $key),
E_USER_WARNING
);
}

View file

@ -298,7 +298,7 @@ class FileEngine extends CacheEngine {
$dir = new SplFileInfo($this->settings['path']);
if ($this->_init && !($dir->isDir() && $dir->isWritable())) {
$this->_init = false;
trigger_error(sprintf(__('%s is not writable'), $this->settings['path']), E_USER_WARNING);
trigger_error(__('%s is not writable', $this->settings['path']), E_USER_WARNING);
return false;
}
return true;

View file

@ -153,7 +153,7 @@ class MemcacheEngine extends CacheEngine {
public function increment($key, $offset = 1) {
if ($this->settings['compress']) {
throw new RuntimeException(
sprintf(__('Method increment() not implemented for compressed cache in %s'), __CLASS__)
__('Method increment() not implemented for compressed cache in %s', __CLASS__)
);
}
return $this->__Memcache->increment($key, $offset);
@ -171,7 +171,7 @@ class MemcacheEngine extends CacheEngine {
public function decrement($key, $offset = 1) {
if ($this->settings['compress']) {
throw new RuntimeException(
sprintf(__('Method decrement() not implemented for compressed cache in %s'), __CLASS__)
__('Method decrement() not implemented for compressed cache in %s', __CLASS__)
);
}
return $this->__Memcache->decrement($key, $offset);

View file

@ -68,7 +68,7 @@ class AclComponent extends Component {
list($plugin, $name) = pluginSplit($name);
$name .= 'Component';
} else {
throw new Exception(sprintf(__('Could not find %s.'), $name));
throw new Exception(__('Could not find %s.', $name));
}
}
$this->adapter($name);
@ -316,7 +316,7 @@ class DbAcl extends Object implements AclInterface {
$acoNode = $acoPath[0];
if ($action != '*' && !in_array('_' . $action, $permKeys)) {
trigger_error(sprintf(__("ACO permissions key %s does not exist in DbAcl::check()"), $action), E_USER_NOTICE);
trigger_error(__("ACO permissions key %s does not exist in DbAcl::check()", $action), E_USER_NOTICE);
return false;
}

View file

@ -523,7 +523,7 @@ class AuthComponent extends Component {
case 'crud':
if (!isset($this->actionMap[$this->request['action']])) {
trigger_error(
sprintf(__('Auth::startup() - Attempted access of un-mapped action "%1$s" in controller "%2$s"'), $this->request['action'], $this->request['controller']),
__('Auth::startup() - Attempted access of un-mapped action "%1$s" in controller "%2$s"', $this->request['action'], $this->request['controller']),
E_USER_WARNING
);
} else {
@ -547,13 +547,13 @@ class AuthComponent extends Component {
$action = $this->action(':action');
}
if (empty($object)) {
trigger_error(sprintf(__('Could not find %s. Set AuthComponent::$object in beforeFilter() or pass a valid object'), get_class($object)), E_USER_WARNING);
trigger_error(__('Could not find %s. Set AuthComponent::$object in beforeFilter() or pass a valid object', get_class($object)), E_USER_WARNING);
return;
}
if (method_exists($object, 'isAuthorized')) {
$valid = $object->isAuthorized($user, $this->action(':controller'), $action);
} elseif ($object) {
trigger_error(sprintf(__('%s::isAuthorized() is not defined.'), get_class($object)), E_USER_WARNING);
trigger_error(__('%s::isAuthorized() is not defined.', get_class($object)), E_USER_WARNING);
}
break;
case null:

View file

@ -732,7 +732,7 @@ class Controller extends Object {
*/
public function isAuthorized() {
trigger_error(sprintf(
__('%s::isAuthorized() is not defined.'), $this->name
__('%sController::isAuthorized() is not defined.'), $this->name
), E_USER_WARNING);
return false;
}
@ -1220,5 +1220,3 @@ class Controller extends Object {
return false;
}
}
class MissingModelException extends RuntimeException {}

View file

@ -58,7 +58,7 @@ class Configure {
self::write('App', array('base' => false, 'baseUrl' => false, 'dir' => APP_DIR, 'webroot' => WEBROOT_DIR, 'www_root' => WWW_ROOT));
if (!include(CONFIGS . 'core.php')) {
trigger_error(sprintf(__("Can't find application core file. Please create %score.php, and make sure it is readable by PHP."), CONFIGS), E_USER_ERROR);
trigger_error(__("Can't find application core file. Please create %score.php, and make sure it is readable by PHP.", CONFIGS), E_USER_ERROR);
}
if (Configure::read('Cache.disable') !== true) {
@ -100,7 +100,7 @@ class Configure {
App::init();
App::build();
if (!include(CONFIGS . 'bootstrap.php')) {
trigger_error(sprintf(__("Can't find application bootstrap file. Please create %sbootstrap.php, and make sure it is readable by PHP."), CONFIGS), E_USER_ERROR);
trigger_error(__("Can't find application bootstrap file. Please create %sbootstrap.php, and make sure it is readable by PHP.", CONFIGS), E_USER_ERROR);
}
$level = -1;
if (isset(self::$_values['Error']['level'])) {
@ -299,7 +299,7 @@ class Configure {
}
if (!isset($config)) {
trigger_error(sprintf(__('Configure::load() - no variable $config found in %s.php'), $fileName), E_USER_WARNING);
trigger_error(__('Configure::load() - no variable $config found in %s.php', $fileName), E_USER_WARNING);
return false;
}
return self::write($config);

View file

@ -174,7 +174,7 @@ class CakeException extends RuntimeException {
public function __construct($message, $code = 500) {
if (is_array($message)) {
$this->_attributes = $message;
$message = vsprintf(__($this->_messageTemplate), $message);
$message = __($this->_messageTemplate, $message);
}
parent::__construct($message, $code);
}
@ -301,6 +301,8 @@ class MissingHelperClassException extends CakeException {
/**
* Runtime Exceptions for ConnectionManager
*
* @package cake.libs
*/
class MissingDatabaseException extends CakeException {
protected $_messageTemplate = 'Database connection "%s" could not be found.';
@ -368,3 +370,12 @@ class MissingShellFileException extends CakeException {
class MissingTableException extends CakeException {
protected $_messageTemplate = 'Database table %s for model %s was not found.';
}
/**
* Exception Raised when a Model could not be found.
*
* @package cake.libs
*/
class MissingModelException extends CakeException {
protected $_messageTemplate = 'Model %s could not be found.';
}

View file

@ -128,7 +128,7 @@ class CakeLog {
App::uses($loggerName, $plugin . 'Log/Engine');
if (!class_exists($loggerName)) {
throw new Exception(sprintf(__('Could not load class %s'), $loggerName));
throw new Exception(__('Could not load class %s', $loggerName));
}
return $loggerName;
}

View file

@ -203,7 +203,7 @@ class BehaviorCollection extends ObjectCollection {
$call = null;
if ($strict && !$found) {
trigger_error(sprintf(__("BehaviorCollection::dispatchMethod() - Method %s not found in any attached behavior"), $method), E_USER_WARNING);
trigger_error(__("BehaviorCollection::dispatchMethod() - Method %s not found in any attached behavior", $method), E_USER_WARNING);
return null;
} elseif ($found) {
$methods = array_combine($methods, array_values($this->__methods));

View file

@ -585,7 +585,7 @@ class CakeSchema extends Object {
$value['key'] = 'primary';
}
if (!isset($db->columns[$value['type']])) {
trigger_error(sprintf(__('Schema generation error: invalid column type %s does not exist in DBO'), $value['type']), E_USER_NOTICE);
trigger_error(__('Schema generation error: invalid column type %s does not exist in DBO', $value['type']), E_USER_NOTICE);
continue;
} else {
$defaultCol = $db->columns[$value['type']];

View file

@ -263,12 +263,12 @@ class CakeSession {
public static function delete($name) {
if (self::check($name)) {
if (in_array($name, self::$watchKeys)) {
trigger_error(sprintf(__('Deleting session key {%s}'), $name), E_USER_NOTICE);
trigger_error(__('Deleting session key {%s}', $name), E_USER_NOTICE);
}
self::__overwrite($_SESSION, Set::remove($_SESSION, $name));
return (self::check($name) == false);
}
self::__setError(2, sprintf(__("%s doesn't exist"), $name));
self::__setError(2, __("%s doesn't exist", $name));
return false;
}
@ -453,7 +453,7 @@ class CakeSession {
}
foreach ($write as $key => $val) {
if (in_array($key, self::$watchKeys)) {
trigger_error(sprintf(__('Writing session key {%s}: %s'), $key, Debugger::exportVar($val)), E_USER_NOTICE);
trigger_error(__('Writing session key {%s}: %s', $key, Debugger::exportVar($val)), E_USER_NOTICE);
}
self::__overwrite($_SESSION, Set::insert($_SESSION, $key, $val));
if (Set::classicExtract($_SESSION, $key) !== $val) {
@ -563,7 +563,7 @@ class CakeSession {
App::import('Core', 'session/' . $class);
}
if (!class_exists($class)) {
throw new Exception(sprintf(__('Could not load %s to handle the session.'), $class));
throw new Exception(__('Could not load %s to handle the session.', $class));
}
$handler = new $class();
if ($handler instanceof CakeSessionHandlerInterface) {

View file

@ -96,7 +96,7 @@ class ConnectionManager {
}
if (empty($_this->_connectionsEnum[$name])) {
trigger_error(sprintf(__("ConnectionManager::getDataSource - Non-existent data source %s"), $name), E_USER_ERROR);
trigger_error(__("ConnectionManager::getDataSource - Non-existent data source %s", $name), E_USER_ERROR);
$null = null;
return $null;
}
@ -104,7 +104,7 @@ class ConnectionManager {
$class = $conn['classname'];
if ($_this->loadDataSource($name) === null) {
trigger_error(sprintf(__("ConnectionManager::getDataSource - Could not load class %s"), $class), E_USER_ERROR);
trigger_error(__("ConnectionManager::getDataSource - Could not load class %s", $class), E_USER_ERROR);
$null = null;
return $null;
}
@ -175,7 +175,7 @@ class ConnectionManager {
App::uses($conn['classname'], $plugin . 'Model/Datasource' . $package);
if (!class_exists($conn['classname'])) {
trigger_error(sprintf(__('ConnectionManager::loadDataSource - Unable to import DataSource class %s'), $class), E_USER_ERROR);
trigger_error(__('ConnectionManager::loadDataSource - Unable to import DataSource class %s', $class), E_USER_ERROR);
return null;
}
return true;

View file

@ -286,7 +286,7 @@ class DataSource extends Object {
*
* @return boolean Returns true if a transaction is not in progress
*/
public function begin(&$model) {
public function begin() {
return !$this->_transactionStarted;
}
@ -295,7 +295,7 @@ class DataSource extends Object {
*
* @return boolean Returns true if a transaction is in progress
*/
public function commit(&$model) {
public function commit() {
return $this->_transactionStarted;
}
@ -304,7 +304,7 @@ class DataSource extends Object {
*
* @return boolean Returns true if a transaction is in progress
*/
public function rollback(&$model) {
public function rollback() {
return $this->_transactionStarted;
}
@ -328,7 +328,7 @@ class DataSource extends Object {
* @param array $values An Array of values to save.
* @return boolean success
*/
public function create(&$model, $fields = null, $values = null) {
public function create($model, $fields = null, $values = null) {
return false;
}
@ -341,7 +341,7 @@ class DataSource extends Object {
* @param array $queryData An array of query data used to find the data you want
* @return mixed
*/
public function read(&$model, $queryData = array()) {
public function read($model, $queryData = array()) {
return false;
}
@ -355,7 +355,7 @@ class DataSource extends Object {
* @param array $values Array of values to be update $fields to.
* @return boolean Success
*/
public function update(&$model, $fields = null, $values = null) {
public function update($model, $fields = null, $values = null) {
return false;
}
@ -367,7 +367,7 @@ class DataSource extends Object {
* @param Model $model The model class having record(s) deleted
* @param mixed $id Primary key of the model
*/
public function delete(&$model, $id = null) {
public function delete($model, $id = null) {
if ($id == null) {
$id = $model->id;
}

View file

@ -227,7 +227,7 @@ class DboMssql extends DboSource {
* @param Model $model Model object to describe
* @return array Fields in table. Keys are name and type
*/
function describe(&$model) {
function describe($model) {
$cache = parent::describe($model);
if ($cache != null) {
@ -317,7 +317,7 @@ class DboMssql extends DboSource {
* @param mixed $fields
* @return array
*/
function fields(&$model, $alias = null, $fields = array(), $quote = true) {
function fields($model, $alias = null, $fields = array(), $quote = true) {
if (empty($alias)) {
$alias = $model->alias;
}
@ -383,7 +383,7 @@ class DboMssql extends DboSource {
* @param mixed $conditions
* @return array
*/
function create(&$model, $fields = null, $values = null) {
function create($model, $fields = null, $values = null) {
if (!empty($values)) {
$fields = array_combine($fields, $values);
}
@ -413,7 +413,7 @@ class DboMssql extends DboSource {
* @param mixed $conditions
* @return array
*/
function update(&$model, $fields = array(), $values = null, $conditions = null) {
function update($model, $fields = array(), $values = null, $conditions = null) {
if (!empty($values)) {
$fields = array_combine($fields, $values);
}
@ -667,7 +667,7 @@ class DboMssql extends DboSource {
* @param boolean $cache Enables returning/storing cached query results
* @return array Array of resultset rows, or false if no rows matched
*/
function read(&$model, $queryData = array(), $recursive = null) {
function read($model, $queryData = array(), $recursive = null) {
$results = parent::read($model, $queryData, $recursive);
$this->__fieldMappings = array();
return $results;

View file

@ -331,7 +331,7 @@ class Mysql extends DboSource {
* @param mixed $conditions
* @return array
*/
function update(&$model, $fields = array(), $values = null, $conditions = null) {
function update($model, $fields = array(), $values = null, $conditions = null) {
if (!$this->_useAlias) {
return parent::update($model, $fields, $values, $conditions);
}
@ -373,7 +373,7 @@ class Mysql extends DboSource {
* @param mixed $conditions
* @return boolean Success
*/
function delete(&$model, $conditions = null) {
function delete($model, $conditions = null) {
if (!$this->_useAlias) {
return parent::delete($model, $conditions);
}
@ -502,16 +502,12 @@ class Mysql extends DboSource {
/**
* Generate a MySQL "drop table" statement for the given Schema object
*
* @param object $schema An instance of a subclass of CakeSchema
* @param CakeSchema $schema An instance of a subclass of CakeSchema
* @param string $table Optional. If specified only the table name given will be generated.
* Otherwise, all tables defined in the schema are generated.
* @return string
*/
function dropSchema($schema, $table = null) {
if (!is_a($schema, 'CakeSchema')) {
trigger_error(__('Invalid schema object'), E_USER_WARNING);
return null;
}
function dropSchema(CakeSchema $schema, $table = null) {
$out = '';
foreach ($schema->tables as $curTable => $columns) {
if (!$table || $table == $curTable) {

View file

@ -478,7 +478,7 @@ class DboOracle extends DboSource {
* @param object instance of a model to inspect
* @return array Fields in table. Keys are name and type
*/
public function describe(&$model) {
public function describe($model) {
$table = $this->fullTableName($model, false);
if (!empty($model->sequence)) {
@ -974,11 +974,11 @@ class DboOracle extends DboSource {
* @param integer $recursive Number of levels of association
* @param array $stack
*/
function queryAssociation(&$model, &$linkModel, $type, $association, $assocData, &$queryData, $external = false, &$resultSet, $recursive, $stack) {
function queryAssociation($model, &$linkModel, $type, $association, $assocData, &$queryData, $external = false, &$resultSet, $recursive, $stack) {
if ($query = $this->generateAssociationQuery($model, $linkModel, $type, $association, $assocData, $queryData, $external, $resultSet)) {
if (!isset($resultSet) || !is_array($resultSet)) {
if (Configure::read('debug') > 0) {
echo '<div style = "font: Verdana bold 12px; color: #FF0000">' . sprintf(__('SQL Error in model %s:'), $model->alias) . ' ';
echo '<div style = "font: Verdana bold 12px; color: #FF0000">' . __('SQL Error in model %s:', $model->alias) . ' ';
if (isset($this->error) && $this->error != null) {
echo $this->error;
}
@ -1121,16 +1121,12 @@ class DboOracle extends DboSource {
/**
* Generate a "drop table" statement for the given Schema object
*
* @param object $schema An instance of a subclass of CakeSchema
* @param CakeSchema $schema An instance of a subclass of CakeSchema
* @param string $table Optional. If specified only the table name given will be generated.
* Otherwise, all tables defined in the schema are generated.
* @return string
*/
function dropSchema($schema, $table = null) {
if (!is_a($schema, 'CakeSchema')) {
trigger_error(__('Invalid schema object'), E_USER_WARNING);
return null;
}
function dropSchema(CakeSchema $schema, $table = null) {
$out = '';
foreach ($schema->tables as $curTable => $columns) {

View file

@ -152,7 +152,7 @@ class DboPostgres extends DboSource {
*
* @return array Array of tablenames in the database
*/
function listSources() {
function listSources($data = null) {
$cache = parent::listSources();
if ($cache != null) {
@ -185,7 +185,7 @@ class DboPostgres extends DboSource {
* @param string $tableName Name of database table to inspect
* @return array Fields in table. Keys are name and type
*/
function &describe(&$model) {
function describe($model) {
$fields = parent::describe($model);
$table = $this->fullTableName($model, false);
$this->_sequenceMap[$table] = array();
@ -332,7 +332,7 @@ class DboPostgres extends DboSource {
* @param mixed $fields
* @return array
*/
function fields(&$model, $alias = null, $fields = array(), $quote = true) {
function fields($model, $alias = null, $fields = array(), $quote = true) {
if (empty($alias)) {
$alias = $model->alias;
}

View file

@ -138,7 +138,7 @@ class DboSqlite extends DboSource {
* @return array Array of tablenames in the database
* @access public
*/
function listSources() {
function listSources($data = null) {
$cache = parent::listSources();
if ($cache != null) {
return $cache;
@ -166,7 +166,7 @@ class DboSqlite extends DboSource {
* @return array Fields in table. Keys are name and type
* @access public
*/
function describe(&$model) {
function describe($model) {
$cache = parent::describe($model);
if ($cache != null) {
return $cache;
@ -208,7 +208,7 @@ class DboSqlite extends DboSource {
* @return array
* @access public
*/
function update(&$model, $fields = array(), $values = null, $conditions = null) {
function update($model, $fields = array(), $values = null, $conditions = null) {
if (empty($values) && !empty($fields)) {
foreach ($fields as $field => $value) {
if (strpos($field, $model->alias . '.') !== false) {
@ -382,7 +382,7 @@ class DboSqlite extends DboSource {
}
if (!isset($this->columns[$type])) {
trigger_error("Column type {$type} does not exist", E_USER_WARNING);
trigger_error(__('Column type %s does not exist', $type), E_USER_WARNING);
return null;
}
@ -458,7 +458,7 @@ class DboSqlite extends DboSource {
* @return array Fields in table. Keys are column and unique
* @access public
*/
function index(&$model) {
function index($model) {
$index = array();
$table = $this->fullTableName($model);
if ($table) {

View file

@ -88,14 +88,6 @@ class DboSource extends DataSource {
*/
private $__sqlOps = array('like', 'ilike', 'or', 'not', 'in', 'between', 'regexp', 'similar to');
/**
* Indicates that a transaction have been started
*
* @var boolean
* @access protected
*/
protected $_transactionStarted = false;
/**
* Indicates the level of nested transactions
*
@ -181,7 +173,7 @@ class DboSource extends DataSource {
* @return boolean True if the database could be disconnected, else false
*/
function disconnect() {
if (is_a($this->_result, 'PDOStatement')) {
if ($this->_result instanceof PDOStatement) {
$this->_result->closeCursor();
}
unset($this->_connection);
@ -189,6 +181,11 @@ class DboSource extends DataSource {
return !$this->connected;
}
/**
* Get the underlying connection object.
*
* @return PDOConnection
*/
public function getConnection() {
return $this->_connection;
}
@ -336,7 +333,7 @@ class DboSource extends DataSource {
*/
protected function _execute($sql, $params = array()) {
$sql = trim($sql);
if (preg_match('/^CREATE|^ALTER|^DROP/i', $sql)) {
if (preg_match('/^(?:CREATE|ALTER|DROP)/i', $sql)) {
$statements = array_filter(explode(';', $sql));
if (count($statements) > 1) {
$result = array_map(array($this, '_execute'), $statements);
@ -419,10 +416,10 @@ class DboSource extends DataSource {
if (count($args) == 1) {
return $this->fetchAll($args[0]);
} elseif (count($args) > 1 && (strpos(strtolower($args[0]), 'findby') === 0 || strpos(strtolower($args[0]), 'findallby') === 0)) {
} elseif (count($args) > 1 && (strpos($args[0], 'findBy') === 0 || strpos($args[0], 'findAllBy') === 0)) {
$params = $args[1];
if (strpos(strtolower($args[0]), 'findby') === 0) {
if (strpos($args[0], 'findBy') === 0) {
$all = false;
$field = Inflector::underscore(preg_replace('/^findBy/i', '', $args[0]));
} else {
@ -818,7 +815,7 @@ class DboSource extends DataSource {
if ($error) {
trigger_error('<span style="color:Red;text-align:left"><b>' . __('SQL Error:') . "</b> {$this->error}</span>", E_USER_WARNING);
} else {
$out = ('<small>[' . sprintf(__('Aff:%s Num:%s Took:%sms'), $this->affected, $this->numRows, $this->took) . ']</small>');
$out = ('<small>[' . __('Aff:%s Num:%s Took:%sms', $this->affected, $this->numRows, $this->took) . ']</small>');
}
pr(sprintf('<p style="text-align:left"><b>' . __('Query:') . '</b> %s %s</p>', $sql, $out));
}
@ -857,7 +854,7 @@ class DboSource extends DataSource {
* be used to generate values.
* @return boolean Success
*/
public function create(&$model, $fields = null, $values = null) {
public function create($model, $fields = null, $values = null) {
$id = null;
if ($fields == null) {
@ -905,7 +902,7 @@ class DboSource extends DataSource {
* @param integer $recursive Number of levels of association
* @return mixed boolean false on error/failure. An array of results on success.
*/
public function read(&$model, $queryData = array(), $recursive = null) {
public function read($model, $queryData = array(), $recursive = null) {
$queryData = $this->__scrubQueryData($queryData);
$null = null;
@ -1049,11 +1046,11 @@ class DboSource extends DataSource {
* @param integer $recursive Number of levels of association
* @param array $stack
*/
public function queryAssociation(&$model, &$linkModel, $type, $association, $assocData, &$queryData, $external = false, &$resultSet, $recursive, $stack) {
public function queryAssociation($model, &$linkModel, $type, $association, $assocData, &$queryData, $external = false, &$resultSet, $recursive, $stack) {
if ($query = $this->generateAssociationQuery($model, $linkModel, $type, $association, $assocData, $queryData, $external, $resultSet)) {
if (!isset($resultSet) || !is_array($resultSet)) {
if (Configure::read('debug') > 0) {
echo '<div style = "font: Verdana bold 12px; color: #FF0000">' . sprintf(__('SQL Error in model %s:'), $model->alias) . ' ';
echo '<div style = "font: Verdana bold 12px; color: #FF0000">' . __('SQL Error in model %s:', $model->alias) . ' ';
if (isset($this->error) && $this->error != null) {
echo $this->error;
}
@ -1345,7 +1342,7 @@ class DboSource extends DataSource {
* @param array $resultSet
* @return mixed
*/
public function generateAssociationQuery(&$model, &$linkModel, $type, $association = null, $assocData = array(), &$queryData, $external = false, &$resultSet) {
public function generateAssociationQuery($model, &$linkModel, $type, $association = null, $assocData = array(), &$queryData, $external = false, &$resultSet) {
$queryData = $this->__scrubQueryData($queryData);
$assocData = $this->__scrubQueryData($assocData);
@ -1578,7 +1575,7 @@ class DboSource extends DataSource {
* @access public
* @see DboSource::renderStatement()
*/
public function buildStatement($query, &$model) {
public function buildStatement($query, $model) {
$query = array_merge(array('offset' => null, 'joins' => array()), $query);
if (!empty($query['joins'])) {
$count = count($query['joins']);
@ -1697,7 +1694,7 @@ class DboSource extends DataSource {
* @param mixed $conditions
* @return boolean Success
*/
public function update(&$model, $fields = array(), $values = null, $conditions = null) {
public function update($model, $fields = array(), $values = null, $conditions = null) {
if ($values == null) {
$combined = $fields;
} else {
@ -1731,7 +1728,7 @@ class DboSource extends DataSource {
* @param boolean $alias Include the model alias in the field name
* @return array Fields and values, quoted and preparted
*/
protected function _prepareUpdateFields(&$model, $fields, $quoteValues = true, $alias = false) {
protected function _prepareUpdateFields($model, $fields, $quoteValues = true, $alias = false) {
$quotedAlias = $this->startQuote . $model->alias . $this->endQuote;
$updates = array();
@ -1774,7 +1771,7 @@ class DboSource extends DataSource {
* @param mixed $conditions
* @return boolean Success
*/
public function delete(&$model, $conditions = null) {
public function delete($model, $conditions = null) {
$alias = $joins = null;
$table = $this->fullTableName($model);
$conditions = $this->_matchRecords($model, $conditions);
@ -1798,7 +1795,7 @@ class DboSource extends DataSource {
* @param mixed $conditions
* @return array List of record IDs
*/
protected function _matchRecords(&$model, $conditions = null) {
protected function _matchRecords($model, $conditions = null) {
if ($conditions === true) {
$conditions = $this->conditions(true);
} elseif ($conditions === null) {
@ -1874,7 +1871,7 @@ class DboSource extends DataSource {
* @param array $params Function parameters (any values must be quoted manually)
* @return string An SQL calculation function
*/
public function calculate(&$model, $func, $params = array()) {
public function calculate($model, $func, $params = array()) {
$params = (array)$params;
switch (strtolower($func)) {
@ -1993,7 +1990,7 @@ class DboSource extends DataSource {
* @see DboSource::update()
* @see DboSource::conditions()
*/
public function defaultConditions(&$model, $conditions, $useAlias = true) {
public function defaultConditions($model, $conditions, $useAlias = true) {
if (!empty($conditions)) {
return $conditions;
}
@ -2052,7 +2049,7 @@ class DboSource extends DataSource {
* @param mixed $fields virtual fields to be used on query
* @return array
*/
protected function _constructVirtualFields(&$model, $alias, $fields) {
protected function _constructVirtualFields($model, $alias, $fields) {
$virtual = array();
foreach ($fields as $field) {
$virtualField = $this->name($alias . $this->virtualFieldSeparator . $field);
@ -2071,7 +2068,7 @@ class DboSource extends DataSource {
* @param boolean $quote If false, returns fields array unquoted
* @return array
*/
public function fields(&$model, $alias = null, $fields = array(), $quote = true) {
public function fields($model, $alias = null, $fields = array(), $quote = true) {
if (empty($alias)) {
$alias = $model->alias;
}
@ -2364,7 +2361,7 @@ class DboSource extends DataSource {
* @return string
* @access private
*/
function __parseKey(&$model, $key, $value) {
function __parseKey($model, $key, $value) {
$operatorMatch = '/^((' . implode(')|(', $this->__sqlOps);
$operatorMatch .= '\\x20)|<[>=]?(?![^>]+>)\\x20?|[>=!]{1,3}(?!<)\\x20?)/is';
$bound = (strpos($key, '?') !== false || (is_array($value) && strpos($key, ':') !== false));
@ -2615,7 +2612,7 @@ class DboSource extends DataSource {
* @param string $sql SQL WHERE clause (condition only, not the "WHERE" part)
* @return boolean True if the table has a matching record, else false
*/
public function hasAny(&$Model, $sql) {
public function hasAny($Model, $sql) {
$sql = $this->conditions($sql);
$table = $this->fullTableName($Model);
$alias = $this->alias . $this->name($Model->alias);
@ -2804,16 +2801,12 @@ class DboSource extends DataSource {
/**
* Generate a "drop table" statement for the given Schema object
*
* @param object $schema An instance of a subclass of CakeSchema
* @param CakeSchema $schema An instance of a subclass of CakeSchema
* @param string $table Optional. If specified only the table name given will be generated.
* Otherwise, all tables defined in the schema are generated.
* @return string
*/
public function dropSchema($schema, $table = null) {
if (!is_a($schema, 'CakeSchema')) {
trigger_error(__('Invalid schema object'), E_USER_WARNING);
return null;
}
public function dropSchema(CakeSchema $schema, $table = null) {
$out = '';
foreach ($schema->tables as $curTable => $columns) {
@ -2841,7 +2834,7 @@ class DboSource extends DataSource {
}
if (!isset($this->columns[$type])) {
trigger_error(sprintf(__('Column type %s does not exist'), $type), E_USER_WARNING);
trigger_error(__('Column type %s does not exist', $type), E_USER_WARNING);
return null;
}

View file

@ -138,7 +138,7 @@ class AclNode extends AppModel {
$model = ClassRegistry::init(array('class' => $name, 'alias' => $name));
if (empty($model)) {
trigger_error(sprintf(__("Model class '%s' not found in AclNode::node() when trying to bind %s object"), $type, $this->alias), E_USER_WARNING);
trigger_error(__("Model class '%s' not found in AclNode::node() when trying to bind %s object", $type, $this->alias), E_USER_WARNING);
return null;
}
@ -183,7 +183,7 @@ class AclNode extends AppModel {
$result = $db->read($this, $queryData, -1);
if (!$result) {
trigger_error(sprintf(__("AclNode::node() - Couldn't find %s node identified by \"%s\""), $type, print_r($ref, true)), E_USER_WARNING);
trigger_error(__("AclNode::node() - Couldn't find %s node identified by \"%s\"", $type, print_r($ref, true)), E_USER_WARNING);
}
}
return $result;

View file

@ -2634,7 +2634,7 @@ class Model extends Object {
} elseif (!is_array($validator['rule'])) {
$valid = preg_match($rule, $data[$fieldName]);
} elseif (Configure::read('debug') > 0) {
trigger_error(sprintf(__('Could not find validation handler %s for %s'), $rule, $fieldName), E_USER_WARNING);
trigger_error(__('Could not find validation handler %s for %s', $rule, $fieldName), E_USER_WARNING);
}
if (!$valid || (is_string($valid) && strlen($valid) > 0)) {
@ -2943,7 +2943,7 @@ class Model extends Object {
return array($with, array_unique(array_merge($assoc[$with], $keys)));
}
trigger_error(
sprintf(__('Invalid join model settings in %s'), $model->alias),
__('Invalid join model settings in %s', $model->alias),
E_USER_WARNING
);
}

View file

@ -59,7 +59,7 @@ class ModelBehavior extends Object {
* @param object $model Model using this behavior
* @param array $config Configuration settings for $model
*/
public function setup(&$model, $config = array()) { }
public function setup($model, $config = array()) { }
/**
* Clean up any initialization this behavior has done on a model. Called when a behavior is dynamically
@ -69,7 +69,7 @@ class ModelBehavior extends Object {
* @access public
* @see BehaviorCollection::detach()
*/
function cleanup(&$model) {
function cleanup($model) {
if (isset($this->settings[$model->alias])) {
unset($this->settings[$model->alias]);
}
@ -83,7 +83,7 @@ class ModelBehavior extends Object {
* @return mixed False if the operation should abort. An array will replace the value of $query.
* @access public
*/
public function beforeFind(&$model, $query) { }
public function beforeFind($model, $query) { }
/**
* After find callback. Can be used to modify any results returned by find and findAll.
@ -94,7 +94,7 @@ class ModelBehavior extends Object {
* @return mixed An array value will replace the value of $results - any other value will be ignored.
* @access public
*/
public function afterFind(&$model, $results, $primary) { }
public function afterFind($model, $results, $primary) { }
/**
* Before validate callback
@ -103,7 +103,7 @@ class ModelBehavior extends Object {
* @return mixed False if the operation should abort. Any other result will continue.
* @access public
*/
public function beforeValidate(&$model) { }
public function beforeValidate($model) { }
/**
* Before save callback
@ -112,7 +112,7 @@ class ModelBehavior extends Object {
* @return mixed False if the operation should abort. Any other result will continue.
* @access public
*/
public function beforeSave(&$model) { }
public function beforeSave($model) { }
/**
* After save callback
@ -120,7 +120,7 @@ class ModelBehavior extends Object {
* @param object $model Model using this behavior
* @param boolean $created True if this save created a new record
*/
public function afterSave(&$model, $created) { }
public function afterSave($model, $created) { }
/**
* Before delete callback
@ -130,14 +130,14 @@ class ModelBehavior extends Object {
* @return mixed False if the operation should abort. Any other result will continue.
* @access public
*/
public function beforeDelete(&$model, $cascade = true) { }
public function beforeDelete($model, $cascade = true) { }
/**
* After delete callback
*
* @param object $model Model using this behavior
*/
public function afterDelete(&$model) { }
public function afterDelete($model) { }
/**
* DataSource error callback
@ -145,7 +145,7 @@ class ModelBehavior extends Object {
* @param object $model Model using this behavior
* @param string $error Error generated in DataSource
*/
public function onError(&$model, $error) { }
public function onError($model, $error) { }
/**
* If $model's whitelist property is non-empty, $field will be added to it.
@ -158,7 +158,7 @@ class ModelBehavior extends Object {
* @access protected
* @return void
*/
function _addToWhitelist(&$model, $field) {
function _addToWhitelist($model, $field) {
if (is_array($field)) {
foreach ($field as $f) {
$this->_addToWhitelist($model, $f);

View file

@ -13,7 +13,6 @@
* @copyright Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
* @link http://cakephp.org CakePHP(tm) Project
* @package cake
* @subpackage cake.cake.libs
* @since CakePHP(tm) v 2.0
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
@ -27,6 +26,7 @@ App::uses('Set', 'Core');
*
* `$request['controller']` or `$request->controller`.
*
* @package cake.libs
*/
class CakeRequest implements ArrayAccess {
/**

View file

@ -528,7 +528,7 @@ class HttpSocket extends CakeSocket {
if (!is_callable(array(&$this, $decodeMethod))) {
if (!$this->quirksMode) {
trigger_error(sprintf(__('HttpSocket::_decodeBody - Unknown encoding: %s. Activate quirks mode to surpress error.'), h($encoding)), E_USER_WARNING);
trigger_error(__('HttpSocket::_decodeBody - Unknown encoding: %s. Activate quirks mode to surpress error.', h($encoding)), E_USER_WARNING);
}
return array('body' => $body, 'header' => false);
}
@ -825,7 +825,7 @@ class HttpSocket extends CakeSocket {
$request['uri'] = $this->_buildUri($request['uri'], '/%path?%query');
if (!$this->quirksMode && $request['uri'] === '*' && !in_array($request['method'], $asteriskMethods)) {
trigger_error(sprintf(__('HttpSocket::_buildRequestLine - The "*" asterisk character is only allowed for the following methods: %s. Activate quirks mode to work outside of HTTP/1.1 specs.'), join(',', $asteriskMethods)), E_USER_WARNING);
trigger_error(__('HttpSocket::_buildRequestLine - The "*" asterisk character is only allowed for the following methods: %s. Activate quirks mode to work outside of HTTP/1.1 specs.', implode(',', $asteriskMethods)), E_USER_WARNING);
return false;
}
return $request['method'].' '.$request['uri'].' '.$versionToken.$this->lineBreak;

View file

@ -150,7 +150,7 @@ class ClassRegistry {
}
if (!isset(${$class})) {
trigger_error(sprintf(__('(ClassRegistry::init() could not create instance of %1$s class %2$s '), $class, $type), E_USER_WARNING);
trigger_error(__('(ClassRegistry::init() could not create instance of %1$s class %2$s ', $class, $type), E_USER_WARNING);
return $false;
}

View file

@ -359,11 +359,11 @@ class Folder {
if ($recursive === false && is_dir($path)) {
if (@chmod($path, intval($mode, 8))) {
$this->__messages[] = sprintf(__('%s changed to %s'), $path, $mode);
$this->__messages[] = __('%s changed to %s', $path, $mode);
return true;
}
$this->__errors[] = sprintf(__('%s NOT changed to %s'), $path, $mode);
$this->__errors[] = __('%s NOT changed to %s', $path, $mode);
return false;
}
@ -380,9 +380,9 @@ class Folder {
}
if (@chmod($fullpath, intval($mode, 8))) {
$this->__messages[] = sprintf(__('%s changed to %s'), $fullpath, $mode);
$this->__messages[] = __('%s changed to %s', $fullpath, $mode);
} else {
$this->__errors[] = sprintf(__('%s NOT changed to %s'), $fullpath, $mode);
$this->__errors[] = __('%s NOT changed to %s', $fullpath, $mode);
}
}
}
@ -467,7 +467,7 @@ class Folder {
}
if (is_file($pathname)) {
$this->__errors[] = sprintf(__('%s is a file'), $pathname);
$this->__errors[] = __('%s is a file', $pathname);
return false;
}
$pathname = rtrim($pathname, DS);
@ -478,11 +478,11 @@ class Folder {
$old = umask(0);
if (mkdir($pathname, $mode)) {
umask($old);
$this->__messages[] = sprintf(__('%s created'), $pathname);
$this->__messages[] = __('%s created', $pathname);
return true;
} else {
umask($old);
$this->__errors[] = sprintf(__('%s NOT created'), $pathname);
$this->__errors[] = __('%s NOT created', $pathname);
return false;
}
}
@ -555,9 +555,9 @@ class Folder {
}
if (is_file($file) === true) {
if (@unlink($file)) {
$this->__messages[] = sprintf(__('%s removed'), $file);
$this->__messages[] = __('%s removed', $file);
} else {
$this->__errors[] = sprintf(__('%s NOT removed'), $file);
$this->__errors[] = __('%s NOT removed', $file);
}
} elseif (is_dir($file) === true && $this->delete($file) === false) {
return false;
@ -566,10 +566,10 @@ class Folder {
}
$path = substr($path, 0, strlen($path) - 1);
if (rmdir($path) === false) {
$this->__errors[] = sprintf(__('%s NOT removed'), $path);
$this->__errors[] = __('%s NOT removed', $path);
return false;
} else {
$this->__messages[] = sprintf(__('%s removed'), $path);
$this->__messages[] = __('%s removed', $path);
}
}
return true;
@ -604,7 +604,7 @@ class Folder {
$mode = $options['mode'];
if (!$this->cd($fromDir)) {
$this->__errors[] = sprintf(__('%s not found'), $fromDir);
$this->__errors[] = __('%s not found', $fromDir);
return false;
}
@ -613,7 +613,7 @@ class Folder {
}
if (!is_writable($toDir)) {
$this->__errors[] = sprintf(__('%s not writable'), $toDir);
$this->__errors[] = __('%s not writable', $toDir);
return false;
}
@ -627,9 +627,9 @@ class Folder {
if (copy($from, $to)) {
chmod($to, intval($mode, 8));
touch($to, filemtime($from));
$this->__messages[] = sprintf(__('%s copied to %s'), $from, $to);
$this->__messages[] = __('%s copied to %s', $from, $to);
} else {
$this->__errors[] = sprintf(__('%s NOT copied to %s'), $from, $to);
$this->__errors[] = __('%s NOT copied to %s', $from, $to);
}
}
@ -640,11 +640,11 @@ class Folder {
$old = umask(0);
chmod($to, $mode);
umask($old);
$this->__messages[] = sprintf(__('%s created'), $to);
$this->__messages[] = __('%s created', $to);
$options = array_merge($options, array('to'=> $to, 'from'=> $from));
$this->copy($options);
} else {
$this->__errors[] = sprintf(__('%s not created'), $to);
$this->__errors[] = __('%s not created', $to);
}
}
}

View file

@ -713,11 +713,11 @@ class Validation {
protected static function _pass($method, $check, $classPrefix) {
$className = ucwords($classPrefix) . 'Validation';
if (!class_exists($className)) {
trigger_error(sprintf(__('Could not find %s class, unable to complete validation.', true), $className), E_USER_WARNING);
trigger_error(__('Could not find %s class, unable to complete validation.', $className), E_USER_WARNING);
return false;
}
if (!method_exists($className, $method)) {
trigger_error(sprintf(__('Method %s does not exist on %s unable to complete validation.', true), $method, $className), E_USER_WARNING);
trigger_error(__('Method %s does not exist on %s unable to complete validation.', $method, $className), E_USER_WARNING);
return false;
}
$check = (array)$check;

View file

@ -127,7 +127,7 @@ class Helper extends Object {
* @param array $params Array of params for the method.
*/
public function __call($method, $params) {
trigger_error(sprintf(__('Method %1$s::%2$s does not exist'), get_class($this), $method), E_USER_WARNING);
trigger_error(__('Method %1$s::%2$s does not exist', get_class($this), $method), E_USER_WARNING);
}
/**

View file

@ -507,7 +507,7 @@ class FormHelper extends AppHelper {
if ($text != null) {
$error = $text;
} elseif (is_numeric($error)) {
$error = sprintf(__('Error in field %s'), Inflector::humanize($this->field()));
$error = __('Error in field %s', Inflector::humanize($this->field()));
}
if ($options['escape']) {
$error = h($error);
@ -1142,7 +1142,7 @@ class FormHelper extends AppHelper {
public function __call($method, $params) {
$options = array();
if (empty($params)) {
throw new Exception(sprintf(__('Missing field name for FormHelper::%s'), $method));
throw new Exception(__('Missing field name for FormHelper::%s', $method));
}
if (isset($params[1])) {
$options = $params[1];

View file

@ -155,7 +155,7 @@ class JsHelper extends AppHelper {
if (method_exists($this, $method . '_')) {
return call_user_func(array(&$this, $method . '_'), $params);
}
trigger_error(sprintf(__('JsHelper:: Missing Method %s is undefined'), $method), E_USER_WARNING);
trigger_error(__('JsHelper:: Missing Method %s is undefined', $method), E_USER_WARNING);
}
/**

View file

@ -90,15 +90,15 @@ class NumberHelper extends AppHelper {
public function toReadableSize($size) {
switch (true) {
case $size < 1024:
return sprintf(__n('%d Byte', '%d Bytes', $size), $size);
return __n('%d Byte', '%d Bytes', $size, $size);
case round($size / 1024) < 1024:
return sprintf(__('%d KB'), $this->precision($size / 1024, 0));
return __('%d KB', $this->precision($size / 1024, 0));
case round($size / 1024 / 1024, 2) < 1024:
return sprintf(__('%.2f MB'), $this->precision($size / 1024 / 1024, 2));
return __('%.2f MB', $this->precision($size / 1024 / 1024, 2));
case round($size / 1024 / 1024 / 1024, 2) < 1024:
return sprintf(__('%.2f GB'), $this->precision($size / 1024 / 1024 / 1024, 2));
return __('%.2f GB', $this->precision($size / 1024 / 1024 / 1024, 2));
default:
return sprintf(__('%.2f TB'), $this->precision($size / 1024 / 1024 / 1024 / 1024, 2));
return __('%.2f TB', $this->precision($size / 1024 / 1024 / 1024 / 1024, 2));
}
}

View file

@ -226,9 +226,9 @@ class TimeHelper extends AppHelper {
$y = $this->isThisYear($date) ? '' : ' %Y';
if ($this->isToday($date)) {
$ret = sprintf(__('Today, %s'), strftime("%H:%M", $date));
$ret = __('Today, %s', strftime("%H:%M", $date));
} elseif ($this->wasYesterday($date)) {
$ret = sprintf(__('Yesterday, %s'), strftime("%H:%M", $date));
$ret = __('Yesterday, %s', strftime("%H:%M", $date));
} else {
$format = $this->convertSpecifiers("%b %eS{$y}, %H:%M", $date);
$ret = strftime($format, $date);
@ -574,7 +574,7 @@ class TimeHelper extends AppHelper {
$diff = $futureTime - $pastTime;
if ($diff > abs($now - $this->fromString($end))) {
$relativeDate = sprintf(__('on %s'), date($format, $inSeconds));
$relativeDate = __('on %s', date($format, $inSeconds));
} else {
if ($years > 0) {
// years and months and days
@ -608,7 +608,7 @@ class TimeHelper extends AppHelper {
}
if (!$backwards) {
$relativeDate = sprintf(__('%s ago'), $relativeDate);
$relativeDate = __('%s ago', $relativeDate);
}
}
return $relativeDate;

View file

@ -408,7 +408,7 @@ class View extends Object {
$layout = $this->layout;
}
if ($this->output === false) {
throw new RuntimeException(sprintf(__("Error in view %s, got no content."), $viewFileName));
throw new RuntimeException(__("Error in view %s, got no content.", $viewFileName));
}
if ($layout && $this->autoLayout) {
$this->output = $this->renderLayout($this->output, $layout);
@ -450,7 +450,7 @@ class View extends Object {
$this->output = $this->_render($layoutFileName);
if ($this->output === false) {
throw new RuntimeException(sprintf(__("Error in layout %s, got no content."), $layoutFileName));
throw new RuntimeException(__("Error in layout %s, got no content.", $layoutFileName));
}
$this->Helpers->trigger('afterLayout', array($layoutFileName));

View file

@ -17,14 +17,14 @@
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
?>
<h2><?php printf(__('Missing Method in %s'), $controller); ?></h2>
<h2><?php echo __('Missing Method in %s', $controller); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('The action %1$s is not defined in controller %2$s'), '<em>' . $action . '</em>', '<em>' . $controller . '</em>'); ?>
<?php echo __('The action %1$s is not defined in controller %2$s', '<em>' . $action . '</em>', '<em>' . $controller . '</em>'); ?>
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Create %1$s%2$s in file: %3$s.'), '<em>' . $controller . '::</em>', '<em>' . $action . '()</em>', APP_DIR . DS . 'controllers' . DS . Inflector::underscore($controller) . '.php'); ?>
<?php echo __('Create %1$s%2$s in file: %3$s.', '<em>' . $controller . '::</em>', '<em>' . $action . '()</em>', APP_DIR . DS . 'controllers' . DS . Inflector::underscore($controller) . '.php'); ?>
</p>
<pre>
&lt;?php
@ -40,6 +40,6 @@ class <?php echo $controller;?> extends AppController {
</pre>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_action.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_action.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -20,11 +20,11 @@
<h2><?php echo __('Missing Behavior Class'); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('The behavior class <em>%s</em> can not be found or does not exist.'), $class); ?>
<?php echo __('The behavior class <em>%s</em> can not be found or does not exist.', $class); ?>
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Create the class below in file: %s'), APP_DIR . DS . 'models' . DS . 'behaviors' . DS . $file); ?>
<?php echo __('Create the class below in file: %s', APP_DIR . DS . 'models' . DS . 'behaviors' . DS . $file); ?>
</p>
<pre>
&lt;?php
@ -35,7 +35,7 @@ class <?php echo $class;?> extends ModelBehavior {
</pre>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_behavior_class.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_behavior_class.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -20,11 +20,11 @@
<h2><?php echo __('Missing Behavior File'); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('The Behavior file %s can not be found or does not exist.'), APP_DIR . DS . 'models' . DS . 'behaviors' . DS . $file); ?>
<?php echo __('The Behavior file %s can not be found or does not exist.', APP_DIR . DS . 'models' . DS . 'behaviors' . DS . $file); ?>
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Create the class below in file: %s'), APP_DIR . DS . 'models' . DS . 'behaviors' . DS . $file); ?>
<?php echo __('Create the class below in file: %s', APP_DIR . DS . 'models' . DS . 'behaviors' . DS . $file); ?>
</p>
<pre>
&lt;?php
@ -35,7 +35,7 @@ class <?php echo $class;?> extends ModelBehavior {
</pre>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_behavior_file.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_behavior_file.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -20,11 +20,11 @@
<h2><?php echo __('Missing Component Class'); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Component class %1$s was not found.'), '<em>' . $class . '</em>'); ?>
<?php echo __('Component class %1$s was not found.', '<em>' . $class . '</em>'); ?>
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Create the class %s in file: %s'), '<em>' . $class . '</em>', APP_DIR . DS . 'controllers' . DS . 'components' . DS . $file); ?>
<?php echo __('Create the class %s in file: %s', '<em>' . $class . '</em>', APP_DIR . DS . 'controllers' . DS . 'components' . DS . $file); ?>
</p>
<pre>
&lt;?php
@ -35,7 +35,7 @@ class <?php echo $class;?> extends Component {<br />
</pre>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_component_class.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_component_class.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -24,7 +24,7 @@
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Create the class %s in file: %s'), '<em>' . $class . '</em>', APP_DIR . DS . 'controllers' . DS . 'components' . DS . $file); ?>
<?php echo __('Create the class %s in file: %s', '<em>' . $class . '</em>', APP_DIR . DS . 'controllers' . DS . 'components' . DS . $file); ?>
</p>
<pre>
&lt;?php
@ -35,7 +35,7 @@ class <?php echo $class;?> extends Component {<br />
</pre>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_component_file.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_component_file.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -20,15 +20,15 @@
<h2><?php echo __('Missing Database Connection'); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('%s requires a database connection'), $class); ?>
<?php echo __('%s requires a database connection', $class); ?>
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Confirm you have created the file : %s.'), APP_DIR . DS . 'config' . DS . 'database.php'); ?>
<?php echo __('Confirm you have created the file : %s.', APP_DIR . DS . 'config' . DS . 'database.php'); ?>
</p>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s.'), APP_DIR . DS . 'views' . DS . 'errors' . DS . basename(__FILE__)); ?>
<?php echo __('If you want to customize this error message, create %s.', APP_DIR . DS . 'views' . DS . 'errors' . DS . basename(__FILE__)); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -20,11 +20,11 @@
<h2><?php echo __('Missing Controller'); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('%s could not be found.'), '<em>' . $controller . '</em>'); ?>
<?php echo __('%s could not be found.', '<em>' . $controller . '</em>'); ?>
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Create the class %s below in file: %s'), '<em>' . $controller . '</em>', APP_DIR . DS . 'controllers' . DS . Inflector::underscore($controller) . '.php'); ?>
<?php echo __('Create the class %s below in file: %s', '<em>' . $controller . '</em>', APP_DIR . DS . 'controllers' . DS . Inflector::underscore($controller) . '.php'); ?>
</p>
<pre>
&lt;?php
@ -35,7 +35,7 @@ class <?php echo $controller;?> extends AppController {
</pre>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_controller.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_controller.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -24,11 +24,11 @@
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Confirm you have created the file: %s'), APP_DIR . DS . 'config' . DS . 'database.php'); ?>
<?php echo __('Confirm you have created the file: %s', APP_DIR . DS . 'config' . DS . 'database.php'); ?>
</p>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_scaffolddb.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_scaffolddb.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -20,11 +20,11 @@
<h2><?php echo __('Missing Helper Class'); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('The helper class <em>%s</em> can not be found or does not exist.'), $class); ?>
<?php echo __('The helper class <em>%s</em> can not be found or does not exist.', $class); ?>
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Create the class below in file: %s'), APP_DIR . DS . 'views' . DS . 'helpers' . DS . $file); ?>
<?php echo __('Create the class below in file: %s', APP_DIR . DS . 'views' . DS . 'helpers' . DS . $file); ?>
</p>
<pre>
&lt;?php
@ -35,7 +35,7 @@ class <?php echo $class;?> extends AppHelper {
</pre>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_helper_class.ctp'); ?>
<?php __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_helper_class.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -20,11 +20,11 @@
<h2><?php echo __('Missing Helper File'); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('The helper file %s can not be found or does not exist.'), APP_DIR . DS . 'views' . DS . 'helpers' . DS . $file); ?>
<?php echo __('The helper file %s can not be found or does not exist.', APP_DIR . DS . 'views' . DS . 'helpers' . DS . $file); ?>
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Create the class below in file: %s'), APP_DIR . DS . 'views' . DS . 'helpers' . DS . $file); ?>
<?php echo __('Create the class below in file: %s', APP_DIR . DS . 'views' . DS . 'helpers' . DS . $file); ?>
</p>
<pre>
&lt;?php
@ -35,7 +35,7 @@ class <?php echo $class;?> extends AppHelper {
</pre>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_helper_file.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_helper_file.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -20,15 +20,15 @@
<h2><?php echo __('Missing Layout'); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('The layout file %s can not be found or does not exist.'), '<em>' . $file . '</em>'); ?>
<?php echo __('The layout file %s can not be found or does not exist.', '<em>' . $file . '</em>'); ?>
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Confirm you have created the file: %s'), '<em>' . $file . '</em>'); ?>
<?php echo __('Confirm you have created the file: %s', '<em>' . $file . '</em>'); ?>
</p>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_layout.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_layout.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -20,11 +20,11 @@
<h2><?php echo __('Missing Database Table'); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Database table %1$s for model %2$s was not found.'), '<em>' . $table . '</em>', '<em>' . $class . '</em>'); ?>
<?php echo __('Database table %1$s for model %2$s was not found.', '<em>' . $table . '</em>', '<em>' . $class . '</em>'); ?>
</p>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_table.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_table.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -20,15 +20,15 @@
<h2><?php echo __('Missing View'); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('The view for %1$s%2$s was not found.'), '<em>' . Inflector::camelize($this->request->controller) . 'Controller::</em>', '<em>' . $this->request->action . '()</em>'); ?>
<?php echo __('The view for %1$s%2$s was not found.', '<em>' . Inflector::camelize($this->request->controller) . 'Controller::</em>', '<em>' . $this->request->action . '()</em>'); ?>
</p>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('Confirm you have created the file: %s'), $file); ?>
<?php echo __('Confirm you have created the file: %s', $file); ?>
</p>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_view.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'missing_view.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -17,14 +17,14 @@
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
?>
<h2><?php printf(__('Private Method in %s'), $controller); ?></h2>
<h2><?php echo __('Private Method in %s', $controller); ?></h2>
<p class="error">
<strong><?php echo __('Error'); ?>: </strong>
<?php printf(__('%s%s cannot be accessed directly.'), '<em>' . $controller . '::</em>', '<em>' . $action . '()</em>'); ?>
<?php echo __('%s%s cannot be accessed directly.', '<em>' . $controller . '::</em>', '<em>' . $action . '()</em>'); ?>
</p>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'private_action.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'private_action.ctp'); ?>
</p>
<?php echo $this->element('exception_stack_trace'); ?>

View file

@ -24,7 +24,7 @@
</p>
<p class="notice">
<strong><?php echo __('Notice'); ?>: </strong>
<?php printf(__('If you want to customize this error message, create %s'), APP_DIR . DS . 'views' . DS . 'errors' . DS . 'scaffold_error.ctp'); ?>
<?php echo __('If you want to customize this error message, create %s', APP_DIR . DS . 'views' . DS . 'errors' . DS . 'scaffold_error.ctp'); ?>
</p>
<pre>
&lt;?php

View file

@ -20,7 +20,7 @@ if (Configure::read() == 0):
$this->cakeError('error404');
endif;
?>
<h2><?php echo sprintf(__('Release Notes for CakePHP %s.', true), Configure::version()); ?></h2>
<h2><?php echo __('Release Notes for CakePHP %s.', Configure::version()); ?></h2>
<a href="http://cakephp.org/changelogs/1.3.6"><?php __('Read the changelog'); ?> </a>
<?php
if (Configure::read() > 0):
@ -45,7 +45,7 @@ endif;
$settings = Cache::settings();
if (!empty($settings)):
echo '<span class="notice success">';
printf(__('The %s is being used for caching. To change the config edit APP/config/core.php '), '<em>'. $settings['engine'] . 'Engine</em>');
echo __('The %s is being used for caching. To change the config edit APP/config/core.php ', '<em>'. $settings['engine'] . 'Engine</em>');
echo '</span>';
else:
echo '<span class="notice">';

View file

@ -36,8 +36,8 @@
foreach ($associations as $_type => $_data) {
foreach ($_data as $_alias => $_details) {
if ($_details['controller'] != $this->name && !in_array($_details['controller'], $done)) {
echo "\t\t<li>" . $this->Html->link(sprintf(__('List %s'), Inflector::humanize($_details['controller'])), array('controller' => $_details['controller'], 'action' =>'index')) . "</li>\n";
echo "\t\t<li>" . $this->Html->link(sprintf(__('New %s'), Inflector::humanize(Inflector::underscore($_alias))), array('controller' => $_details['controller'], 'action' =>'add')) . "</li>\n";
echo "\t\t<li>" . $this->Html->link(__('List %s', Inflector::humanize($_details['controller'])), array('controller' => $_details['controller'], 'action' =>'index')) . "</li>\n";
echo "\t\t<li>" . $this->Html->link(__('New %s', Inflector::humanize(Inflector::underscore($_alias))), array('controller' => $_details['controller'], 'action' =>'add')) . "</li>\n";
$done[] = $_details['controller'];
}
}

View file

@ -76,14 +76,14 @@ echo "\n";
<div class="actions">
<h3><?php echo __('Actions'); ?></h3>
<ul>
<li><?php echo $this->Html->link(sprintf(__('New %s'), $singularHumanName), array('action' => 'add')); ?></li>
<li><?php echo $this->Html->link(__('New %s', $singularHumanName), array('action' => 'add')); ?></li>
<?php
$done = array();
foreach ($associations as $_type => $_data) {
foreach ($_data as $_alias => $_details) {
if ($_details['controller'] != $this->name && !in_array($_details['controller'], $done)) {
echo "\t\t<li>" . $this->Html->link(sprintf(__('List %s'), Inflector::humanize($_details['controller'])), array('controller' => $_details['controller'], 'action' => 'index')) . "</li>\n";
echo "\t\t<li>" . $this->Html->link(sprintf(__('New %s'), Inflector::humanize(Inflector::underscore($_alias))), array('controller' => $_details['controller'], 'action' => 'add')) . "</li>\n";
echo "\t\t<li>" . $this->Html->link(__('List %s', Inflector::humanize($_details['controller'])), array('controller' => $_details['controller'], 'action' => 'index')) . "</li>\n";
echo "\t\t<li>" . $this->Html->link(__('New %s', Inflector::humanize(Inflector::underscore($_alias))), array('controller' => $_details['controller'], 'action' => 'add')) . "</li>\n";
$done[] = $_details['controller'];
}
}

View file

@ -18,7 +18,7 @@
*/
?>
<div class="<?php echo $pluralVar;?> view">
<h2><?php printf(__('View %s'), $singularHumanName); ?></h2>
<h2><?php echo __('View %s', $singularHumanName); ?></h2>
<dl>
<?php
$i = 0;
@ -50,17 +50,17 @@ foreach ($scaffoldFields as $_field) {
<h3><?php echo __('Actions'); ?></h3>
<ul>
<?php
echo "\t\t<li>" .$this->Html->link(sprintf(__('Edit %s'), $singularHumanName), array('action' => 'edit', ${$singularVar}[$modelClass][$primaryKey])). " </li>\n";
echo "\t\t<li>" .$this->Html->link(sprintf(__('Delete %s'), $singularHumanName), array('action' => 'delete', ${$singularVar}[$modelClass][$primaryKey]), null, __('Are you sure you want to delete').' #' . ${$singularVar}[$modelClass][$primaryKey] . '?'). " </li>\n";
echo "\t\t<li>" .$this->Html->link(sprintf(__('List %s'), $pluralHumanName), array('action' => 'index')). " </li>\n";
echo "\t\t<li>" .$this->Html->link(sprintf(__('New %s'), $singularHumanName), array('action' => 'add')). " </li>\n";
echo "\t\t<li>" .$this->Html->link(__('Edit %s', $singularHumanName), array('action' => 'edit', ${$singularVar}[$modelClass][$primaryKey])). " </li>\n";
echo "\t\t<li>" .$this->Html->link(__('Delete %s', $singularHumanName), array('action' => 'delete', ${$singularVar}[$modelClass][$primaryKey]), null, __('Are you sure you want to delete').' #' . ${$singularVar}[$modelClass][$primaryKey] . '?'). " </li>\n";
echo "\t\t<li>" .$this->Html->link(__('List %s', $pluralHumanName), array('action' => 'index')). " </li>\n";
echo "\t\t<li>" .$this->Html->link(__('New %s', $singularHumanName), array('action' => 'add')). " </li>\n";
$done = array();
foreach ($associations as $_type => $_data) {
foreach ($_data as $_alias => $_details) {
if ($_details['controller'] != $this->name && !in_array($_details['controller'], $done)) {
echo "\t\t<li>" . $this->Html->link(sprintf(__('List %s'), Inflector::humanize($_details['controller'])), array('controller' => $_details['controller'], 'action' => 'index')) . "</li>\n";
echo "\t\t<li>" . $this->Html->link(sprintf(__('New %s'), Inflector::humanize(Inflector::underscore($_alias))), array('controller' => $_details['controller'], 'action' => 'add')) . "</li>\n";
echo "\t\t<li>" . $this->Html->link(__('List %s', Inflector::humanize($_details['controller'])), array('controller' => $_details['controller'], 'action' => 'index')) . "</li>\n";
echo "\t\t<li>" . $this->Html->link(__('New %s', Inflector::humanize(Inflector::underscore($_alias))), array('controller' => $_details['controller'], 'action' => 'add')) . "</li>\n";
$done[] = $_details['controller'];
}
}
@ -72,7 +72,7 @@ foreach ($scaffoldFields as $_field) {
if (!empty($associations['hasOne'])) :
foreach ($associations['hasOne'] as $_alias => $_details): ?>
<div class="related">
<h3><?php printf(__("Related %s", true), Inflector::humanize($_details['controller'])); ?></h3>
<h3><?php echo __("Related %s", Inflector::humanize($_details['controller'])); ?></h3>
<?php if (!empty(${$singularVar}[$_alias])):?>
<dl>
<?php
@ -91,7 +91,7 @@ foreach ($associations['hasOne'] as $_alias => $_details): ?>
<?php endif; ?>
<div class="actions">
<ul>
<li><?php echo $this->Html->link(sprintf(__('Edit %s', true), Inflector::humanize(Inflector::underscore($_alias))), array('controller' => $_details['controller'], 'action' => 'edit', ${$singularVar}[$_alias][$_details['primaryKey']]))."</li>\n";?>
<li><?php echo $this->Html->link(__('Edit %s', Inflector::humanize(Inflector::underscore($_alias))), array('controller' => $_details['controller'], 'action' => 'edit', ${$singularVar}[$_alias][$_details['primaryKey']]))."</li>\n";?>
</ul>
</div>
</div>
@ -111,7 +111,7 @@ foreach ($relations as $_alias => $_details):
$otherSingularVar = Inflector::variable($_alias);
?>
<div class="related">
<h3><?php printf(__("Related %s", true), Inflector::humanize($_details['controller'])); ?></h3>
<h3><?php echo __("Related %s", Inflector::humanize($_details['controller'])); ?></h3>
<?php if (!empty(${$singularVar}[$_alias])):?>
<table cellpadding="0" cellspacing="0">
<tr>
@ -152,7 +152,7 @@ $otherSingularVar = Inflector::variable($_alias);
<?php endif; ?>
<div class="actions">
<ul>
<li><?php echo $this->Html->link(sprintf(__("New %s", true), Inflector::humanize(Inflector::underscore($_alias))), array('controller' => $_details['controller'], 'action' => 'add'));?> </li>
<li><?php echo $this->Html->link(__("New %s", Inflector::humanize(Inflector::underscore($_alias))), array('controller' => $_details['controller'], 'action' => 'add'));?> </li>
</ul>
</div>
</div>

View file

@ -461,16 +461,23 @@ if (!function_exists('sortByKey')) {
* Returns a translated string if one is found; Otherwise, the submitted message.
*
* @param string $singular Text to translate
* @param boolean $return Set to true to return translated string, or false to echo
* @return mixed translated string if $return is false string will be echoed
* @param mixed $args Array with arguments or multiple arguments in function
* @return mixed translated string
* @link http://book.cakephp.org/view/1121/__
*/
function __($singular) {
function __($singular, $args = null) {
if (!$singular) {
return;
}
App::uses('I18n', 'I18n');
return I18n::translate($singular);
$translated = I18n::translate($singular);
if ($args === null) {
return $translated;
} elseif (!is_array($args)) {
$args = array_slice(func_get_args(), 1);
}
return vsprintf($translated, $args);
}
/**
@ -480,15 +487,22 @@ if (!function_exists('sortByKey')) {
* @param string $singular Singular text to translate
* @param string $plural Plural text
* @param integer $count Count
* @param boolean $return true to return, false to echo
* @return mixed plural form of translated string if $return is false string will be echoed
* @param mixed $args Array with arguments or multiple arguments in function
* @return mixed plural form of translated string
*/
function __n($singular, $plural, $count) {
function __n($singular, $plural, $count, $args = null) {
if (!$singular) {
return;
}
App::uses('I18n', 'I18n');
return I18n::translate($singular, $plural, null, 6, $count);
$translated = I18n::translate($singular, $plural, null, 6, $count);
if ($args === null) {
return $translated;
} elseif (!is_array($args)) {
$args = array_slice(func_get_args(), 3);
}
return vsprintf($translated, $args);
}
/**
@ -496,15 +510,21 @@ if (!function_exists('sortByKey')) {
*
* @param string $domain Domain
* @param string $msg String to translate
* @param string $return true to return, false to echo
* @return translated string if $return is false string will be echoed
* @param mixed $args Array with arguments or multiple arguments in function
* @return translated string
*/
function __d($domain, $msg) {
function __d($domain, $msg, $args = null) {
if (!$msg) {
return;
}
App::uses('I18n', 'I18n');
return I18n::translate($msg, null, $domain);
$translated = I18n::translate($msg, null, $domain);
if ($args === null) {
return $translated;
} elseif (!is_array($args)) {
$args = array_slice(func_get_args(), 2);
}
return vsprintf($translated, $args);
}
/**
@ -516,15 +536,21 @@ if (!function_exists('sortByKey')) {
* @param string $singular Singular string to translate
* @param string $plural Plural
* @param integer $count Count
* @param boolean $return true to return, false to echo
* @return plural form of translated string if $return is false string will be echoed
* @param mixed $args Array with arguments or multiple arguments in function
* @return plural form of translated string
*/
function __dn($domain, $singular, $plural, $count) {
function __dn($domain, $singular, $plural, $count, $args = null) {
if (!$singular) {
return;
}
App::uses('I18n', 'I18n');
return I18n::translate($singular, $plural, $domain, 6, $count);
$translated = I18n::translate($singular, $plural, $domain, 6, $count);
if ($args === null) {
return $translated;
} elseif (!is_array($args)) {
$args = array_slice(func_get_args(), 4);
}
return vsprintf($translated, $args);
}
/**
@ -547,15 +573,21 @@ if (!function_exists('sortByKey')) {
* @param string $domain Domain
* @param string $msg Message to translate
* @param integer $category Category
* @param boolean $return true to return, false to echo
* @return translated string if $return is false string will be echoed
* @param mixed $args Array with arguments or multiple arguments in function
* @return translated string
*/
function __dc($domain, $msg, $category) {
function __dc($domain, $msg, $category, $args = null) {
if (!$msg) {
return;
}
App::uses('I18n', 'I18n');
return I18n::translate($msg, null, $domain, $category);
$translated = I18n::translate($msg, null, $domain, $category);
if ($args === null) {
return $translated;
} elseif (!is_array($args)) {
$args = array_slice(func_get_args(), 3);
}
return vsprintf($translated, $args);
}
/**
@ -582,15 +614,21 @@ if (!function_exists('sortByKey')) {
* @param string $plural Plural
* @param integer $count Count
* @param integer $category Category
* @param boolean $return true to return, false to echo
* @return plural form of translated string if $return is false string will be echoed
* @param mixed $args Array with arguments or multiple arguments in function
* @return plural form of translated string
*/
function __dcn($domain, $singular, $plural, $count, $category) {
function __dcn($domain, $singular, $plural, $count, $category, $args = null) {
if (!$singular) {
return;
}
App::uses('I18n', 'I18n');
return I18n::translate($singular, $plural, $domain, $category, $count);
$translated = I18n::translate($singular, $plural, $domain, $category, $count);
if ($args === null) {
return $translated;
} elseif (!is_array($args)) {
$args = array_slice(func_get_args(), 5);
}
return vsprintf($translated, $args);
}
/**
@ -609,15 +647,21 @@ if (!function_exists('sortByKey')) {
*
* @param string $msg String to translate
* @param integer $category Category
* @param string $return true to return, false to echo
* @return translated string if $return is false string will be echoed
* @param mixed $args Array with arguments or multiple arguments in function
* @return translated string
*/
function __c($msg, $category) {
function __c($msg, $category, $args = null) {
if (!$msg) {
return;
}
App::uses('I18n', 'I18n');
return I18n::translate($msg, null, null, $category);
$translated = I18n::translate($msg, null, null, $category);
if ($args === null) {
return $translated;
} elseif (!is_array($args)) {
$args = array_slice(func_get_args(), 2);
}
return vsprintf($translated, $args);
}
/**