You are here

function _og_role_watchdog_process_role_changes in Role Watchdog 7

Same name and namespace in other branches
  1. 6.2 modules/og_role_watchdog/og_role_watchdog.module \_og_role_watchdog_process_role_changes()
  2. 6 modules/og_role_watchdog/og_role_watchdog.module \_og_role_watchdog_process_role_changes()
  3. 7.2 modules/og_role_watchdog/og_role_watchdog.module \_og_role_watchdog_process_role_changes()

Internal function

Handle writing role changes to the database

2 calls to _og_role_watchdog_process_role_changes()
og_role_watchdog_og_role_grant in modules/og_role_watchdog/og_role_watchdog.module
og_role_watchdog_og_role_revoke in modules/og_role_watchdog/og_role_watchdog.module

File

modules/og_role_watchdog/og_role_watchdog.module, line 173
Logs changes to user roles.

Code

function _og_role_watchdog_process_role_changes($account, $new_roles, $old_roles, $gid) {
  $count = 0;

  // Is role added?
  foreach ($new_roles as $rid) {
    if (!in_array($rid, $old_roles)) {
      $record = _og_role_watchdog_add_role($rid, $account, $gid, ROLE_WATCHDOG_ROLE_ADD);
      if (is_array($record)) {
        $count = $count + 1;
      }
    }
  }

  // Is role removed?
  foreach ($old_roles as $rid) {
    if (!in_array($rid, $new_roles)) {
      $record = _og_role_watchdog_remove_role($rid, $account, $gid);
      if (is_array($record)) {
        $count = $count + 1;
      }
    }
  }
  if ($count) {
    drupal_set_message(format_plural($count, t('Group role change has been logged.'), t('Group role changes have been logged.')));
  }
}