Exemple #1
0
function uri_make_v1($argument_name=false, $argument_value="", $anchor=""){
	if(!$argument_name){
		return $_SERVER['REQUEST_URI'];
	}else{
		//Если входные параметры не в виде  массива
		if(!is_array($argument_name)){
			$arguments[$argument_name]=$argument_value;
		}else{
			$arguments=$argument_name;
			$anchor=$argument_value;
		}
		
		//Получаем, введенный в браузере uri
		$uri=$_SERVER['REQUEST_URI'];
		
		//Заменяем имя скрипта, если необходимо
		if(isset($arguments['UriScript'])){
			$UriScript=$arguments['UriScript'];
			unset($arguments['UriScript']);
			if(preg_match("/\?/", $uri)){
				$UriScript_browser=substr(explode("?", $uri)[0], 1);
			}else{
				$UriScript_browser=substr($uri, 1);
			}
			$uri=str_replace("/".$UriScript_browser, "/".$UriScript, $uri);
		}
		
		//Убираем все аргументы, если не определено противоположное поведение
		if(@$arguments['SaveArguments']!="yes"){
			if(preg_match("/\?/", $uri)){
				$uri=explode("?", $uri)[0];
			}
		}
		
		//Заменяем значения уже имеющихся аргументов на новые
		foreach($arguments as $name=>$value){
			$uri=uri_change($name, $value, $uri);
		}
		
		//Убираем аргументы, если необходимо
		if(isset($arguments['UriClean'])){
			$UriClean=$arguments['UriClean'];
			unset($arguments['UriClean']);
			switch($UriClean){
				case "DeleteAllArguments":
					if(preg_match("/\?/", $uri)){
						$uri=explode("?", $uri)[0];
					}
					//$uri=str_replace("/".$UriScript_browser, "/".$UriScript, $uri);
				break;
			}
		}
		
		//Добавляем якорь
		if($anchor!="") $uri.="#$anchor";
		
		//Возвращаем результат
		return $uri;
	}
}
Exemple #2
0
function column_header($column_name, $column_user_name, $sort, $sort_direction){
    //get new sort dirction and new opposite sort direction
    if($sort==$column_name){
        if($sort_direction=="asc"){
            $sort_direction_new="desc";
            $sort_direction_opposite_new="asc";
        }else{
            $sort_direction_new="asc";
            $sort_direction_opposite_new="desc";
        }
    }else{
        $sort_direction_new="asc";
        $sort_direction_opposite_new="asc";
    }

    //Заменяем аргумент 'sort' в url
    $uri=uri_make('sort', $column_name);

    //Заменяем аргумент 'sort_direction' в url
    $uri=uri_change('sort_direction', $sort_direction_new, $uri);

    //Получаем HTML ссылки для сортировки
    $hrefs="<a href='".$uri."' class='sort'>".$column_user_name."</a>";

    //Формируем дополнительный HTML ссылки со значком стрелки
    if($sort==$column_name){
        $hrefs.="<a href='".$uri."'><img src='/_content/img/".$sort_direction_opposite_new.".png' style='margin:0 0 0 3px;'></a>";
    }

    //Возвращаем HTML
    return $hrefs;
}