config = new Config; $this->amp = $amp; } public function setAmp($amp){ $this->amp = $amp; } public function getThisURL(){ $uri = substr($_SERVER['REQUEST_URI'], 1); return $this->config->address.$uri; } public function getView(){ $view = $_SERVER['REQUEST_URI']; $view = substr($view, 1); if(($pos = strpos($view, "?")) !== false) $view = substr($view, 0, $pos); if(($pos = strpos($view, "?")) === 0) $view = substr($view, 0, 0); return $view; } // Функция удаления Get-параметра из заданного URL // Может удалять массив Get-параметров, либо один параметр // Если параметр не был найден и/или не был удален функция возвращает false public function deleteGet($url, $getToDelete = false){ if(!$getToDelete) return false; if(!$url) return false; if((strpos($url, "?")) !== false){ $pos = strpos($url, "?"); $get = substr($url, $pos + 1); $arrgetAmp = explode("&", $get); for($i=0; $i < count($arrgetAmp); $i++){ $arrgetEq = explode("=", $arrgetAmp[$i]); $arrGet[$arrgetEq[0]] = $arrgetEq[1]; } if(is_array($getToDelete)){ for($i = 0; $i < count($getToDelete); $i++){ unset($arrGet[$getToDelete[$i]]); } } else unset($arrGet[$getToDelete]); $address = substr($url, 0, $pos +1); if(!$arrGet) return substr($address, 0, -1); foreach($arrGet as $key => $value){ if($value) $p.="$key=$value&"; else $p.="$key&"; } $p = substr($p, 0, -1); return $address.$p; } return $url; } //возвращает адрес сайта protected function returnURL($url, $address = false){ if(!$address) $address = $this->config->address; if(!$url) return $address; if(strpos($address, $url) !== 0) return $address.$url; else return $address; } public function index(){ return $this->returnURL(""); } public function action (){ return $this->returnURL("functions.php"); } public function notFound(){ return $this->returnURL("notfound"); } public function cart(){ return $this->returnURL('cart'); } public function delivery(){ return $this->returnURL("delivery"); } public function order(){ return $this->returnURL("order"); } public function contacts(){ return $this->returnURL("contacts"); } public function search(){ return $this->returnURL("search"); } public function section($id){ return $this->returnURL("section?id=$id"); } public function linkmessage(){ return $this->returnURL("message"); } public function product ($id){ return $this->returnURL("product?id=$id"); } public function addCart($id){ return $this->returnURL("functions.php?func=add_cart&id=$id"); } public function delCart($id){ return $this->returnURL("functions.php?func=del_cart&id=$id"); } public function sort_price_down(){ return $this->sort_url("price", 1); } public function link_sort_price_up(){ return $this->sort_url("price", 0); } public function link_sort_title_down(){ return $this->sort_url("title", 1); } public function link_sort_title_up(){ return $this->sort_url("title", 0); } public function isExists($file){ $arr = explode(PATH_SEPARATOR, get_include_path()); foreach($arr as $value){ if(file_exists($value."/".$file.".class.php")) return true; } return false; } public function sort_url($sort, $up){ $this_url = $this->getThisURL(); $this_url = $this->deleteGET($this_url, array("sort", "up")); if((strpos($this_url, "?")) !== false) return $this_url."&sort=$sort&up=$up"; else return $this_url."?sort=$sort&up=$up"; } } ?>