/** * Portada del sitio. * @param int $pagina Número de página para lo últimos posts. */ public function action_index($pagina) { // Cargamos la portada. $view = View::factory('notificaciones/index'); // Seteo el menu. $this->template->assign('master_bar', parent::base_menu('inicio')); // Formato de la página. $pagina = (int) $pagina > 0 ? (int) $pagina : 1; // Cantidad de elementos por pagina. $model_configuracion = new Model_Configuracion(); $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20); // Cargamos notificaciones. $sucesos = Suceso_Barra::obtener_listado_completo(Usuario::$usuario_id, $pagina, $cantidad_por_pagina); // Verifivo validez de la pagina. if (count($sucesos) == 0 && $pagina != 1) { Request::redirect('/notificaciones/'); } // Paginación. $paginador = new Paginator(Suceso_Barra::cantidad_completa(Usuario::$usuario_id), $cantidad_por_pagina); $view->assign('paginacion', $paginador->get_view($pagina, '/notificaciones/index/%d')); unset($paginador); // Proceso el listado de sucesos. $eventos = array(); foreach ($sucesos 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->tipo; // Cargamos la vista. $suceso_vista = View::factory('/suceso/notificaciones/' . $tipo); // Asigno los datos del usuario actual. $suceso_vista->assign('actual', Usuario::usuario()->as_array()); // Asigno información del suceso. $suceso_vista->assign('suceso', $s_data); // Datos del suceso. $suceso_vista->assign('fecha', $v->fecha); $suceso_vista->assign('visto', $v->visto); // Agregamos el evento. $eventos[] = $suceso_vista->parse(); } $view->assign('sucesos', $eventos); unset($sucesos); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $view->parse()); }
/** * Listado de suspensiones a usuarios. * @param int $pagina Número de página a mostrar. */ public function action_usuarios($pagina) { if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_USUARIO_SUSPENDER)) { $_SESSION['flash_error'] = 'No tienes permiso para acceder a esa sección.'; Request::redirect('/'); } // Formato de la página. $pagina = (int) $pagina > 0 ? (int) $pagina : 1; // Cantidad de elementos por pagina. $model_configuracion = new Model_Configuracion(); $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20); // Cargamos la vista. $vista = View::factory('moderar/gestion/usuarios'); // Modelo de suspensiones. $model_suspension = new Model_Usuario_Suspension(); // Limpio antiguos. Model_Usuario_Suspension::clean(); // Cargamos el listado de posts. $lst = $model_suspension->listado($pagina, $cantidad_por_pagina); if (count($lst) == 0 && $pagina != 1) { Request::redirect('/moderar/gestion/usuarios'); } // Paginación. $total = Model_Usuario_Suspension::cantidad(); $vista->assign('cantidad_pendientes', $total); $paginador = new Paginator($total, $cantidad_por_pagina); $vista->assign('paginacion', $paginador->get_view($pagina, '/moderar/gestion/usuarios/%s/')); unset($total); // Obtenemos datos de las denuncias. foreach ($lst as $k => $v) { $a = $v->as_array(); $a['motivo'] = Decoda::procesar($a['motivo']); $a['usuario'] = $v->usuario()->as_array(); $a['moderador'] = $v->moderador()->as_array(); $lst[$k] = $a; } // Seteamos listado de suspensiones. $vista->assign('suspensiones', $lst); unset($lst); // Seteamos el menu. $this->template->assign('master_bar', parent::base_menu('moderar')); // Cargamos plantilla administracion. $admin_template = View::factory('moderar/template'); $admin_template->assign('contenido', $vista->parse()); unset($portada); $admin_template->assign('top_bar', Controller_Moderar_Home::submenu('gestion_usuarios')); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $admin_template->parse()); }
/** * Portada de los borradores. * @param int $pagina Número de página a mostrar. */ public function action_index($pagina) { // Cargamos la portada. $vista = View::factory('borradores/index'); // Cantidad de elementos por pagina. $model_configuracion = new Model_Configuracion(); $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20); // Cargamos datos de posts. $model_post = new Model_Post(); // Formato de la página. $pagina = (int) $pagina > 0 ? (int) $pagina : 1; // Cargamos el listado de borradores. list($borradores, $total) = $model_post->borradores(Usuario::$usuario_id, $pagina, $cantidad_por_pagina); // Que sea un número de página válido. if (count($borradores) == 0 && $pagina != 1) { Request::redirect('/borradores'); } // Paginación. $paginador = new Paginator($total, $cantidad_por_pagina); $vista->assign('paginacion', $paginador->get_view($pagina, '/borradores/index/%d')); unset($paginador); // Obtengo información de los borradores. foreach ($borradores as $k => $v) { if (is_array($v)) { $a = $v['post']->as_array(); $a['categoria'] = $v['post']->categoria()->as_array(); // $a['moderado'] = $v['moderado']->as_array(); // $a['motivo'] = $v['moderado']->moderacion()->as_array(); } else { $a = $v->as_array(); $a['categoria'] = $v->categoria()->as_array(); } $borradores[$k] = $a; } // Seteo parámetros a la vista. $vista->assign('borradores', $borradores); unset($borradores); // Seteo el menu. $this->template->assign('master_bar', parent::base_menu('posts')); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $vista->parse()); }
/** * Portada de los favoritos. * @param int $pagina Número de página a mostrar. */ public function action_fotos($pagina) { // Cargamos la portada. $vista = View::factory('favoritos/fotos'); // 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 favoritos. $favoritos = Usuario::usuario()->listado_fotos_favoritos($pagina, $cantidad_por_pagina); // Verifivo que la página seleccionada sea válida. if (count($favoritos) == 0 && $pagina != 1) { Request::redirect('/favoritos/fotos/'); } // Paginación. $paginador = new Paginator(Usuario::usuario()->cantidad_favoritos_fotos(), $cantidad_por_pagina); $vista->assign('paginacion', $paginador->get_view($pagina, '/favoritos/fotos/%d')); unset($paginador); // Obtengo información de los favoritos. foreach ($favoritos as $k => $v) { $a = $v->as_array(); $a['usuario'] = $v->usuario()->as_array(); $a['categoria'] = $v->categoria()->as_array(); $favoritos[$k] = $a; } // Seteo parámetros a la vista. $vista->assign('favoritos', $favoritos); unset($favoritos); // Seteo el menu. $this->template->assign('master_bar', parent::base_menu('inicio')); $this->template->assign('top_bar', self::submenu('fotos')); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $vista->parse()); }
/** * 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')); }
/** * Post con las mismas etiquetas que el selecionado. * @param int $post ID del post a mostrar relacionados. * @param int $pagina Número de página a mostrar. */ public function action_relacionados($post, $pagina) { // Transformamos a entero. $post = (int) $post; // Cargamos el post. $model_post = new Model_Post($post); // Verificamos existencia. if (!$model_post->existe()) { Request::redirect('/buscador/q/'); } // Cargamos la vista. $vista = View::factory('buscador/index'); // Formato de la página. $pagina = (int) $pagina > 0 ? (int) $pagina : 1; // Cantidad de elementos por pagina. $model_configuracion = new Model_Configuracion(); $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20); // Realizamos la busqueda. list($listado, $cantidad) = $model_post->buscar_relacionados($pagina, $cantidad_por_pagina); // Verifivo que la página seleccionada sea válida. if (count($listado) == 0 && $pagina != 1) { Request::redirect('/buscador/relacionados/' . $post); } // Paginación. $paginador = new Paginator($cantidad, $cantidad_por_pagina); $vista->assign('paginacion', $paginador->get_view($pagina, "/buscador/relacionados/{$post}/%s/")); unset($paginador); $vista->assign('total', $cantidad); // Procesamos listado de post. foreach ($listado as $k => $v) { $a = $v->as_array(); $a['usuario'] = $v->usuario()->as_array(); $a['puntos'] = $v->puntos(); $a['comentarios'] = $v->cantidad_comentarios(); $a['categoria'] = $v->categoria()->as_array(); $listado[$k] = $a; } $vista->assign('resultados', $listado); unset($listado); $vista->assign('q', ''); // Vista de relacionado. $view_relacionado = View::factory('buscador/relacionado'); $view_relacionado->assign('post', $model_post->as_array()); $vista->assign('relacionado', $view_relacionado->parse()); unset($view_relacionado); // Listado de categorias. $mc = new Model_Categoria(); $vista->assign('categorias', $mc->lista()); unset($mc); $vista->assign('categoria', 'todos'); $vista->assign('usuario', ''); // Menu. $this->template->assign('master_bar', parent::base_menu()); $this->template->assign('top_bar', Controller_Home::submenu('buscador')); // Asignamos la vista. $this->template->assign('contenido', $vista->parse()); }
/** * Portada del sitio. * @param int $pagina Número de página para lo últimos posts. */ public function action_index($pagina) { // Cargamos la portada. $portada = View::factory('home/index'); // Seteo el menu. $this->template->assign('master_bar', parent::base_menu('posts')); $this->template->assign('top_bar', self::submenu('inicio')); // Cargamos datos de posts. $model_post = new Model_Post(); // Cantidad posts y comentarios en posts. $portada->assign('cantidad_posts', $model_post->cantidad()); $portada->assign('cantidad_comentarios_posts', $model_post->cantidad_comentarios()); // 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; if ($pagina == 1) { // Cargo fijos. $post_sticky = $model_post->sticky(); // Extendemos la información de los posts. foreach ($post_sticky as $k => $v) { $a = $v->as_array(); $a['usuario'] = $v->usuario()->as_array(); $a['puntos'] = $v->puntos(); $a['comentarios'] = $v->cantidad_comentarios(Model_Post_Comentario::ESTADO_VISIBLE); $a['categoria'] = $v->categoria()->as_array(); $post_sticky[$k] = $a; } // Seteo y limpio. $portada->assign('sticky', $post_sticky); unset($post_sticky); } // Ultimos posts $post_list = $model_post->obtener_ultimos($pagina, $cantidad_por_pagina); // Verifivo validez de la pagina. if (count($post_list) == 0 && $pagina != 1) { Request::redirect('/'); } // Paginación. $paginador = new Paginator($model_post->cantidad(Model_Post::ESTADO_ACTIVO), $cantidad_por_pagina); $portada->assign('paginacion', $paginador->get_view($pagina, '/home/index/%d')); unset($paginador); // Extendemos la información de los posts. foreach ($post_list as $k => $v) { $a = $v->as_array(); $a['usuario'] = $v->usuario()->as_array(); $a['puntos'] = $v->puntos(); $a['comentarios'] = $v->cantidad_comentarios(Model_Post_Comentario::ESTADO_VISIBLE); $a['categoria'] = $v->categoria()->as_array(); $post_list[$k] = $a; } $portada->assign('ultimos_posts', $post_list); unset($post_list); // Cargamos TOP posts. $post_top_list = $model_post->obtener_tops(); // Extendemos la información de los posts. foreach ($post_top_list as $k => $v) { $a = $v->as_array(); $a['puntos'] = $v->puntos(); $post_top_list[$k] = $a; } $portada->assign('top_posts', $post_top_list); unset($post_top_list, $model_post); // Cargamos últimos comentarios. $comentario_list = Model_Post_Comentario::obtener_ultimos(); // Extendemos la información de los comentarios. foreach ($comentario_list as $k => $v) { $a = $v->as_array(); $a['usuario'] = $v->usuario()->as_array(); $a['post'] = $v->post()->as_array(); $comentario_list[$k] = $a; } $portada->assign('ultimos_comentarios', $comentario_list); unset($comentario_list); // Cargamos top usuarios. $model_usuario = new Model_Usuario(); // Cantidad de usuarios $portada->assign('cantidad_usuarios', $model_usuario->cantidad()); $portada->assign('cantidad_usuarios_online', $model_usuario->cantidad_activos()); // Top de usuarios. $usuario_top_list = $model_usuario->obtener_tops(); // Extendemos la información de los usuarios. foreach ($usuario_top_list as $k => $v) { $a = $v->as_array(); $a['puntos'] = $v->cantidad_puntos(); $usuario_top_list[$k] = $a; } $portada->assign('usuario_top', $usuario_top_list); unset($usuario_top_list, $model_usuario); // Cargamos ultimas fotos. $model_foto = new Model_Foto(); $foto_list = $model_foto->obtener_ultimas(1, 1); // Extendemos la información de las fotos. foreach ($foto_list as $k => $v) { $foto_list[$k] = $v->as_array(); } $portada->assign('ultimas_fotos', $foto_list); unset($foto_list); // Cantidad fotos y comentarios en fotos. $portada->assign('cantidad_fotos', $model_foto->cantidad()); $portada->assign('cantidad_comentarios_fotos', $model_foto->cantidad_comentarios()); unset($model_foto); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $portada->parse()); }
/** * Listado de usuarios con denuncias. * @param int $pagina Número de página a mostrar. * @param int $tipo Tipo de denuncias a usuario a mostrar. */ public function action_usuarios($pagina, $tipo) { // Verifico permisos. if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_USUARIO_VER_DENUNCIAS)) { $_SESSION['flash_error'] = 'No tienes permiso para acceder a esa sección.'; Request::redirect('/'); } // Formato de la página. $pagina = (int) $pagina > 0 ? (int) $pagina : 1; // Verifico el tipo de denuncias a mostrar. if ($tipo == 0 || $tipo == 1 || $tipo == 2) { $tipo = (int) $tipo; } else { $tipo = 0; } // Cantidad de elementos por pagina. $cantidad_por_pagina = 20; // Cargamos la vista. $vista = View::factory('moderar/denuncias/usuarios'); $vista->assign('tipo', $tipo); $vista->assign('cantidad_rechazados', Model_Usuario_Denuncia::cantidad(Model_Usuario_Denuncia::ESTADO_RECHAZADA)); $vista->assign('cantidad_aprobados', Model_Usuario_Denuncia::cantidad(Model_Usuario_Denuncia::ESTADO_APLICADA)); $vista->assign('actual', $pagina); // Modelo de denuncias de usuarios. $model_denuncias = new Model_Usuario_Denuncia(); // Cargamos el listado de denuncias. $lst = $model_denuncias->listado($pagina, $cantidad_por_pagina, $tipo); if (count($lst) == 0 && $pagina != 1) { Request::redirect('/moderar/denuncias/usuarios'); } // Paginación. $total = Model_Usuario_Denuncia::cantidad(Model_Usuario_Denuncia::ESTADO_PENDIENTE); $vista->assign('cantidad_pendientes', $total); $paginador = new Paginator($total, $cantidad_por_pagina); $vista->assign('paginacion', $paginador->get_view($pagina, '/moderar/denuncias/usuarios/%s/' . $tipo)); // Obtenemos datos de las denuncias. foreach ($lst as $k => $v) { $a = $v->as_array(); $a['usuario'] = $v->usuario()->as_array(); $a['denunciado'] = $v->denunciado()->as_array(); $lst[$k] = $a; } // Seteamos listado de denuncias. $vista->assign('denuncias', $lst); unset($lst); // Seteamos el menu. $this->template->assign('master_bar', parent::base_menu('moderar')); // Cargamos plantilla administracion. $admin_template = View::factory('moderar/template'); $admin_template->assign('contenido', $vista->parse()); unset($portada); $admin_template->assign('top_bar', Controller_Moderar_Home::submenu('denuncias_usuarios')); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $admin_template->parse()); }
/** * 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()); }
/** * Listado de noticias. * @param int $pagina Número de página de la cual mostrar noticias. */ public function action_noticias($pagina) { // Formato de la página. $pagina = (int) $pagina > 0 ? (int) $pagina : 1; // Cantidad de elementos por pagina. $model_configuracion = new Model_Configuracion(); $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20); // Cargamos la vista. $vista = View::factory('admin/contenido/noticias'); // Modelo de noticias. $model_noticias = new Model_Noticia(); // Cargamos el listado de noticias. $lst = $model_noticias->listado($pagina, $cantidad_por_pagina); // Paginación. $total = $model_noticias->total(); $paginador = new Paginator($total, $cantidad_por_pagina); $vista->assign('paginacion', $paginador->get_view($pagina, '/admin/contenido/noticias/%s/')); // Obtenemos datos de las noticias. foreach ($lst as $k => $v) { $a = $v->as_array(); $a['contenido_raw'] = $a['contenido']; $a['contenido'] = Decoda::procesar($a['contenido']); $a['usuario'] = $v->usuario()->as_array(); $lst[$k] = $a; } // Seteamos listado de noticias. $vista->assign('noticias', $lst); unset($lst); // Seteamos el menu. $this->template->assign('master_bar', parent::base_menu('admin')); // Cargamos plantilla administracion. $admin_template = View::factory('admin/template'); $admin_template->assign('contenido', $vista->parse()); unset($portada); $admin_template->assign('top_bar', Controller_Admin_Home::submenu('contenido_noticias')); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $admin_template->parse()); }
/** * Listado de comentarios que se encuentran desaprobados. * @param int $pagina Número de página a mostrar. * @param int $tipo Tipo de comentarios a mostrar. */ public function action_comentarios($pagina, $tipo) { // Verifico permisos. if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_VER_DESAPROBADO)) { $_SESSION['flash_error'] = 'No tienes permiso para acceder a esa sección.'; Request::redirect('/'); } // Formato de la página. $pagina = (int) $pagina > 0 ? (int) $pagina : 1; // 0: Posts y fotos // 1: Fotos. // 2: Posts. // Verifico el tipo de comentarios a mostrar. if ($tipo == 0 || $tipo == 1 || $tipo == 2) { $tipo = (int) $tipo; } else { $tipo = 0; } // Cantidad de elementos por pagina. $cantidad_por_pagina = 20; // Cargamos la vista. $vista = View::factory('/moderar/desaprobado/comentarios'); // Asignamos datos. $vista->assign('tipo', $tipo); // Cargo datos en función del tipo. if ($tipo === 0) { // Cargo el modelo. $model_comentario = new Model_Comentario(); // Cargo el listado de comentarios. $lst = $model_comentario->listado($pagina, $cantidad_por_pagina, Model_Comentario::ESTADO_OCULTO); if (count($lst) == 0 && $pagina != 1) { Request::redirect('/moderar/desaprobado/comentarios'); } } elseif ($tipo === 1) { // Cargo el modelo. $model_comentario = new Model_Foto_Comentario(); // Cargo el listado de comentarios. $lst = $model_comentario->listado($pagina, $cantidad_por_pagina, Model_Foto_Comentario::ESTADO_OCULTO); if (count($lst) == 0 && $pagina != 1) { Request::redirect('/moderar/desaprobado/comentarios/1/1'); } } else { // Cargo el modelo. $model_comentario = new Model_Post_Comentario(); // Cargo el listado de comentarios. $lst = $model_comentario->listado($pagina, $cantidad_por_pagina, Model_Post_Comentario::ESTADO_OCULTO); if (count($lst) == 0 && $pagina != 1) { Request::redirect('/moderar/desaprobado/comentarios/1/2'); } } // Calculo las cantidades. $c_foto = Model_Foto_Comentario::cantidad(Model_Foto_Comentario::ESTADO_OCULTO); $c_post = Model_Post_Comentario::cantidad(Model_Post_Comentario::ESTADO_OCULTO); $c_total = $c_foto + $c_post; // Paso datos para barra. $vista->assign('cantidad_fotos', $c_foto); $vista->assign('cantidad_posts', $c_post); $vista->assign('cantidad_total', $c_total); $vista->assign('actual', $pagina); // Paginación. $total = $tipo == 0 ? $c_total : ($tipo == 1 ? $c_foto : $c_post); $paginador = new Paginator($total, $cantidad_por_pagina); $vista->assign('paginacion', $paginador->get_view($pagina, '/moderar/desaprobado/comentario/%s/' . $tipo)); // Obtenemos datos de los comentarios. foreach ($lst as $k => $v) { $a = $v->as_array(); if ($v instanceof Model_Foto_Comentario) { $a['foto'] = $v->foto()->as_array(); } else { $a['post'] = $v->post()->as_array(); } $a['usuario'] = $v->usuario()->as_array(); $lst[$k] = $a; } // Seteamos listado de comentarios. $vista->assign('comentarios', $lst); unset($lst); // Seteamos el menu. $this->template->assign('master_bar', parent::base_menu('moderar')); // Cargamos plantilla administracion. $admin_template = View::factory('moderar/template'); $admin_template->assign('contenido', $vista->parse()); unset($portada); $admin_template->assign('top_bar', Controller_Moderar_Home::submenu('desaprobado_comentarios')); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $admin_template->parse()); }
/** * Listado de fotos que se encuentran en la papelera. * @param int $pagina Número de página a mostrar. */ public function action_fotos($pagina) { // Verifico permisos. if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_PAPELERA)) { $_SESSION['flash_error'] = 'No tienes permiso para acceder a esa sección.'; Request::redirect('/'); } // Formato de la página. $pagina = (int) $pagina > 0 ? (int) $pagina : 1; // Cantidad de elementos por pagina. $model_configuracion = new Model_Configuracion(); $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20); // Cargamos la vista. $vista = View::factory('/moderar/papelera/fotos'); // Modelo de fotos. $model_foto = new Model_Foto(); // Cargamos el listado de posts. $lst = $model_foto->listado($pagina, $cantidad_por_pagina, Model_Foto::ESTADO_PAPELERA); if (count($lst) == 0 && $pagina != 1) { Request::redirect('/moderar/papelera/fotos'); } // Paginación. $paginador = new Paginator(Model_Foto::s_cantidad(Model_Foto::ESTADO_PAPELERA), $cantidad_por_pagina); $vista->assign('paginacion', $paginador->get_view($pagina, '/moderar/papelera/fotos/%s/')); // Obtenemos datos de los posts. foreach ($lst as $k => $v) { $a = $v->as_array(); $a['usuario'] = $v->usuario()->as_array(); $lst[$k] = $a; } // Seteamos listado de fotos. $vista->assign('fotos', $lst); unset($lst); // Seteamos el menu. $this->template->assign('master_bar', parent::base_menu('moderar')); // Cargamos plantilla administracion. $admin_template = View::factory('moderar/template'); $admin_template->assign('contenido', $vista->parse()); unset($portada); $admin_template->assign('top_bar', Controller_Moderar_Home::submenu('papelera_fotos')); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $admin_template->parse()); }
/** * Listado de sessiones de usuarios activas. * @param int $pagina Número de página a mostrar. */ public function action_sesiones($pagina) { // Formato de la página. $pagina = (int) $pagina > 0 ? (int) $pagina : 1; // Cantidad de elementos por pagina. $cantidad_por_pagina = 20; // Cargamos la vista. $vista = View::factory('admin/usuario/sesiones'); // Modelo de sessiones. $model_session = new Model_Session(session_id()); // Quitamos sessiones terminadas. $model_session->limpiar(); // Cargamos el listado de usuarios. $lst = $model_session->listado($pagina, $cantidad_por_pagina); // Paginación. $paginador = new Paginator($model_session->cantidad(), $cantidad_por_pagina); $vista->assign('paginacion', $paginador->get_view($pagina, '/admin/usuario/sessiones/%s/')); // Obtenemos datos de las noticias. foreach ($lst as $k => $v) { $a = $v->as_array(); $a['usuario'] = $v->usuario()->as_array(); $a['ip_raw'] = $a['ip']; $a['ip'] = long2ip($a['ip']); $lst[$k] = $a; } // Seteamos listado de noticias. $vista->assign('sesiones', $lst); unset($lst); // Seteamos el menu. $this->template->assign('master_bar', parent::base_menu('admin')); // Cargamos plantilla administracion. $admin_template = View::factory('admin/template'); $admin_template->assign('contenido', $vista->parse()); unset($portada); $admin_template->assign('top_bar', Controller_Admin_Home::submenu('usuario_sesiones')); // Asignamos la vista a la plantilla base. $this->template->assign('contenido', $admin_template->parse()); }
/** * Bandeja de salida. * @param int $pagina Página actual. */ public function action_enviados($pagina) { // Asignamos el título. $this->template->assign('title', 'Mensajes - Bandeja de salida'); // Cantidad de elementos por pagina. $model_configuracion = new Model_Configuracion(); $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20); // Cargamos la vista. $view = View::factory('mensaje/enviados'); // Formato de la página. $pagina = (int) $pagina > 0 ? (int) $pagina : 1; // Cargamos el listado de mensajes. $model_mensajes = new Model_Mensaje(); $enviados = $model_mensajes->enviados(Usuario::$usuario_id, $pagina, $cantidad_por_pagina); // Verifivo validez de la pagina. if (count($enviados) == 0 && $pagina != 1) { Request::redirect('/mensaje/enviados/'); } // Paginación. $paginador = new Paginator($model_mensajes->total_enviados(Usuario::$usuario_id), $cantidad_por_pagina); $view->assign('paginacion', $paginador->get_view($pagina, '/mensaje/enviados/%d')); unset($paginador); // Procesamos información relevante. foreach ($enviados as $key => $value) { $d = $value->as_array(); $d['emisor'] = $value->emisor()->as_array(); $d['receptor'] = $value->receptor()->as_array(); $enviados[$key] = $d; } $view->assign('enviados', $enviados); unset($recibidos); // Menu. $this->template->assign('master_bar', parent::base_menu('inicio')); $this->template->assign('top_bar', $this->submenu('enviados')); // Asignamos la vista. $this->template->assign('contenido', $view->parse()); }