Example #1
0
 function __construct()
 {
     $time_start = microtime(true);
     session_start();
     session_cache_expire(5);
     require 'lib/core/locale.php';
     require 'lib/core/Db.php';
     require 'lib/core/MysqlDB.php';
     require 'lib/core/Record.php';
     require 'lib/core/Criteria.php';
     require 'lib/core/Html.php';
     require 'lib/core/Controller.php';
     require 'lib/core/POParser.php';
     require 'lib/core/DebugMsg.php';
     require 'lib/core/Config.php';
     require 'controller/AppController.php';
     //helpers
     include 'lib/util/Msg.php';
     include 'lib/util/Cript.php';
     include 'lib/util/Paginate.php';
     include 'lib/util/Session.php';
     include 'config.php';
     $site_path = dirname($_SERVER["SCRIPT_NAME"]);
     if ($site_path == '/') {
         $site_path = '';
     }
     define('SITE_PATH', $site_path);
     define('APPKEY', Config::get('key'));
     define('DEBUG_MODE', Config::get('debug'));
     $_SESSION['lang' . APPKEY] = Config::get('lang');
     if (DEBUG_MODE) {
         error_reporting(E_ALL);
         ini_set('display_errors', 'On');
     } else {
         ini_set('display_errors', 'Off');
     }
     $action = 'index';
     if (isset($_GET['m'])) {
         $modulo = $_GET['m'];
         if (isset($_GET['p'])) {
             $action = $_GET['p'];
         }
     } else {
         $modulo = Config::get('indexController');
         $action = Config::get('indexAction');
     }
     spl_autoload_register(array($this, 'loader'));
     define('CONTROLLER', ucfirst($modulo));
     define('ACTION', $action);
     $modulo = ucfirst($modulo) . 'Controller';
     if (!file_exists('controller/' . $modulo . '.php')) {
         if (DEBUG_MODE) {
             new DebugMsg(__('Controller %s não encontrado', CONTROLLER), 1);
         }
         $M = new Controller();
         $M->uncriptGetParams();
         $M->initParameters();
         $view = 'view/Pages/404.php';
         $M->render($view);
     } else {
         include 'controller/' . $modulo . '.php';
         if (!class_exists($modulo)) {
             if (DEBUG_MODE) {
                 new DebugMsg(__('O nome da classe do Controller %s está errado.', CONTROLLER), 1);
             }
             $M = new Controller();
             $view = 'view/Pages/404.php';
             $M->render($view);
             return;
         }
         $M = new $modulo();
         $M->uncriptGetParams();
         $M->initParameters();
         $M->beforeRun();
         if (!method_exists($M, $action)) {
             if (DEBUG_MODE) {
                 new DebugMsg(__('Run: Método %s não encontrado no Controller %s', array(ACTION, CONTROLLER)), 1);
             }
             $M = new Controller();
             $M->uncriptGetParams();
             $M->initParameters();
             $view = 'view/Pages/404.php';
             $M->render($view);
             return;
         } else {
             if (count($_POST) && method_exists($M, 'post_' . $action)) {
                 $M->{'post_' . $action}();
             } else {
                 $M->{$action}();
             }
             $M->render();
         }
     }
     if (DEBUG_MODE) {
         $time_end = microtime(true);
         $time = $time_end - $time_start;
         $time = number_format($time, 4, '.', '');
         echo '<p align="center">' . __('Executado em %s segundos', $time) . '</p>';
     }
 }