/** * 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()); }
/** * 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()); }
/** * 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()); }