コード例 #1
0
ファイル: notificaciones.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #2
0
ファイル: gestion.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #3
0
ファイル: borradores.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #4
0
ファイル: favoritos.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #5
0
ファイル: perfil.php プロジェクト: 4bs4/marifa
 /**
  * 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'));
 }
コード例 #6
0
ファイル: buscador.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #7
0
ファイル: home.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #8
0
ファイル: denuncias.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #9
0
ファイル: foto.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #10
0
ファイル: contenido.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #11
0
ファイル: desaprobado.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #12
0
ファイル: papelera.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #13
0
ファイル: usuario.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }
コード例 #14
0
ファイル: mensaje.php プロジェクト: 4bs4/marifa
 /**
  * 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());
 }