You are here

function flag_clear_clear in Flag clear 7

1 string reference to 'flag_clear_clear'
flag_clear_menu in ./flag_clear.module

File

./flag_clear.module, line 117
Code for the Flag clear module.

Code

function flag_clear_clear($type = NULL, $entity = NULL) {
  $removed = array();
  $user_flags = flag_get_entity_flags($type, $entity);
  foreach ($user_flags as $user_flag) {
    $key = key($user_flag);
    if (in_array($key, $removed)) {
      continue;
    }
    $removed[] = $key;
    $flag = flag_get_flag($key);
    flag_reset_flag($flag, $entity);
    drupal_set_message(t('Cleared all "@flag" flags for @type #@entity', array(
      '@flag' => $flag->title,
      '@type' => $type,
      '@entity' => $entity,
    )));
  }

  // Redirect to the entity that has been unflagged.
  $destination = isset($_REQUEST['destination']) ? $_REQUEST['destination'] : $type . '/' . $entity;
  drupal_goto($destination);
}