Пример #1
0
 /**
  * Cargamos la plantilla base.
  */
 public function __construct()
 {
     // Cargamos la plantilla base.
     $this->template = View::factory('template');
     // Cargo las noticias.
     $noticia = Model_Noticia::get_active();
     if ($noticia !== NULL) {
         $this->template->assign('noticia', Decoda::procesar($noticia->contenido));
     }
     unset($noticia);
     // Cargo nombre del sitio.
     $model_config = new Model_Configuracion();
     $this->template->assign('brand', $model_config->get('nombre', 'Marifa'));
     // Acciones para menu offline.
     if (!Usuario::is_login()) {
         // Seteamos menu offline.
         $this->template->assign('user_header', View::factory('header/logout')->parse());
     } else {
         $this->template->assign('user_header', $this->make_user_header()->parse());
     }
     $this->template->assign('contenido', '');
     // Eventos flash.
     if (isset($_SESSION['flash_success'])) {
         $this->template->assign('flash_success', get_flash('flash_success'));
     }
     if (isset($_SESSION['flash_error'])) {
         $this->template->assign('flash_error', get_flash('flash_error'));
     }
     // Seteo si es mantenimiento.
     $m = new Mantenimiento();
     $this->template->assign('is_locked', $m->is_locked());
     unset($m);
 }
Пример #2
0
 /**
  * Activo/Desactivo el modo mantenimiento.
  * @param bool $tipo 0 para deshabilitar, 1 para habilitar.
  */
 public function action_habilitar_mantenimiento($tipo)
 {
     $tipo = (bool) $tipo;
     $mantenimiento = new Mantenimiento();
     // Verifico la acción.
     if ($tipo == $mantenimiento->is_locked()) {
         $_SESSION['flash_error'] = 'El modo mantenimiento ya posee ese estado.';
     } else {
         // Ejecuto la acción deseada.
         if ($tipo) {
             $_SESSION['flash_success'] = 'Modo mantenimiento activado correctamente.';
             $c = new Model_Configuracion();
             //TODO: Verificar que alguien pueda acceder.
             $mantenimiento->lock(unserialize($c->get('ip_mantenimiento', 'a:0:{}')));
         } else {
             $_SESSION['flash_success'] = 'Modo mantenimiento activado correctamente.';
             $mantenimiento->unlock();
         }
     }
     Request::redirect('/admin/configuracion/mantenimiento');
 }
Пример #3
0
}
// Verifico MCrypt.
extension_loaded('mcrypt') || die('Marifa necesita MCrypt para funcionar.');
// Inicio logs.
Log::setup(APP_BASE . DS . 'log', '%d-%m-%Y.log', PRODUCTION ? Log::INFO : Log::DEBUG);
// Iniciamos las cookies.
Cookie::start('secret_cookie_key');
// Iniciamos el usuario.
Usuario::start();
// Cargo el tema actual.
define('THEME', Theme::actual());
// Iniciamos el manejo de errores.
Error::get_instance()->start(DEBUG);
// Verificamos bloqueos.
$lock = new Mantenimiento();
if ($lock->is_locked()) {
    if ($lock->is_locked_for(IP::get_ip_addr())) {
        //TODO: utilizar vista para dar flexibilidad.
        die("Modo mantenimiento activado.");
    }
}
// Definimos el directorio temporal. Puede definir uno manualmente.
define('TMP_PATH', Update_Utils::sys_get_temp_dir() . DS);
// Comprobamos que exista la configuración de la base de datos.
if (!file_exists(CONFIG_PATH . DS . 'database.php')) {
    //TODO: lo mandamos al instalador.
    die("Falta configurar la base de datos");
}
// Cargamos la cache.
Cache::get_instance();
// Cargamos las configuraciones del gestor de actualizaciones.