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