Exemplo n.º 1
0
 /**
  * Listado de posts que se encuentran en la papelera.
  * @param int $pagina Número de página a mostrar.
  */
 public function action_posts($pagina)
 {
     // Verifico permisos.
     if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_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/posts');
     // Modelo de posts.
     $model_post = new Model_Post();
     // Cargamos el listado de posts.
     $lst = $model_post->listado($pagina, $cantidad_por_pagina, Model_Post::ESTADO_PAPELERA);
     if (count($lst) == 0 && $pagina != 1) {
         Request::redirect('/moderar/papelera/posts');
     }
     // Paginación.
     $paginador = new Paginator(Model_Post::s_cantidad(Model_Post::ESTADO_PAPELERA), $cantidad_por_pagina);
     $vista->assign('paginacion', $paginador->get_view($pagina, '/moderar/papelera/posts/$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 posts.
     $vista->assign('posts', $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_posts'));
     // Asignamos la vista a la plantilla base.
     $this->template->assign('contenido', $admin_template->parse());
 }
Exemplo n.º 2
0
 /**
  * Listado de posts existentes.
  * @param int $pagina Número de página a mostrar.
  * @param int $tipo Tipos de posts a mostrar.
  */
 public function action_posts($pagina, $tipo)
 {
     // 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);
     // Verifico el tipo de fotos a mostrar.
     $tipo = $tipo === NULL ? NULL : (int) $tipo;
     if ($tipo === 0) {
         $tipo = array('activo', 0);
     } elseif ($tipo === 1) {
         $tipo = array('borrador', 1);
     } elseif ($tipo === 2) {
         $tipo = array('borrado', 2);
     } elseif ($tipo === 3) {
         $tipo = array('pendiente', 3);
     } elseif ($tipo === 4) {
         $tipo = array('oculto', 4);
     } elseif ($tipo === 5) {
         $tipo = array('rechazado', 5);
     } elseif ($tipo === 6) {
         $tipo = array('papelera', 6);
     } else {
         $tipo = array('total', NULL);
     }
     // Cargamos la vista.
     $vista = View::factory('admin/contenido/posts');
     $vista->assign('tipo', $tipo[1] == NULL ? 7 : $tipo[1]);
     // Modelo de posts.
     $model_posts = new Model_Post();
     // Cargamos el listado de posts.
     $lst = $model_posts->listado($pagina, $cantidad_por_pagina, $tipo[1]);
     // Verificamos páginas aleatorias sin elementos.
     if (count($lst) == 0 && $pagina != 1) {
         Request::redirect('/admin/contenido/posts');
     }
     // Calculo las cantidades.
     $cantidades = Model_Post::cantidad_agrupados();
     // Paso datos para barra.
     $vista->assign('cantidades', $cantidades);
     $vista->assign('actual', $pagina);
     // Paginación.
     $paginador = new Paginator($cantidades[$tipo[0]], $cantidad_por_pagina);
     $vista->assign('paginacion', $paginador->get_view($pagina, '/admin/contenido/posts/%s/' . $tipo[0]));
     // 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 posts.
     $vista->assign('posts', $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_posts'));
     // Asignamos la vista a la plantilla base.
     $this->template->assign('contenido', $admin_template->parse());
 }
Exemplo n.º 3
0
 /**
  * Listado de posts que se encuentran desaprobados.
  * @param int $pagina Número de página a mostrar.
  * @param int $tipo Tipo de posts a mostrar.
  */
 public function action_posts($pagina, $tipo)
 {
     // Verifico permisos.
     if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_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: Pendiente y Rechazado.
     // 1: Pendiente.
     // 2: Rechazado.
     // 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.
     $model_configuracion = new Model_Configuracion();
     $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20);
     // Cargamos la vista.
     $vista = View::factory('/moderar/desaprobado/posts');
     // Asignamos datos.
     $vista->assign('tipo', $tipo);
     // Modelo de posts.
     $model_post = new Model_Post();
     // Cargamos el listado de posts.
     $lst = $model_post->listado($pagina, $cantidad_por_pagina, $tipo == 0 ? array(Model_Post::ESTADO_PENDIENTE, Model_Post::ESTADO_RECHAZADO) : ($tipo == 1 ? Model_Post::ESTADO_PENDIENTE : Model_Post::ESTADO_RECHAZADO));
     if (count($lst) == 0 && $pagina != 1) {
         Request::redirect('/moderar/desaprobado/posts');
     }
     // Calculo las cantidades.
     $c_pendientes = $model_post->cantidad(Model_Post::ESTADO_PENDIENTE);
     $c_rechazados = $model_post->cantidad(Model_Post::ESTADO_RECHAZADO);
     $c_total = $c_pendientes + $c_rechazados;
     // Paso datos para barra.
     $vista->assign('cantidad_pendientes', $c_pendientes);
     $vista->assign('cantidad_rechazados', $c_rechazados);
     $vista->assign('cantidad_total', $c_total);
     $vista->assign('actual', $pagina);
     // Paginación.
     $total = $tipo == 0 ? $c_total : ($tipo == 1 ? $c_pendientes : $c_rechazados);
     $paginador = new Paginator($total, $cantidad_por_pagina);
     $vista->assign('paginacion', $paginador->get_view($pagina, '/moderar/desaprobado/posts/%s/' . $tipo));
     // 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 posts.
     $vista->assign('posts', $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_posts'));
     // Asignamos la vista a la plantilla base.
     $this->template->assign('contenido', $admin_template->parse());
 }