You are here

function acquia_spi_security_review_untrusted_permissions in Acquia Connector 7.3

Same name and namespace in other branches
  1. 7.2 acquia_spi/security_review.inc \acquia_spi_security_review_untrusted_permissions()

Helper function collects the permissions untrusted roles have.

File

acquia_spi/security_review.inc, line 880
Stand-alone security checks and review system.

Code

function acquia_spi_security_review_untrusted_permissions() {
  static $permissions;
  if (empty($permissions)) {
    $permissions = array();

    // Collect list of untrusted roles' permissions.
    $untrusted_roles = acquia_spi_security_review_untrusted_roles();
    foreach ($untrusted_roles as $rid) {
      $perms = array();
      $results = db_query('SELECT r.rid, p.permission FROM {role} r LEFT JOIN {role_permission} p ON r.rid = p.rid WHERE r.rid = :rid', array(
        ':rid' => $rid,
      ))
        ->fetchArray();
      if ($results !== FALSE) {
        $perms = explode(',', str_replace(', ', ',', $results['permission']));
        $permissions[$rid] = $perms;
      }
    }
  }
  return $permissions;
}