Merge branch '2.1' of github.com:cakephp/cakephp into 2.1

This commit is contained in:
Ceeram 2012-03-03 23:55:20 +01:00
commit 169c99cedf
23 changed files with 103 additions and 99 deletions

View file

@ -477,5 +477,6 @@ class Cache {
}
return array();
}
}

View file

@ -53,7 +53,8 @@ abstract class CacheEngine {
* Permanently remove all expired and deleted data
* @return void
*/
public function gc() { }
public function gc() {
}
/**
* Write value for a key into cache
@ -129,4 +130,5 @@ abstract class CacheEngine {
$key = Inflector::underscore(str_replace(array(DS, '/', '.'), '_', strval($key)));
return $key;
}
}

View file

@ -54,7 +54,7 @@ class ApcEngine extends CacheEngine {
} else {
$expires = time() + $duration;
}
apc_store($key.'_expires', $expires, $duration);
apc_store($key . '_expires', $expires, $duration);
return apc_store($key, $value, $duration);
}
@ -66,7 +66,7 @@ class ApcEngine extends CacheEngine {
*/
public function read($key) {
$time = time();
$cachetime = intval(apc_fetch($key.'_expires'));
$cachetime = intval(apc_fetch($key . '_expires'));
if ($cachetime !== 0 && ($cachetime < $time || ($time + $this->settings['duration']) < $cachetime)) {
return false;
}

View file

@ -299,7 +299,7 @@ class FileEngine extends CacheEngine {
}
unset($path);
if (!$exists && !chmod($this->_File->getPathname(), (int) $this->settings['mask'])) {
if (!$exists && !chmod($this->_File->getPathname(), (int)$this->settings['mask'])) {
trigger_error(__d(
'cake_dev', 'Could not apply permission mask "%s" on cache file "%s"',
array($this->_File->getPathname(), $this->settings['mask'])), E_USER_WARNING);
@ -322,4 +322,5 @@ class FileEngine extends CacheEngine {
}
return true;
}
}

View file

@ -234,4 +234,5 @@ class MemcacheEngine extends CacheEngine {
}
return true;
}
}

View file

@ -173,4 +173,5 @@ class XcacheEngine extends CacheEngine {
}
}
}
}

View file

@ -45,42 +45,42 @@
*
* You can disable the connection of default routes by deleting the require inside APP/Config/routes.php.
*/
$prefixes = Router::prefixes();
$prefixes = Router::prefixes();
if ($plugins = CakePlugin::loaded()) {
App::uses('PluginShortRoute', 'Routing/Route');
foreach ($plugins as $key => $value) {
$plugins[$key] = Inflector::underscore($value);
}
$pluginPattern = implode('|', $plugins);
$match = array('plugin' => $pluginPattern);
$shortParams = array('routeClass' => 'PluginShortRoute', 'plugin' => $pluginPattern);
foreach ($prefixes as $prefix) {
$params = array('prefix' => $prefix, $prefix => true);
$indexParams = $params + array('action' => 'index');
Router::connect("/{$prefix}/:plugin", $indexParams, $shortParams);
Router::connect("/{$prefix}/:plugin/:controller", $indexParams, $match);
Router::connect("/{$prefix}/:plugin/:controller/:action/*", $params, $match);
}
Router::connect('/:plugin', array('action' => 'index'), $shortParams);
Router::connect('/:plugin/:controller', array('action' => 'index'), $match);
Router::connect('/:plugin/:controller/:action/*', array(), $match);
if ($plugins = CakePlugin::loaded()) {
App::uses('PluginShortRoute', 'Routing/Route');
foreach ($plugins as $key => $value) {
$plugins[$key] = Inflector::underscore($value);
}
$pluginPattern = implode('|', $plugins);
$match = array('plugin' => $pluginPattern);
$shortParams = array('routeClass' => 'PluginShortRoute', 'plugin' => $pluginPattern);
foreach ($prefixes as $prefix) {
$params = array('prefix' => $prefix, $prefix => true);
$indexParams = $params + array('action' => 'index');
Router::connect("/{$prefix}/:controller", $indexParams);
Router::connect("/{$prefix}/:controller/:action/*", $params);
Router::connect("/{$prefix}/:plugin", $indexParams, $shortParams);
Router::connect("/{$prefix}/:plugin/:controller", $indexParams, $match);
Router::connect("/{$prefix}/:plugin/:controller/:action/*", $params, $match);
}
Router::connect('/:controller', array('action' => 'index'));
Router::connect('/:controller/:action/*');
Router::connect('/:plugin', array('action' => 'index'), $shortParams);
Router::connect('/:plugin/:controller', array('action' => 'index'), $match);
Router::connect('/:plugin/:controller/:action/*', array(), $match);
}
$namedConfig = Router::namedConfig();
if ($namedConfig['rules'] === false) {
Router::connectNamed(true);
}
foreach ($prefixes as $prefix) {
$params = array('prefix' => $prefix, $prefix => true);
$indexParams = $params + array('action' => 'index');
Router::connect("/{$prefix}/:controller", $indexParams);
Router::connect("/{$prefix}/:controller/:action/*", $params);
}
Router::connect('/:controller', array('action' => 'index'));
Router::connect('/:controller/:action/*');
unset($namedConfig, $params, $indexParams, $prefix, $prefixes, $shortParams, $match,
$pluginPattern, $plugins, $key, $value);
$namedConfig = Router::namedConfig();
if ($namedConfig['rules'] === false) {
Router::connectNamed(true);
}
unset($namedConfig, $params, $indexParams, $prefix, $prefixes, $shortParams, $match,
$pluginPattern, $plugins, $key, $value);

View file

@ -19,6 +19,7 @@
* @package Cake.Core
*/
interface ConfigReaderInterface {
/**
* Read method is used for reading configuration information from sources.
* These sources can either be static resources like files, or dynamic ones like
@ -28,4 +29,5 @@ interface ConfigReaderInterface {
* @return array An array of data to merge into the runtime configuration
*/
public function read($key);
}

View file

@ -134,4 +134,5 @@ class IniReader implements ConfigReaderInterface {
}
return $values;
}
}

View file

@ -27,6 +27,7 @@
* @package Cake.Configure
*/
class PhpReader implements ConfigReaderInterface {
/**
* The path this reader finds files on.
*
@ -86,4 +87,5 @@ class PhpReader implements ConfigReaderInterface {
}
return $config;
}
}

View file

@ -206,15 +206,15 @@ class CakeNumber {
}
}
$position = $options[$symbolKey.'Position'] != 'after' ? 'before' : 'after';
$options[$position] = $options[$symbolKey.'Symbol'];
$position = $options[$symbolKey . 'Position'] != 'after' ? 'before' : 'after';
$options[$position] = $options[$symbolKey . 'Symbol'];
$abs = abs($number);
$result = self::format($abs, $options);
if ($number < 0 ) {
if ($options['negative'] == '()') {
$result = '(' . $result .')';
$result = '(' . $result . ')';
} else {
$result = $options['negative'] . $result;
}

View file

@ -52,11 +52,11 @@ class CakeTime {
*/
public function __set($name, $value) {
switch ($name) {
case 'niceFormat':
self::${$name} = $value;
break;
default:
break;
case 'niceFormat':
self::${$name} = $value;
break;
default:
break;
}
}
@ -67,12 +67,12 @@ class CakeTime {
*/
public function __get($name) {
switch ($name) {
case 'niceFormat':
return self::${$name};
break;
default:
return null;
break;
case 'niceFormat':
return self::${$name};
break;
default:
return null;
break;
}
}
@ -140,13 +140,13 @@ class CakeTime {
case 'h':
$months = __dc('cake', 'abmon', 5);
if (is_array($months)) {
return $months[date('n', self::$_time) -1];
return $months[date('n', self::$_time) - 1];
}
return '%b';
case 'B':
$months = __dc('cake', 'mon', 5);
if (is_array($months)) {
return $months[date('n', self::$_time) -1];
return $months[date('n', self::$_time) - 1];
}
break;
case 'n':
@ -202,7 +202,7 @@ class CakeTime {
public static function convert($serverTime, $userOffset) {
$serverOffset = self::serverOffset();
$gmtTime = $serverTime - $serverOffset;
$userTime = $gmtTime + $userOffset * (60*60);
$userTime = $gmtTime + $userOffset * (60 * 60);
return $userTime;
}
@ -378,7 +378,7 @@ class CakeTime {
*/
public static function isThisYear($dateString, $userOffset = null) {
$date = self::fromString($dateString, $userOffset);
return date('Y', $date) == date('Y', time());
return date('Y', $date) == date('Y', time());
}
/**
@ -429,16 +429,16 @@ class CakeTime {
switch ($date) {
case 1:
$date = array($year.'-01-01', $year.'-03-31');
$date = array($year . '-01-01', $year . '-03-31');
break;
case 2:
$date = array($year.'-04-01', $year.'-06-30');
$date = array($year . '-04-01', $year . '-06-30');
break;
case 3:
$date = array($year.'-07-01', $year.'-09-30');
$date = array($year . '-07-01', $year . '-09-30');
break;
case 4:
$date = array($year.'-10-01', $year.'-12-31');
$date = array($year . '-10-01', $year . '-12-31');
break;
}
}
@ -485,8 +485,8 @@ class CakeTime {
if ($userOffset == 0) {
$timezone = '+0000';
} else {
$hours = (int) floor(abs($userOffset));
$minutes = (int) (fmod(abs($userOffset), $hours) * 60);
$hours = (int)floor(abs($userOffset));
$minutes = (int)(fmod(abs($userOffset), $hours) * 60);
$timezone = ($userOffset < 0 ? '-' : '+') . str_pad($hours, 2, '0', STR_PAD_LEFT) . str_pad($minutes, 2, '0', STR_PAD_LEFT);
}
return date('D, d M Y H:i:s', $date) . ' ' . $timezone;
@ -795,4 +795,5 @@ class CakeTime {
}
return $format;
}
}

View file

@ -1,11 +1,5 @@
<?php
/**
* Class collections.
*
* A repository for class objects, each registered with a key.
*
* PHP 5
*
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
* Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
*
@ -370,4 +364,5 @@ class ClassRegistry {
$_this->_objects = array();
$_this->_map = array();
}
}

View file

@ -203,7 +203,7 @@ class Debugger {
* @deprecated This function is superseded by Debugger::outputError()
*/
public static function showError($code, $description, $file = null, $line = null, $context = null) {
$_this = Debugger::getInstance();
$self = Debugger::getInstance();
if (empty($file)) {
$file = '[internal]';
@ -214,8 +214,8 @@ class Debugger {
$path = self::trimPath($file);
$info = compact('code', 'description', 'file', 'line');
if (!in_array($info, $_this->errors)) {
$_this->errors[] = $info;
if (!in_array($info, $self->errors)) {
$self->errors[] = $info;
} else {
return;
}
@ -254,7 +254,7 @@ class Debugger {
$data = compact(
'level', 'error', 'code', 'description', 'file', 'path', 'line', 'context'
);
echo $_this->outputError($data);
echo $self->outputError($data);
if ($error == 'Fatal Error') {
exit();
@ -279,10 +279,10 @@ class Debugger {
* @link http://book.cakephp.org/2.0/en/development/debugging.html#Debugger::trace
*/
public static function trace($options = array()) {
$_this = Debugger::getInstance();
$self = Debugger::getInstance();
$defaults = array(
'depth' => 999,
'format' => $_this->_outputFormat,
'format' => $self->_outputFormat,
'args' => false,
'start' => 0,
'scope' => null,
@ -330,10 +330,10 @@ class Debugger {
} elseif ($options['format'] == 'array') {
$back[] = $trace;
} else {
if (isset($_this->_templates[$options['format']]['traceLine'])) {
$tpl = $_this->_templates[$options['format']]['traceLine'];
if (isset($self->_templates[$options['format']]['traceLine'])) {
$tpl = $self->_templates[$options['format']]['traceLine'];
} else {
$tpl = $_this->_templates['base']['traceLine'];
$tpl = $self->_templates['base']['traceLine'];
}
$trace['path'] = self::trimPath($trace['file']);
$trace['reference'] = $reference;
@ -665,7 +665,7 @@ class Debugger {
* in 3.0
*/
public function output($format = null, $strings = array()) {
$_this = Debugger::getInstance();
$self = Debugger::getInstance();
$data = null;
if (is_null($format)) {
@ -676,9 +676,9 @@ class Debugger {
return Debugger::addFormat($format, $strings);
}
if ($format === true && !empty($_this->_data)) {
$data = $_this->_data;
$_this->_data = array();
if ($format === true && !empty($self->_data)) {
$data = $self->_data;
$self->_data = array();
$format = false;
}
Debugger::outputAs($format);
@ -810,4 +810,5 @@ class Debugger {
trigger_error(__d('cake_dev', 'Please change the value of \'Security.cipherSeed\' in app/Config/core.php to a numeric (digits only) seed value specific to your application'), E_USER_NOTICE);
}
}
}

View file

@ -528,7 +528,7 @@ class File {
* @return Folder Current folder
* @link http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#File::Folder
*/
public function &Folder() {
public function &folder() {
return $this->Folder;
}

View file

@ -1,9 +1,5 @@
<?php
/**
* Convenience class for handling directories.
*
* PHP 5
*
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
* Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
*
@ -192,7 +188,7 @@ class Folder {
*/
public function find($regexpPattern = '.*', $sort = false) {
list($dirs, $files) = $this->read($sort);
return array_values(preg_grep('/^' . $regexpPattern . '$/i', $files)); ;
return array_values(preg_grep('/^' . $regexpPattern . '$/i', $files));
}
/**
@ -750,7 +746,7 @@ class Folder {
$newpath = DS;
}
while (($part = array_shift($parts)) !== NULL) {
while (($part = array_shift($parts)) !== null) {
if ($part === '.' || $part === '') {
continue;
}
@ -780,4 +776,5 @@ class Folder {
$lastChar = $path[strlen($path) - 1];
return $lastChar === '/' || $lastChar === '\\';
}
}

View file

@ -1,11 +1,5 @@
<?php
/**
* Pluralize and singularize English words.
*
* Used by Cake's naming conventions throughout the framework.
*
* PHP 5
*
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
* Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
*
@ -350,7 +344,6 @@ class Inflector {
* @link http://book.cakephp.org/2.0/en/core-utility-libraries/inflector.html#Inflector::pluralize
*/
public static function pluralize($word) {
if (isset(self::$_cache['pluralize'][$word])) {
return self::$_cache['pluralize'][$word];
}
@ -394,7 +387,6 @@ class Inflector {
* @link http://book.cakephp.org/2.0/en/core-utility-libraries/inflector.html#Inflector::singularize
*/
public static function singularize($word) {
if (isset(self::$_cache['singularize'][$word])) {
return self::$_cache['singularize'][$word];
}
@ -552,6 +544,7 @@ class Inflector {
$map = self::$_transliteration + $merge;
return preg_replace(array_keys($map), array_values($map), $string);
}
}
// Store the initial state

View file

@ -322,4 +322,5 @@ abstract class ObjectCollection {
}
return $normal;
}
}

View file

@ -260,4 +260,5 @@ class Sanitize {
return $data;
}
}
}

View file

@ -154,4 +154,5 @@ class Security {
srand();
return $out;
}
}

View file

@ -47,7 +47,7 @@ class Set {
$r = (array)current($args);
while (($arg = next($args)) !== false) {
foreach ((array)$arg as $key => $val) {
foreach ((array)$arg as $key => $val) {
if (!empty($r[$key]) && is_array($r[$key]) && is_array($val)) {
$r[$key] = Set::merge($r[$key], $val);
} elseif (is_int($key)) {
@ -1214,4 +1214,5 @@ class Set {
}
return $return;
}
}

View file

@ -40,13 +40,13 @@ class String {
'::', str_repeat(':0000', 8 - substr_count($node, ':')) . ':', $node
);
}
$node = explode(':', $node) ;
$ipv6 = '' ;
$node = explode(':', $node);
$ipv6 = '';
foreach ($node as $id) {
$ipv6 .= str_pad(base_convert($id, 16, 2), 16, 0, STR_PAD_LEFT);
}
$node = base_convert($ipv6, 2, 10);
$node = base_convert($ipv6, 2, 10);
if (strlen($node) < 38) {
$node = null;
@ -551,7 +551,7 @@ class String {
* @link http://book.cakephp.org/2.0/en/core-libraries/helpers/text.html#TextHelper::excerpt
*/
public static function excerpt($text, $phrase, $radius = 100, $ending = '...') {
if (empty($text) or empty($phrase)) {
if (empty($text) || empty($phrase)) {
return self::truncate($text, $radius * 2, array('ending' => $ending));
}

View file

@ -580,7 +580,8 @@ class Validation {
case 'us':
case 'all':
case 'can':
// includes all NANPA members. see http://en.wikipedia.org/wiki/North_American_Numbering_Plan#List_of_NANPA_countries_and_territories
// includes all NANPA members.
// see http://en.wikipedia.org/wiki/North_American_Numbering_Plan#List_of_NANPA_countries_and_territories
$regex = '/^(?:\+?1)?[-. ]?\\(?[2-9][0-8][0-9]\\)?[-. ]?[2-9][0-9]{2}[-. ]?[0-9]{4}$/';
break;
}
@ -880,4 +881,5 @@ class Validation {
protected static function _reset() {
self::$errors = array();
}
}