예제 #1
0
파일: perfil.php 프로젝트: 4bs4/marifa
 /**
  * A quien sigue y quienes lo siguen del usuario.
  * @param string $usuario ID o nick del usuario.
  * @param int $pagina_sigo Número de página de quienes estoy siguiendo.
  * @param int $pagina_siguen Número de página de quienes me siguen.
  */
 public function action_seguidores($usuario, $pagina_sigo, $pagina_siguen)
 {
     // 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_sigo = (int) $pagina_sigo > 0 ? (int) $pagina_sigo : 1;
     $pagina_siguen = (int) $pagina_siguen > 0 ? (int) $pagina_siguen : 1;
     // Cargamos la vista de información.
     $information_view = View::factory('perfil/seguidores');
     // Información del usuario actual.
     $information_view->assign('usuario', $this->usuario->as_array());
     // Seguidores.
     $seguidores = $this->usuario->seguidores($pagina_sigo, $cantidad_por_pagina);
     // Verifico validez de la pagina.
     if (count($seguidores) == 0 && $pagina_sigo != 1) {
         Request::redirect('/perfil/seguidores/' . $usuario . '/1/' . $pagina_siguen);
     }
     // Paginación.
     $paginador = new Paginator($this->usuario->cantidad_seguidores(), $cantidad_por_pagina);
     $information_view->assign('paginacion_seguidores', $paginador->get_view($pagina_sigo, '/perfil/seguidores/' . $usuario . '/%d/' . $pagina_siguen));
     unset($paginador);
     // Transformamos a arreglo.
     foreach ($seguidores as $k => $v) {
         $seguidores[$k] = $v->as_array();
     }
     $information_view->assign('seguidores', $seguidores);
     unset($seguidores);
     // A quienes sigue.
     $sigue = $this->usuario->sigue($pagina_siguen, $cantidad_por_pagina);
     // Verifico validez de la pagina.
     if (count($sigue) == 0 && $pagina_siguen != 1) {
         Request::redirect('/perfil/seguidores/' . $usuario . '/' . $pagina_sigo . '/1');
     }
     // Paginación.
     $paginador = new Paginator($this->usuario->cantidad_sigue(), $cantidad_por_pagina);
     $information_view->assign('paginacion_sigo', $paginador->get_view($pagina_siguen, '/perfil/seguidores/' . $usuario . '/' . $pagina_sigo . '/%d/'));
     unset($paginador);
     // Transformamos a arreglo.
     foreach ($sigue as $k => $v) {
         $sigue[$k] = $v->as_array();
     }
     $information_view->assign('sigue', $sigue);
     unset($sigue);
     // 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'));
 }