コード例 #1
0
ファイル: perfil.php プロジェクト: 4bs4/marifa
 /**
  * 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'));
 }