public function __construct($gets = null, $return = true) { if (DEBUG) { alert("Controlador instanciado"); } if (is_null($gets)) { $gets = Oraculum_Request::gets(); $modulo = isset($gets[BASE]) && $gets[BASE] != "" ? $gets[BASE] : 'index'; $acao = isset($gets[BASE + 1]) && $gets[BASE + 1] != "" ? $gets[BASE + 1] : 'home'; // Carregando a classe de metodos que devem ser executados sempre new Controller(array('default', 'start'), false); } else { $modulo = isset($gets[0]) && $gets[0] != "" ? $gets[0] : 'index'; $acao = isset($gets[1]) && $gets[1] != "" ? $gets[1] : 'home'; } // Definicao dos arquivos das classes relacionadas aos modulos $controldir = "./apps/" . PROJECT . "/controllers/modulos/"; $viewsdir = "./apps/" . PROJECT . "/views/modulos/"; $this->_control = $controldir . $modulo . "/" . $acao . ".php"; $this->_view = $viewsdir . $modulo . "/" . $acao . ".shtml (ou html, ou php)"; $this->_viewphp = $viewsdir . $modulo . "/" . $acao . ".php"; $this->_viewshtml = $viewsdir . $modulo . "/" . $acao . ".shtml"; $this->_viewhtml = $viewsdir . $modulo . "/" . $acao . ".html"; $inccontrol = inc($this->_control); if ($inccontrol) { // Determina que a classe do controlador segue o padrao AcaoModulo $ofcontrol = ucwords($acao) . ucwords($modulo); $ofobj = new $ofcontrol(); $ofreturn = $ofobj->{$acao}($gets); } else { $inccontrol = inc($controldir . "default/home.php"); // Defermina que sera utilizada a classe padrao $ofcontrol = "HomeDefault"; $ofobj = new $ofcontrol(); $ofreturn = $ofobj->home($gets); } // Incluindo view e fazendo verificacao se existe if ($return) { if (file_exists($this->_viewshtml)) { include $this->_viewshtml; } else { if (file_exists($this->_viewhtml)) { include $this->_viewhtml; } else { if (file_exists($this->_viewphp)) { include $this->_viewphp; } else { if ($ofcontrol == "HomeDefault") { include "./apps/" . PROJECT . "/views/modulos/default/home.shtml"; } else { if (DEBUG) { alert("Arquivo <u>" . $this->_view . "</u> nao encontrado"); } } } } } } }
public function start() { Oraculum::Load('Request'); $request = Oraculum_Request::request(); $url = str_ireplace(URL, '', $request); $gets = Oraculum_Request::gets(); if (isset($gets[BASE + 1])) { $page = $gets[BASE + 1]; } else { $page = $this->_defaulturl; //throw new Exception('[Erro CGFC36] Nao foi possivel determinar a pagina atraves da URL'); } if ($url == '') { $url = $this->_defaulturl; } Oraculum_App::LoadControl()->LoadPage($page, $url); }
public static function getvar($index = 1, $default = null) { $gets = Oraculum_Request::gets(); if (is_string($index)) { if (($key = array_search($index, $gets)) === FALSE) { return $default; } $index = $key + 2; } $index = (int) $index - 1; return isset($gets[$index]) ? $gets[$index] : $default; }
function gets() { return Oraculum_Request::gets(); }