You are here

public function PermissionMatrix::enforce in Little helpers 7

File

src/c2c/PermissionMatrix.php, line 133

Class

PermissionMatrix

Namespace

Drupal\little_helpers\c2c

Code

public function enforce() {
  foreach ($this->set as $rid => $perms) {
    foreach ($perms as $module => $p) {
      foreach ($p as $perm => $v) {
        if (!isset($v)) {
          continue;
        }
        if ($v) {
          $this->db
            ->merge('role_permission')
            ->key(array(
            'rid' => $rid,
            'permission' => $perm,
          ))
            ->fields(array(
            'module' => $module,
          ))
            ->execute();
        }
        else {
          $this->db
            ->delete('role_permission')
            ->condition('rid', $rid)
            ->condition('permission', $perm)
            ->execute();
        }
      }
    }
  }
}