Example #1
0
 /**
  * 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());
 }
Example #2
0
 /**
  * Listado de usuarios.
  * @param int $pagina Número de página.
  * @param int $tipo Tipo de usuarios a mostrar.
  */
 public function action_index($pagina, $tipo)
 {
     // Formato de la página.
     $pagina = $pagina > 0 ? (int) $pagina : 1;
     // TIPO, 0->todos, 1->activos, 2->suspendidos, 3->baneados
     $tipo = (int) $tipo;
     if ($tipo !== 0 && $tipo !== 1 && $tipo !== 2 && $tipo !== 3 && $tipo !== 4) {
         Request::redirect('/admin/usuario/');
     }
     // 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/usuario/index');
     // Asigno el tipo.
     $vista->assign('tipo', $tipo);
     // Limpio antiguos.
     Model_Usuario_Suspension::clean();
     // Modelo de usuarios.
     $model_usuarios = Usuario::usuario();
     // Cargo las cantidades.
     $cantidad_activas = $model_usuarios->cantidad(Model_Usuario::ESTADO_ACTIVA);
     $cantidad_suspendidas = $model_usuarios->cantidad(Model_Usuario::ESTADO_SUSPENDIDA);
     $cantidad_baneadas = $model_usuarios->cantidad(Model_Usuario::ESTADO_BANEADA);
     $cantidad_pendientes = $model_usuarios->cantidad(Model_Usuario::ESTADO_PENDIENTE);
     $cantidad_total = $cantidad_activas + $cantidad_suspendidas + $cantidad_baneadas;
     // Seteo las cantidad.
     $vista->assign('cantidad_activas', $cantidad_activas);
     $vista->assign('cantidad_suspendidas', $cantidad_suspendidas);
     $vista->assign('cantidad_baneadas', $cantidad_baneadas);
     $vista->assign('cantidad_pendientes', $cantidad_pendientes);
     $vista->assign('cantidad_total', $cantidad_total);
     $vista->assign('actual', $pagina);
     // Cargamos el listado de usuarios.
     switch ($tipo) {
         case 0:
             $lst = $model_usuarios->listado($pagina, $cantidad_por_pagina);
             $total = $cantidad_total;
             break;
         case 1:
             $lst = $model_usuarios->listado($pagina, $cantidad_por_pagina, Model_Usuario::ESTADO_ACTIVA);
             $total = $cantidad_activas;
             break;
         case 2:
             $lst = $model_usuarios->listado($pagina, $cantidad_por_pagina, Model_Usuario::ESTADO_SUSPENDIDA);
             $total = $cantidad_suspendidas;
             break;
         case 3:
             $lst = $model_usuarios->listado($pagina, $cantidad_por_pagina, Model_Usuario::ESTADO_BANEADA);
             $total = $cantidad_baneadas;
             break;
         case 4:
             $lst = $model_usuarios->listado($pagina, $cantidad_por_pagina, Model_Usuario::ESTADO_PENDIENTE);
             $total = $cantidad_pendientes;
             break;
     }
     // Paginación.
     $paginador = new Paginator($total, $cantidad_por_pagina);
     $vista->assign('paginacion', $paginador->get_view($pagina, '/admin/usuario/index/%s/' . $tipo));
     // Obtenemos datos de las noticias.
     foreach ($lst as $k => $v) {
         $a = $v->as_array();
         $a['rango_id'] = $v->rango;
         $a['rango'] = $v->rango()->nombre;
         $lst[$k] = $a;
     }
     // Seteamos listado de usuarios.
     $vista->assign('usuarios', $lst);
     unset($lst);
     // Cargamos listado de rangos que podemos asignar.
     $lst = Usuario::usuario()->rango()->listado(Usuario::usuario()->rango()->orden);
     foreach ($lst as $k => $v) {
         $lst[$k] = $v->as_array();
     }
     $vista->assign('rangos', $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'));
     // Asignamos la vista a la plantilla base.
     $this->template->assign('contenido', $admin_template->parse());
 }