/** * Muro del usuario. * @param int $usuario ID del usuario. * @param int $pagina Número de página a mostrar. */ public function action_muro($usuario, $pagina = 1) { // Cargamos el usuario. $this->cargar_usuario($usuario); // Cargamos la vista de información. $information_view = View::factory('perfil/muro'); // Información del usuario actual. $information_view->assign('usuario', $this->usuario->as_array()); // 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; // Listado de eventos. $lst = Suceso_Perfil::obtener_listado($this->usuario->id, $pagina, $cantidad_por_pagina); // Que sea un número de página válido. if (count($lst) == 0 && $pagina != 1) { Request::redirect('/perfil/muro/' . $usuario); } // Paginación. $paginador = new Paginator(Suceso_Perfil::cantidad($this->usuario->id), $cantidad_por_pagina); $information_view->assign('paginacion', $paginador->get_view($pagina, '/perfil/muro/' . $usuario . '/%d')); unset($paginador); $eventos = array(); foreach ($lst as $v) { // Obtengo información del suceso. $s_data = Suceso_Perfil::procesar($v); // Verifico su existencia. if ($s_data === NULL) { continue; } // Obtenemos el tipo de suceso. $tipo = $v->as_object()->tipo; // Cargamos la vista. $suceso_vista = View::factory('/suceso/perfil/' . $tipo); // Asigno los datos del usuario actual. $suceso_vista->assign('actual', $this->usuario->as_array()); // Asigno información del suceso. $suceso_vista->assign('suceso', $s_data); // Datos del suceso. $suceso_vista->assign('fecha', $v->fecha); // Agregamos el evento. $eventos[] = $suceso_vista->parse(); } //TODO: agregar listado de eventos. $information_view->assign('eventos', $eventos); // 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')); }