Esempio n. 1
0
 /**
  * Método para registrar los privilegios a los perfiles
  */
 public static function setRecursoPerfil($privilegios, $old_privilegios = NULL)
 {
     $obj = new RecursoPerfil();
     $obj->begin();
     //Elimino los antiguos privilegios
     if (!empty($old_privilegios)) {
         $items = explode(',', $old_privilegios);
         foreach ($items as $value) {
             $data = explode('-', $value);
             //el formato es 1-4 = recurso-rol
             if ($data[0] != Recurso::DASHBOARD && $data[0] != Recurso::MI_CUENTA) {
                 //Para que no elimine el principal y mi cuenta
                 if (!$obj->delete("recurso_id = {$data['0']} AND perfil_id = {$data['1']}")) {
                     $obj->rollback();
                     return FALSE;
                 }
             }
         }
     }
     if (!empty($privilegios)) {
         foreach ($privilegios as $value) {
             $data = explode('-', $value);
             //el formato es 1-4 = recurso_id-perfil_id
             $obj->recurso_id = $data[0];
             $obj->perfil_id = $data[1];
             if ($obj->exists("recurso_id={$obj->recurso_id} AND perfil_id={$obj->perfil_id}")) {
                 continue;
             }
             if (!$obj->create()) {
                 $obj->rollback();
                 return FALSE;
             }
         }
     }
     $obj->commit();
     return TRUE;
 }