Ejemplo n.º 1
0
Archivo: foto.php Proyecto: 4bs4/marifa
 /**
  * Mostramos listado de fotos del usuario conectado
  * @param int $pagina Número de página a mostrar.
  */
 public function action_mis_fotos($pagina)
 {
     // Verificamos si esta conectado.
     if (!isset($_SESSION['usuario_id'])) {
         $_SESSION['flash_error'] = 'Debes iniciar sessión para poder ver esta sección.';
         Request::redirect('/usuario/login');
     }
     // Asignamos el título.
     $this->template->assign('title', 'Mis Fotos');
     // Cargamos la vista.
     $view = View::factory('foto/index');
     // 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;
     // Cargamos el listado de fotos.
     $model_fotos = new Model_Foto();
     $fotos = $model_fotos->obtener_ultimas_usuario(Usuario::$usuario_id, $pagina, $cantidad_por_pagina);
     // Verifivo validez de la pagina.
     if (count($fotos) == 0 && $pagina != 1) {
         Request::redirect('/foto/');
     }
     // Paginación.
     $paginador = new Paginator($model_fotos->cantidad(Model_Foto::ESTADO_ACTIVA, Usuario::$usuario_id), $cantidad_por_pagina);
     $view->assign('paginacion', $paginador->get_view($pagina, '/foto/mis_fotos/%d'));
     unset($paginador);
     // Procesamos información relevante.
     foreach ($fotos as $key => $value) {
         $d = $value->as_array();
         $d['descripcion'] = Decoda::procesar($d['descripcion']);
         $d['categoria'] = $value->categoria()->as_array();
         $d['votos'] = $value->votos();
         $d['favoritos'] = $value->favoritos();
         $d['comentarios'] = $value->cantidad_comentarios(Model_Foto::ESTADO_ACTIVA);
         $d['usuario'] = $value->usuario()->as_array();
         // Acciones. Como son nuestras fotos no hacen falta acciones.
         $d['favorito'] = TRUE;
         $d['voto'] = TRUE;
         $d['denunciar'] = FALSE;
         $fotos[$key] = $d;
     }
     $view->assign('fotos', $fotos);
     unset($fotos);
     // Menu.
     $this->template->assign('master_bar', parent::base_menu('fotos'));
     $this->template->assign('top_bar', $this->submenu('mis_fotos'));
     // Asignamos la vista.
     $this->template->assign('contenido', $view->parse());
 }