BUGFIX: prevented HTTPRequest->shift() throwing notices when shifting multiple elements. APICHANGE: SS_HTTPRequest->shift($multiple) no longer returns an array of size $multiple spaced with nulls, it returns an array up to the size of $multiple.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@107090 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Will Rossiter 2010-06-26 00:51:15 +00:00 committed by Sam Minnee
parent b834248ddc
commit c6364e5548

View File

@ -452,10 +452,25 @@ class SS_HTTPRequest implements ArrayAccess {
/**
* Shift one or more parts off the beginning of the URL.
* If you specify shifting more than 1 item off, then the items will be returned as an array
*
* @param int $count Shift Count
*
* @return String|Array
*/
function shift($count = 1) {
$return = array();
if($count == 1) return array_shift($this->dirParts);
else for($i=0;$i<$count;$i++) $return[] = array_shift($this->dirParts);
for($i=0;$i<$count;$i++) {
$value = array_shift($this->dirParts);
if(!$value) break;
$return[] = $value;
}
return $return;
}
/**