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