| Server IP : 195.130.67.5 / Your IP : 216.73.216.231 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/Helpdesk/application/libs/ |
Upload File : |
<?php
class Application
{
private $url_controller = null;
private $url_action = null;
private $url_parameters = array();
public function __construct()
{
$this->splitUrl();
if (!isset($_SESSION["username"]) and $this->url_controller!="login") {
require './application/controllers/login.php';
$login = new Login();
$login->index($_GET['url']);
exit;
}
if (file_exists('./application/controllers/' . $this->url_controller . '.php')) {
require './application/controllers/' . $this->url_controller . '.php';
$this->url_controller = new $this->url_controller();
if (method_exists($this->url_controller, $this->url_action)) {
if (count($this->url_parameters)>0) {
call_user_func_array(array($this->url_controller, $this->url_action), $this->url_parameters);
} else {
$this->url_controller->{$this->url_action}();
}
} else {
$this->url_controller->index();
}
} else {
// invalid URL, so simply show page
require './application/controllers/reports.php';
$reports = new Reports();
$reports->index();
}
}
/**
* Get and split the URL
*/
private function splitUrl()
{
if (isset($_GET['url'])) {
// split URL
$url = rtrim($_GET['url'], '/');
$url = filter_var($url, FILTER_SANITIZE_URL);
$url = explode('/', $url);
$this->url_controller = (isset($url[0]) ? $url[0] : null);
$this->url_action = (isset($url[1]) ? $url[1] : null);
if (count($url)>2) {
for ($i=2; $i<count($url); ++$i) {
$this->url_parameters[$i-1] = $url[$i];
}
}
}
}
}