Example #1
0
 /**
  * Importa y retorna una instancia de un modelo, el modelo va sin extensión 
  * 
  * @param string $modelo Nombre del Modelo 
  * @param bool $es_admin Bandera si el modelo está en la carpeta admin
  * @return Modelo Instnacia del modelo
  */
 protected function getModelo($modelo, $es_admin = FALSE)
 {
     if ($es_admin) {
         $_ruta = Cnt::$dir_raiz . 'app/admin/Modelos/' . $modelo . '.php';
         $modelo = $modelo . 'MdlAdm';
     } else {
         $_ruta = Cnt::$dir_raiz . 'app/Modelos/' . $modelo . '.php';
         $modelo = $modelo . 'Mdl';
     }
     if (!is_readable($_ruta)) {
         Error::mostrar('Archivo de modelo "' . $modelo . '" no encontrado', $_ruta . ' no existe');
     }
     require_once $_ruta;
     if (!class_exists($modelo)) {
         Error::mostrar('Modelo "' . $modelo . '" no definido', 'Clase no definida en ' . $_ruta);
     }
     return $modelo::getInstancia();
 }
Example #2
0
 /**
  * Analiza una ruta y obtiene el código HTML
  * 
  * Método que analiza una ruta, si es válido ejecuta esta ruta y retorna en
  * código HTML generado por la ruta
  * @param string $ruta Ruta que retorna un HTML
  * @return string Código HTML generado por la ruta
  */
 public function getHtml($ruta)
 {
     $_aux = array_filter(explode('/', $ruta));
     $_contro = strtolower(array_shift($_aux));
     $_metodo = strtolower(array_shift($_aux));
     $_args = $_aux;
     $_ruta = Cnt::$dir_ejec . 'Controladores/' . $_contro . '.php';
     if (!is_readable($_ruta)) {
         Error::mostrar('Archivo de controlador "' . $_contro . '" no existe', 'El archivo ' . $_ruta . ' no existe');
     }
     require_once $_ruta;
     $_clase = $_contro . 'Ctld';
     if (!class_exists($_clase, FALSE)) {
         Error::mostrar('Controlador "' . $_contro . '" no definido', 'Clase no definida en ' . $_ruta);
     }
     $_ctld = $_clase::getInstancia();
     if (!is_callable(array($_ctld, $_metodo))) {
         Error::mostrar('Método "' . $_metodo . '" no encontrado', 'Método no existe en ' . $_ruta);
     }
     return call_user_func_array(array($_ctld, $_metodo), $_args);
 }
Example #3
0
 /**
  * Método que maneja el tiempo de sesión
  */
 private static function tiempo()
 {
     if (isset($_SESSION[Config::$id . '__tiempo'])) {
         if (time() - $_SESSION[Config::$id . '__tiempo'] > Config::$sesion * 60) {
             self::apagar();
             Error::mostrar('Tiempo de sesión expirada', 'El tiempo de sesión ha expirado', FALSE);
         }
         $_SESSION[Config::$id . '__tiempo'] = time();
     }
 }
Example #4
0
 /**
  * Ejecuta el método de la clase controlador con sus respectivos argumentos
  * 
  * Método que verifica si el controlador, método y argumentos son válidos,
  * y lo ejecuta, de no ser así llama al gestor de errores
  */
 public function resolver()
 {
     $this->buscarAlias();
     $_ruta = Cnt::$dir_ejec . 'Controladores/' . $this->contro . '.php';
     if (!is_readable($_ruta)) {
         Error::mostrar('Archivo de controlador "' . $this->contro . '" no existe', 'El archivo ' . $_ruta . ' no existe');
     }
     require_once $_ruta;
     $_clase = $this->contro . 'Ctld';
     if (!class_exists($_clase, FALSE)) {
         Error::mostrar('Controlador "' . $_clase . '" no definido', 'Clase no definida en ' . $_ruta);
     }
     $_contro = $_clase::getInstancia();
     if (!method_exists($_contro, $this->metodo)) {
         Error::mostrar('Método "' . $this->metodo . '" no encontrado', 'Método no existe en ' . $_ruta);
     }
     Cnt::setDirVista(Cnt::$dir_ejec . 'Vistas/');
     call_user_func_array(array($_contro, $this->metodo), $this->args);
 }
Example #5
0
 public function setJs($ruta, $plantilla = TRUE)
 {
     if ($plantilla) {
         $_ruta = Cnt::$url_plan . 'js/' . $ruta . '.js';
     } else {
         $_ruta = $ruta . '.js';
     }
     if (!is_readable($_ruta)) {
         Error::mostrar('JavaScript "' . $ruta . '" no existe', 'No existe el archivo ' . $_ruta);
     }
     $this->js[] = $_ruta;
 }