From 7812223eb5876b8a7fbbf3a54d62c5397eec9193 Mon Sep 17 00:00:00 2001 From: Rifat Nabi Date: Wed, 27 Apr 2011 15:21:25 +0600 Subject: [PATCH] fixed! ticket #989, Set::extract replacing first index with an index of same key [0] one step lower --- cake/libs/set.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cake/libs/set.php b/cake/libs/set.php index 3d4e89f0217..e0133bf7e99 100644 --- a/cake/libs/set.php +++ b/cake/libs/set.php @@ -431,6 +431,13 @@ function extract($path, $data = null, $options = array()) { 'key' => $key, 'item' => array_keys($context['item']), ); + } elseif (($key === $token || (ctype_digit($token) && $key == $token) || $token === '.')) { + $context['trace'][] = $key; + $matches[] = array( + 'trace' => $context['trace'], + 'key' => $key, + 'item' => $context['item'], + ); } elseif (is_array($context['item']) && array_key_exists($token, $context['item'])) { $items = $context['item'][$token]; if (!is_array($items)) { @@ -470,13 +477,6 @@ function extract($path, $data = null, $options = array()) { 'item' => $item, ); } - } elseif (($key === $token || (ctype_digit($token) && $key == $token) || $token === '.')) { - $context['trace'][] = $key; - $matches[] = array( - 'trace' => $context['trace'], - 'key' => $key, - 'item' => $context['item'], - ); } } if ($conditions) {