/** * 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); }
/** * 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'); }
} // 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.