/** * 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); }
private function flash($id, $message) { if (flash_empty($id)) { flash($id, $message); } else { $current_flash = get_flash($id); flash($id, $current_flash . '<br>' . $message); } }
/** * Cargamos la plantilla base. */ public function __construct() { // Inicio la sessión. session_start(); // Verifico el paso actual. if (!isset($_SESSION['step']) && $this->step !== 0) { $_SESSION['step'] = 0; Request::redirect('/installer/'); } if (!isset($_SESSION['step'])) { $_SESSION['step'] = 0; } // Cargamos la plantilla base. $this->template = View::factory('template'); // Contenido inicial vacio. $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')); } }
function disp_header($title = "Newscloud Management Console", $action = 'index') { global $init; global $controller_name; global $action_name; global $curr_site_id; require_once PATH_PHP . '/classes/page.class.php'; $page = new XHTMLpage(); $page->pkgScripts(CACHE_PREFIX . 'nrConsole', array(PATH_PHP_SCRIPTS . '/template.js')); //$template_src = '<script src="http://hotdish.org/?p=cache&type=js&cf=template.js&v=1.002"></script>'; //$page->addScript(PATH_PHP_SCRIPTS.'/template.js'); // hack: djm - dont know correct way to incorporate this //$page->addScript('http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js'); $templateBuilder = false; if ($action == 'template_builder') { $templateBuilder = true; } $flash = get_flash(); include_once 'header.php'; }
/** * Mostramos una foto. * @param int $foto ID de la foto. */ public function action_ver($foto) { // Convertimos la foto a ID. $foto = (int) $foto; // Cargamos la foto. $model_foto = new Model_Foto($foto); // Verificamos exista. if (!is_array($model_foto->as_array())) { $_SESSION['flash_error'] = 'La foto a la que intentas acceder no está disponible.'; Request::redirect('/foto/'); } // Verifico el estado. if ($model_foto->usuario_id !== Usuario::$usuario_id && $model_foto->estado !== Model_Foto::ESTADO_ACTIVA && !Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_DESAPROBADO) && !Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_PAPELERA)) { $_SESSION['flash_error'] == 'La foto a la que intentas acceder no está disponible.'; Request::redirect('/foto/'); } // Asignamos el título. $this->template->assign('title', 'Foto - ' . $model_foto->as_object()->titulo); // Cargamos la vista. $view = View::factory('foto/ver'); // Mi id. $view->assign('me', Usuario::$usuario_id); // Informamos los permisos a la vista. $view->assign('permiso_borrar', Usuario::$usuario_id === $model_foto->usuario_id || Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_ELIMINAR)); $view->assign('permiso_editar', Usuario::$usuario_id === $model_foto->usuario_id || Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_EDITAR)); $view->assign('permiso_ocultar', Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_OCULTAR) || Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_DESAPROBADO) || Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_DENUNCIAS)); $view->assign('permiso_papelera', Usuario::$usuario_id === $model_foto->usuario_id); // Información del usuario dueño del post. $u_data = $model_foto->usuario()->as_array(); $u_data['seguidores'] = $model_foto->usuario()->cantidad_seguidores(); $u_data['posts'] = $model_foto->usuario()->cantidad_posts(); $u_data['comentarios'] = $model_foto->usuario()->cantidad_comentarios(); $u_data['puntos'] = $model_foto->usuario()->cantidad_puntos(); $view->assign('usuario', $u_data); unset($u_data); // Información de la foto. $ft = $model_foto->as_array(); $ft['descripcion'] = Decoda::procesar($ft['descripcion']); $ft['votos'] = (int) $model_foto->votos(); $ft['favoritos'] = (int) $model_foto->favoritos(); $view->assign('foto', $ft); unset($ft); if (!Usuario::is_login() || $model_foto->as_object()->usuario_id == Usuario::$usuario_id) { $view->assign('es_favorito', TRUE); $view->assign('ya_vote', TRUE); } else { // Computamos la visita si es necesario. if ($model_foto->visitas !== NULL) { $model_foto->agregar_visita(); } $view->assign('es_favorito', $model_foto->es_favorito(Usuario::$usuario_id)); $view->assign('ya_vote', !Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VOTAR) || $model_foto->ya_voto(Usuario::$usuario_id)); } // Verifico si soporta comentarios. $view->assign('puedo_comentar', Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_COMENTAR_CERRADO) || $model_foto->soporta_comentarios() && Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_COMENTAR)); $view->assign('comentario_eliminar', Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_ELIMINAR)); $view->assign('comentario_ocultar', Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_OCULTAR)); $view->assign('comentario_editar', Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_EDITAR)); // Comentarios del post. $cmts = $model_foto->comentarios(); $l_cmt = array(); foreach ($cmts as $cmt) { $cl_cmt = $cmt->as_array(); $cl_cmt['usuario'] = $cmt->usuario()->as_array(); $l_cmt[] = $cl_cmt; } $view->assign('comentarios', $l_cmt); unset($l_cmt, $cmts); $view->assign('comentario_content', isset($_POST['comentario']) ? $_POST['comentario'] : NULL); $view->assign('comentario_error', get_flash('post_comentario_error')); $view->assign('comentario_success', get_flash('post_comentario_success')); // Menu. $this->template->assign('master_bar', parent::base_menu('fotos')); $this->template->assign('top_bar', $this->submenu('index')); // Asignamos la vista. $this->template->assign('contenido', $view->parse()); }
function clear_flash($id) { $flash = get_flash($id); unset($_SESSION['flash'][$id]); return $flash; }
/** * Información de un post. * @param int $post ID del post a visualizar. */ public function action_index($post) { // Convertimos el post a ID. $post = (int) $post; // Cargamos el post. $model_post = new Model_Post($post); // Verificamos exista. if (!is_array($model_post->as_array())) { $_SESSION['flash_error'] = 'El post al que intentas acceder no está disponible.'; Request::redirect('/'); } // Verifico el estado de post y permisos necesarios para acceder. switch ($model_post->estado) { case Model_Post::ESTADO_BORRADO: $_SESSION['flash_error'] = 'El post al que intentas acceder no existe.'; Request::redirect('/'); break; case Model_Post::ESTADO_PAPELERA: if ($model_post->usuario_id !== Usuario::$usuario_id && !Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_VER_PAPELERA)) { $_SESSION['flash_error'] = 'El post al que intentas acceder no se encuentra disponible.'; Request::redirect('/'); } break; case Model_Post::ESTADO_BORRADOR: if ($model_post->usuario_id !== Usuario::$usuario_id && !Usuario::permiso(Model_Usuario_Rango::PERMISO_SITIO_ADMINISTRAR_CONTENIDO)) { $_SESSION['flash_error'] = 'El post al que intentas acceder no se encuentra disponible.'; Request::redirect('/'); } break; case Model_Post::ESTADO_PENDIENTE: case Model_Post::ESTADO_OCULTO: case Model_Post::ESTADO_RECHAZADO: if ($model_post->usuario_id !== Usuario::$usuario_id && !Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_VER_DESAPROBADO)) { $_SESSION['flash_error'] = 'El post al que intentas acceder no se encuentra disponible.'; Request::redirect('/'); } break; } if ($model_post->as_object()->privado && !Usuario::is_login()) { // Asignamos el título. $this->template->assign('title', 'Post privado'); $view = View::factory('post/privado'); $view->assign('post', $model_post->as_array()); } else { // Asignamos el título. $this->template->assign('title', $model_post->as_object()->titulo); // Cargamos la vista. $view = View::factory('post/index'); // Verifico si debo contabilizar la visita. if (Usuario::$usuario_id != $model_post->as_object()->usuario_id) { $model_post->agregar_vista(); } // Mi id. $view->assign('me', Usuario::$usuario_id); // Verifico si sigo al usuario. if ($model_post->usuario_id !== Usuario::$usuario_id) { $view->assign('sigue_usuario', $model_post->usuario()->es_seguidor(Usuario::$usuario_id)); } else { $view->assign('sigue_usuario', TRUE); } // Información del usuario dueño del post. $u_data = $model_post->usuario()->as_array(); $u_data['seguidores'] = $model_post->usuario()->cantidad_seguidores(); $u_data['posts'] = $model_post->usuario()->cantidad_posts(); $u_data['comentarios'] = $model_post->usuario()->cantidad_comentarios(); $u_data['puntos'] = $model_post->usuario()->cantidad_puntos(); $view->assign('usuario', $u_data); unset($u_data); // Información del post. $pst = $model_post->as_array(); $pst['contenido_raw'] = $pst['contenido']; $pst['contenido'] = Decoda::procesar($pst['contenido']); $pst['seguidores'] = $model_post->cantidad_seguidores(); $pst['puntos'] = $model_post->puntos(); $pst['favoritos'] = $model_post->cantidad_favoritos(); $view->assign('post', $pst); unset($pst); // Verifico las acciones extendidas. $view->assign('modificar_ocultar', Usuario::$usuario_id === $model_post->usuario_id || Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_OCULTAR)); $view->assign('modificar_especiales', Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_FIJAR_PROMOVER)); $view->assign('modificar_aprobar', Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_VER_DESAPROBADO) || Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_VER_DENUNCIAS)); //TODO: ver si en todo momento es correcto permitir modificaciones. $view->assign('modificar_editar', Usuario::$usuario_id === $model_post->usuario_id || Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_EDITAR)); $view->assign('modificar_borrar', Usuario::$usuario_id === $model_post->usuario_id || Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_ELIMINAR)); // Verifico si el usuario puede comentar. $view->assign('podemos_comentar', Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_COMENTAR_CERRADO) || $model_post->comentar && Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_COMENTAR)); // Verifico si el usuario puede votar comentarios. $view->assign('podemos_votar_comentarios', Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_VOTAR)); // Verifico acciones generales. if ($model_post->as_object()->usuario_id == Usuario::$usuario_id) { $view->assign('es_favorito', TRUE); $view->assign('sigo_post', TRUE); $view->assign('puntuacion', FALSE); } else { $view->assign('es_favorito', $model_post->es_favorito(Usuario::$usuario_id)); $view->assign('sigo_post', $model_post->es_seguidor(Usuario::$usuario_id)); if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_PUNTUAR) || $model_post->dio_puntos(Usuario::$usuario_id)) { $view->assign('puntuacion', FALSE); } else { // Obtenemos puntos disponibles. $m_user = Usuario::usuario(); $p_d = $m_user->puntos_disponibles; $p_arr = array(); for ($i = 1; $i <= $p_d; $i++) { $p_arr[] = $i; } $view->assign('puntuacion', $p_arr); unset($m_user, $p_d, $p_arr); } } // Categoria del post. $view->assign('categoria', $model_post->categoria()->as_array()); // Etiquetas. $view->assign('etiquetas', $model_post->etiquetas()); // Acciones posibles sobre comentarios. $view->assign('comentario_eliminar', Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_ELIMINAR)); $view->assign('comentario_ocultar', Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_OCULTAR)); $view->assign('comentario_editar', Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_EDITAR)); // Comentarios del post. $cmts = $model_post->comentarios(NULL); $l_cmt = array(); foreach ($cmts as $cmt) { // Verifico omito los no visibles si el usuario no puede verlos. if ($cmt->estado !== Model_Comentario::ESTADO_VISIBLE && !Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_VER_DESAPROBADO)) { continue; } $cl_cmt = $cmt->as_array(); $cl_cmt['contenido_raw'] = $cl_cmt['contenido']; $cl_cmt['contenido'] = Decoda::procesar($cl_cmt['contenido']); if ($cl_cmt['usuario_id'] == Usuario::$usuario_id) { $cl_cmt['vote'] = TRUE; } else { $cl_cmt['vote'] = $cmt->ya_voto(Usuario::$usuario_id); } $cl_cmt['votos'] = $cmt->cantidad_votos(); $cl_cmt['usuario'] = $cmt->usuario()->as_array(); $l_cmt[] = $cl_cmt; } $view->assign('comentarios', $l_cmt); unset($l_cmt, $cmts); $view->assign('comentario_content', isset($_POST['comentario']) ? $_POST['comentario'] : NULL); $view->assign('comentario_error', get_flash('post_comentario_error')); $view->assign('comentario_success', get_flash('post_comentario_success')); } // Menu. $this->template->assign('master_bar', parent::base_menu('posts')); $this->template->assign('top_bar', Controller_Home::submenu('index')); // Asignamos la vista. $this->template->assign('contenido', $view->parse()); }
<?php use Glial\Synapse\FactoryController; use Glial\I18n\I18n; FactoryController::addNode("Layout", "headerPma", $GLIALE_TITLE); echo '<div id="page">'; echo "<div id=\"glial-title\">"; echo "<h2>" . $GLIALE_TITLE . "</h2>"; echo "<span class=\"ariane\"><a href=\"" . WWW_ROOT . "\">" . __("Home") . "</a> " . $GLIALE_ARIANE . "</span>"; echo "</div>"; echo "<div style=\"padding:0 10px 10px 10px\">"; get_flash(); echo $GLIALE_CONTENT; echo "</div>"; echo '</div>'; FactoryController::addNode("Layout", "footerPma");