function _role_watchdog_get_notification_list in Role Watchdog 7.2
Same name and namespace in other branches
- 5 role_watchdog.module \_role_watchdog_get_notification_list()
- 6.2 role_watchdog.module \_role_watchdog_get_notification_list()
- 6 role_watchdog.module \_role_watchdog_get_notification_list()
- 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 355 - 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 (:roles)', array(
':roles' => $notification_roles,
));
while ($account = $result
->fetchObject()) {
$role_watchdog_notification_list[] = $account->mail;
}
// Special case: superuser.
if (in_array(ROLE_WATCHDOG_SUPERUSER_RID, $notification_roles)) {
$result = db_query('SELECT mail FROM {users} WHERE uid = :uid', array(
':uid' => 1,
))
->fetchField();
if (!in_array($result, $role_watchdog_notification_list)) {
$role_watchdog_notification_list[] = $result;
}
}
}
}
return $role_watchdog_notification_list;
}