You are here

function _role_watchdog_get_notification_list in Role Watchdog 6

Same name and namespace in other branches
  1. 5 role_watchdog.module \_role_watchdog_get_notification_list()
  2. 6.2 role_watchdog.module \_role_watchdog_get_notification_list()
  3. 7.2 role_watchdog.module \_role_watchdog_get_notification_list()
  4. 7 role_watchdog.module \_role_watchdog_get_notification_list()

Internal function

Handles building notification list

1 call to _role_watchdog_get_notification_list()
_role_watchdog_notification in ./role_watchdog.module
Internal function

File

./role_watchdog.module, line 320
Logs changes to user roles.

Code

function _role_watchdog_get_notification_list() {
  static $role_watchdog_notification_list;
  if (!isset($role_watchdog_notification_list)) {
    $role_watchdog_notification_list = array();
    $notification_roles = variable_get('role_watchdog_notify_roles', array());
    if (count($notification_roles)) {
      $result = db_query("SELECT DISTINCT u.mail FROM {users} u INNER JOIN {users_roles} r ON u.uid = r.uid WHERE r.rid IN (%s)", implode(",", $notification_roles));
      while ($account = db_fetch_object($result)) {
        $role_watchdog_notification_list[] = $account->mail;
      }

      // Special case: superuser.
      if (in_array(ROLE_WATCHDOG_SUPERUSER_RID, $notification_roles)) {
        $result = db_result(db_query("SELECT u.mail FROM {users} u WHERE u.uid = %d", 1));
        if (!in_array($result, $role_watchdog_notification_list)) {
          $role_watchdog_notification_list[] = $result;
        }
      }
    }
  }
  return $role_watchdog_notification_list;
}