Esempio n. 1
0
 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);
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
function gets()
{
    return Oraculum_Request::gets();
}