Browse Source

formGet method enchanted !no!ticket!number!

git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/trunk@99 4cb57b5f-5bbd-dd11-951b-001d605cbbc5
master
akulikov 16 years ago
parent
commit
fe9034fd92
  1. 37
      classes/Sublimer.class.php

37
classes/Sublimer.class.php

@ -129,20 +129,45 @@ final class Sublimer
return implode(' ', $words); return implode(' ', $words);
} }
function formGet(Array $replaces)
/**
* Формирует get-строку для запроса
*
* @param array/string $replace - Имя переменной для замены (либо массив ключ=значение) В случае false вернет весь get
* @param mixed $value - значение переменной для замены, если $replace - массив, то не играет роли. В случае false переменная удаляется из get
* @return string
*/
function formGet($replace = false, $value = false)
{ {
$chunk = true; //обрезать последний & (или ?)
$get = $_GET; //дабы не менять дефолтный массив $get = $_GET; //дабы не менять дефолтный массив
foreach($replaces as $key => $val) {
$get[$key] = $val;
if (is_array($replace)) {
foreach($replace as $key => $val) {
if($val === false) {
unset($get[$key]);
$chunk = false;
} else {
$get[$key] = $val;
}
}
} else if ($replace !== false) {
if ($value === false) { //для получения строки БЕЗ параметра с именем $replace
unset($get[$replace]);
$chunk = false;
} else {
$get[$replace] = $value;
}
} }
$str = '?'; $str = '?';
foreach($get as $key => $val)
{
foreach($get as $key => $val) {
$str .= $key.'='.$val.'&'; $str .= $key.'='.$val.'&';
} }
return mb_substr($str, 0, -1);
if ($chunk) {
$str = mb_substr($str, 0, -1);
}
return htmlspecialchars($str);
} }
} }

Loading…
Cancel
Save