Example #1
0
 /**
  * Portada del sitio.
  * @param int $pagina Número de página para lo últimos posts.
  */
 public function action_index($pagina)
 {
     // Cargamos la portada.
     $view = View::factory('notificaciones/index');
     // Seteo el menu.
     $this->template->assign('master_bar', parent::base_menu('inicio'));
     // Formato de la página.
     $pagina = (int) $pagina > 0 ? (int) $pagina : 1;
     // Cantidad de elementos por pagina.
     $model_configuracion = new Model_Configuracion();
     $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20);
     // Cargamos notificaciones.
     $sucesos = Suceso_Barra::obtener_listado_completo(Usuario::$usuario_id, $pagina, $cantidad_por_pagina);
     // Verifivo validez de la pagina.
     if (count($sucesos) == 0 && $pagina != 1) {
         Request::redirect('/notificaciones/');
     }
     // Paginación.
     $paginador = new Paginator(Suceso_Barra::cantidad_completa(Usuario::$usuario_id), $cantidad_por_pagina);
     $view->assign('paginacion', $paginador->get_view($pagina, '/notificaciones/index/%d'));
     unset($paginador);
     // Proceso el listado de sucesos.
     $eventos = array();
     foreach ($sucesos as $v) {
         // Obtengo información del suceso.
         $s_data = Suceso_Perfil::procesar($v);
         // Verifico su existencia.
         if ($s_data === NULL) {
             continue;
         }
         // Obtenemos el tipo de suceso.
         $tipo = $v->tipo;
         // Cargamos la vista.
         $suceso_vista = View::factory('/suceso/notificaciones/' . $tipo);
         // Asigno los datos del usuario actual.
         $suceso_vista->assign('actual', Usuario::usuario()->as_array());
         // Asigno información del suceso.
         $suceso_vista->assign('suceso', $s_data);
         // Datos del suceso.
         $suceso_vista->assign('fecha', $v->fecha);
         $suceso_vista->assign('visto', $v->visto);
         // Agregamos el evento.
         $eventos[] = $suceso_vista->parse();
     }
     $view->assign('sucesos', $eventos);
     unset($sucesos);
     // Asignamos la vista a la plantilla base.
     $this->template->assign('contenido', $view->parse());
 }
Example #2
0
 /**
  * Muro del usuario.
  * @param int $usuario ID del usuario.
  * @param int $pagina Número de página a mostrar.
  */
 public function action_muro($usuario, $pagina = 1)
 {
     // Cargamos el usuario.
     $this->cargar_usuario($usuario);
     // Cargamos la vista de información.
     $information_view = View::factory('perfil/muro');
     // Información del usuario actual.
     $information_view->assign('usuario', $this->usuario->as_array());
     // Cantidad de elementos por pagina.
     $model_configuracion = new Model_Configuracion();
     $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20);
     // Formato de la página.
     $pagina = (int) $pagina > 0 ? (int) $pagina : 1;
     // Listado de eventos.
     $lst = Suceso_Perfil::obtener_listado($this->usuario->id, $pagina, $cantidad_por_pagina);
     // Que sea un número de página válido.
     if (count($lst) == 0 && $pagina != 1) {
         Request::redirect('/perfil/muro/' . $usuario);
     }
     // Paginación.
     $paginador = new Paginator(Suceso_Perfil::cantidad($this->usuario->id), $cantidad_por_pagina);
     $information_view->assign('paginacion', $paginador->get_view($pagina, '/perfil/muro/' . $usuario . '/%d'));
     unset($paginador);
     $eventos = array();
     foreach ($lst as $v) {
         // Obtengo información del suceso.
         $s_data = Suceso_Perfil::procesar($v);
         // Verifico su existencia.
         if ($s_data === NULL) {
             continue;
         }
         // Obtenemos el tipo de suceso.
         $tipo = $v->as_object()->tipo;
         // Cargamos la vista.
         $suceso_vista = View::factory('/suceso/perfil/' . $tipo);
         // Asigno los datos del usuario actual.
         $suceso_vista->assign('actual', $this->usuario->as_array());
         // Asigno información del suceso.
         $suceso_vista->assign('suceso', $s_data);
         // Datos del suceso.
         $suceso_vista->assign('fecha', $v->fecha);
         // Agregamos el evento.
         $eventos[] = $suceso_vista->parse();
     }
     //TODO: agregar listado de eventos.
     $information_view->assign('eventos', $eventos);
     // Asignamos la vista a la plantilla base.
     $this->template->assign('contenido', $this->header_block($information_view->parse()));
     unset($information_view);
     // Seteamos el titulo.
     $this->template->assign('title', 'Perfil - ' . $this->usuario->get('nick'));
 }