/** * Perfiles del usuario. * @param string $usuario ID o nick del usuario. * @param int $pagina Número de página a mostrar. */ public function action_posts($usuario, $pagina) { // Cargamos el usuario. $this->cargar_usuario($usuario); // 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 la vista de información. $information_view = View::factory('perfil/post'); // Datos del usuario a la vista. $information_view->assign('usuario', $this->usuario->as_array()); // Cargamos listado de posts. $post_list = $this->usuario->posts_perfil_by_fecha($pagina, $cantidad_por_pagina); // Verifico validez de la pagina. if (count($post_list) == 0 && $pagina != 1) { Request::redirect('/perfil/posts/' . $usuario); } // Paginación. $paginador = new Paginator($this->usuario->cantidad_posts(), $cantidad_por_pagina); $information_view->assign('paginacion', $paginador->get_view($pagina, '/perfil/posts/' . $usuario . '/%d/')); unset($paginador); // Transformamos a arreglo. foreach ($post_list as $k => $v) { $post_list[$k] = array_merge($v->as_array(), array('puntos' => $v->puntos())); } $information_view->assign('post', $post_list); unset($post_list); // 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')); }