diff --git a/lib/Cake/Model/Datasource/DboSource.php b/lib/Cake/Model/Datasource/DboSource.php index 3c0f366f0..8930ed3dd 100644 --- a/lib/Cake/Model/Datasource/DboSource.php +++ b/lib/Cake/Model/Datasource/DboSource.php @@ -940,7 +940,7 @@ class DboSource extends DataSource { ) ); } - if (preg_match('/^[\w-_\s]*[\w-_]+/', $data)) { + if (preg_match('/^[\w\-_\s]*[\w\-_]+/', $data)) { return $this->cacheMethod(__FUNCTION__, $cacheKey, $this->startQuote . $data . $this->endQuote); } return $this->cacheMethod(__FUNCTION__, $cacheKey, $data); diff --git a/lib/Cake/Network/CakeRequest.php b/lib/Cake/Network/CakeRequest.php index 228e46e2e..7e5cc4bac 100644 --- a/lib/Cake/Network/CakeRequest.php +++ b/lib/Cake/Network/CakeRequest.php @@ -303,7 +303,7 @@ class CakeRequest implements ArrayAccess { return $this->base = $base; } - if (!$baseUrl) { + if (empty($baseUrl)) { $base = dirname(env('PHP_SELF')); // Clean up additional / which cause following code to fail.. $base = preg_replace('#/+#', '/', $base); diff --git a/lib/Cake/Network/CakeResponse.php b/lib/Cake/Network/CakeResponse.php index 21dfd7b2e..5e1df6df6 100644 --- a/lib/Cake/Network/CakeResponse.php +++ b/lib/Cake/Network/CakeResponse.php @@ -1162,13 +1162,13 @@ class CakeResponse { public function checkNotModified(CakeRequest $request) { $etags = preg_split('/\s*,\s*/', $request->header('If-None-Match'), null, PREG_SPLIT_NO_EMPTY); $modifiedSince = $request->header('If-Modified-Since'); + $checks = array(); if ($responseTag = $this->etag()) { - $etagMatches = in_array('*', $etags) || in_array($responseTag, $etags); + $checks[] = in_array('*', $etags) || in_array($responseTag, $etags); } if ($modifiedSince) { - $timeMatches = strtotime($this->modified()) === strtotime($modifiedSince); + $checks[] = strtotime($this->modified()) === strtotime($modifiedSince); } - $checks = compact('etagMatches', 'timeMatches'); if (empty($checks)) { return false; } diff --git a/lib/Cake/Utility/ObjectCollection.php b/lib/Cake/Utility/ObjectCollection.php index 460ca86d0..1e36e4c4d 100644 --- a/lib/Cake/Utility/ObjectCollection.php +++ b/lib/Cake/Utility/ObjectCollection.php @@ -95,6 +95,7 @@ abstract class ObjectCollection { if (empty($this->_enabled)) { return true; } + $subject = null; if ($callback instanceof CakeEvent) { $event = $callback; if (is_array($event->data)) { @@ -125,7 +126,7 @@ abstract class ObjectCollection { } $result = null; foreach ($list as $name) { - $result = call_user_func_array(array($this->_loaded[$name], $callback), compact('subject') + $params); + $result = call_user_func_array(array($this->_loaded[$name], $callback), array_filter(compact('subject')) + $params); if ($options['collectReturn'] === true) { $collected[] = $result; } diff --git a/lib/Cake/View/Helper/FormHelper.php b/lib/Cake/View/Helper/FormHelper.php index 8a15e1d7a..141bde656 100644 --- a/lib/Cake/View/Helper/FormHelper.php +++ b/lib/Cake/View/Helper/FormHelper.php @@ -1060,6 +1060,8 @@ class FormHelper extends AppHelper { if ($options['type'] === 'radio' && isset($options['options'])) { $radioOptions = (array)$options['options']; unset($options['options']); + } else { + $radioOptions = []; } $label = $this->_getLabel($fieldName, $options); @@ -1080,6 +1082,9 @@ class FormHelper extends AppHelper { $dateFormat = $this->_extractOption('dateFormat', $options, 'MDY'); $timeFormat = $this->_extractOption('timeFormat', $options, 12); unset($options['dateFormat'], $options['timeFormat']); + } else { + $dateFormat = 'MDY'; + $timeFormat = 12; } $type = $options['type'];