forked from fr/deguapp
		
	Created svetle app
This commit is contained in:
		
							
								
								
									
										61
									
								
								frontend-plain/libs/Router.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								frontend-plain/libs/Router.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
<?php
 | 
			
		||||
class Router {
 | 
			
		||||
	public $returned = false;
 | 
			
		||||
	public $url = null;
 | 
			
		||||
	public $id = null;
 | 
			
		||||
 | 
			
		||||
	function route($method, $url, $filename) {
 | 
			
		||||
		$this->url = $url;
 | 
			
		||||
		$methods = ['GET', 'POST'];
 | 
			
		||||
		if(in_array($method, $methods)) {
 | 
			
		||||
			if($_SERVER['REQUEST_METHOD'] == $method) {
 | 
			
		||||
				if(count(explode("{", $url)) > 1) {
 | 
			
		||||
					if(explode("}", explode("{", $url)[1])[0] == "id") {
 | 
			
		||||
						$tmp = explode("/", $_SERVER['REQUEST_URI'], 1);
 | 
			
		||||
						$cnt = count(explode("/", $_SERVER['REQUEST_URI'], 1));
 | 
			
		||||
						$this->id = $tmp[$cnt - 1];
 | 
			
		||||
					    require_once("./pages/$filename/$filename.php");
 | 
			
		||||
					    $this->returned = true;
 | 
			
		||||
					    return;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				if($_SERVER['REQUEST_URI'] == $url) {
 | 
			
		||||
					require_once("./pages/$filename/$filename.php");
 | 
			
		||||
					$this->returned = true;
 | 
			
		||||
					return;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	static function getUrl() {
 | 
			
		||||
		return $_SERVER['REQUEST_URI'];
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	static function getID() {
 | 
			
		||||
		$tmp = explode("/", $_SERVER['REQUEST_URI']);
 | 
			
		||||
		$cnt = count($tmp);
 | 
			
		||||
		$id = $tmp[$cnt -1];
 | 
			
		||||
		if(is_numeric($id)) {
 | 
			
		||||
			return $id;
 | 
			
		||||
		} else {
 | 
			
		||||
			return null;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	function __destruct() {
 | 
			
		||||
		if($_SERVER['REQUEST_METHOD'] == 'GET') {
 | 
			
		||||
			if(!$this->returned){
 | 
			
		||||
				$url = explode("/", $_SERVER['REQUEST_URI']);
 | 
			
		||||
				$url = $url[count($url)-1];
 | 
			
		||||
 | 
			
		||||
				if (file_exists("./pages/$url/$url.php")) {
 | 
			
		||||
					require_once("./pages/$url/$url.php");
 | 
			
		||||
				} else {
 | 
			
		||||
					require_once("./pages/errors/404.php");
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user