Exemple #1
0
 /**
  * Vemos detalles de rango. Como los permisos y usuarios asignados.
  * @param int $id ID del rango a ver.
  */
 public function action_ver_rango($id)
 {
     // Cargamos el modelo del rango.
     $model_rango = new Model_Usuario_Rango((int) $id);
     if (!$model_rango->existe()) {
         Request::redirect('/admin/usuario/rangos');
     }
     // Cargamos la vista.
     $vista = View::factory('admin/usuario/ver_rango');
     // Listado de permisos.
     $permisos = array();
     $permisos[0] = array('Permiso usuario ver denuncias', 'Ver las denuncias de usuarios y actuar sobre ellas.');
     $permisos[1] = array('Permiso usuario suspender', 'Ver suspensiones de usuarios y modificarlas.');
     $permisos[2] = array('Permiso usuario banear', 'Ver baneos a usuarios y modificarlos.');
     $permisos[3] = array('Permiso usuario advertir', 'Enviar advertencias a usuarios.');
     $permisos[4] = array('Permiso usuario revisar contenido', 'Revisar posts y fotos agregadas por el usuario. Es decir, el contenido creado por el usuario va a revisión antes de postearse.');
     $permisos[5] = array('Permiso usuario administrar', 'Permite realizar tareas de administración de usuarios. Entre ellas está la asignación de rangos, su creación, etc.');
     $permisos[20] = array('Permiso post crear', 'Puede crear un post.');
     $permisos[21] = array('Permiso post puntuar', 'Puede dar puntos a un post.');
     $permisos[22] = array('Permiso post eliminar', 'Eliminar posts de todos los usuarios.');
     $permisos[23] = array('Permiso post ocultar', 'Oculta/muestra posts de todos los usuarios.');
     $permisos[24] = array('Permiso post ver denuncias', 'Ver las denuncias de posts y actuar sobre ellas.');
     $permisos[25] = array('Permiso post ver desaprobado', 'Ver los posts que no se encuentran aprobados.');
     $permisos[26] = array('Permiso post fijar promover', 'Modificar el parámetro sticky y sponsored de los posts.');
     $permisos[27] = array('Permiso post editar', 'Editar posts de todos los usuarios.');
     $permisos[28] = array('Permiso post ver papelera', 'Ver los posts que se encuentran en la papelera de todos los usuarios.');
     $permisos[40] = array('Permiso foto crear', 'Puede agregar fotos.');
     $permisos[41] = array('Permiso foto votar', 'Puede votar las fotos.');
     $permisos[42] = array('Permiso foto eliminar', 'Eliminar fotos de todos los usuarios.');
     $permisos[43] = array('Permiso foto ocultar', 'Oculta/muestra fotos de todos los usuarios.');
     $permisos[44] = array('Permiso foto ver denuncias', 'Ver las denuncias y actuar sobre ellas.');
     $permisos[45] = array('Permiso foto ver desaprobado', 'Ver el contenido que no se encuentra aprobado.');
     $permisos[46] = array('Permiso foto editar', 'Editar fotos de todos los usuarios.');
     $permisos[47] = array('Permiso foto ver papelera', 'Ver la papelera de TODOS los usuarios.');
     $permisos[60] = array('Permiso comentario comentar', 'Crear comentarios.');
     $permisos[61] = array('Permiso comentario comentar cerrado', 'Comentar aún cuando están cerrados.');
     $permisos[62] = array('Permiso comentario votar', 'Puede votar comentarios.');
     $permisos[63] = array('Permiso comentario eliminar', 'Puede eliminar comentarios de todos los usuarios.');
     $permisos[64] = array('Permiso comentario ocultar', 'Ocultar y mostrar comentarios de todos los usuarios.');
     $permisos[65] = array('Permiso comentario editar', 'Editar comentarios de todos los usuarios.');
     $permisos[66] = array('Permiso comentario ver desaprobado', 'Ver los comentarios que se encuentran desaprobados y tomar acciones sobre ellos.');
     $permisos[80] = array('Permiso sitio acceso mantenimiento', 'Puede ingresar aún con el sitio en mantenimiento.');
     $permisos[81] = array('Permiso sitio configurar', 'Permisos para modificar configuraciones globales, acciones sobre temas y plugins. modificar la publicidades y todo lo relacionado a configuracion general.');
     $permisos[82] = array('Permiso sitio administrar contenido', 'Acceso a la administración de contenido del panel de administración.');
     $vista->assign('permisos', $permisos);
     if (Request::method() == 'POST') {
         // Obtenemos permisos usuario.
         $permisos_usuario = $model_rango->permisos();
         // Obtenemos permisos marcados.
         $activos = array();
         foreach (array_keys($permisos) as $k) {
             if (isset($_POST[$k])) {
                 $activos[$k] = $k;
             }
         }
         // Calculamos nuevos y quitados.
         $i = array_intersect($permisos_usuario, $activos);
         $quitar = array_diff($permisos_usuario, $i);
         $nuevos = array_diff($activos, $i);
         // Realizamos modificaciones.
         foreach ($quitar as $q) {
             $model_rango->borrar_permiso($q);
         }
         foreach ($nuevos as $q) {
             $model_rango->agregar_permiso($q);
         }
         $vista->assign('success', 'Permisos actualizados correctamente.');
     }
     // Seteamos datos del rango.
     $vista->assign('rango', $model_rango->as_array());
     // Permisos del rango.
     $vista->assign('permisos_rango', $model_rango->permisos());
     // Usuarios del rango.
     $lst = $model_rango->usuarios();
     foreach ($lst as $k => $v) {
         $lst[$k] = $v->as_array();
     }
     // 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_rangos'));
     // Asignamos la vista a la plantilla base.
     $this->template->assign('contenido', $admin_template->parse());
 }