56c56,58
< && _swfaddress_path_permitted()) {
---
> && _swfaddress_path_permitted()
> && _swfaddress_user_permitted()
> && _swfaddress_role_permitted()) {
120a123,128
> case 'admin/settings/swfaddress#users':
> return "";
> break;
> case 'admin/settings/swfaddress#roles':
> return "";
> break;
208a217,265
> function _swfaddress_user_permitted() {
> global $user;
> if(variable_get('swfaddress_disabled_users', swfaddress_help('admin/settings/swfaddress#users')) !="")
> {
> $users = explode('\n',variable_get('swfaddress_disabled_users', swfaddress_help('admin/settings/swfaddress#users')));
> $user_permitted = !in_array($user->name,$users);
> }
> else
> {
> $user_permitted = true;
> }
>
>
> if (variable_get('swfaddress_enabled_users', 0)) {
> $user_permitted = !$user_permitted;
> }
>
> return $user_permitted;
> }
>
> function _swfaddress_role_permitted() {
> global $user;
>
> if(variable_get('swfaddress_disabled_roles', swfaddress_help('admin/settings/swfaddress#roles')) !="")
> {
> $roles = explode('\n',variable_get('swfaddress_disabled_roles', swfaddress_help('admin/settings/swfaddress#roles')));
> $role_permitted = true;
> foreach($roles as $role)
> {
> if(in_array($role,$user->roles))
> {
> $role_permitted = false;
> break;
> }
> }
> }
> else
> {
> $role_permitted = true;
> }
>
>
> if (variable_get('swfaddress_enabled_roles', 0)) {
> $role_permitted = !$role_permitted;
> }
>
> return $role_permitted;
> }
>
338a396,445
> );
>
> $form['role_options'] = array(
> '#type' => 'fieldset',
> '#title' => t('Replacement Enabled or Disabled for specific roles'),
> '#collapsible' => TRUE,
> '#collapsed' => TRUE
> );
>
>
> $form['role_options']['swfaddress_enabled_roles'] = array(
> '#type' => 'radios',
> '#title' => t('Mode'),
> '#default_value' => variable_get('swfaddress_enabled_roles', 0),
> '#options' => array(
> 0 => t('Disabled (Redirect every role except the listed roles.)'),
> 1 => t('Enabled (Redirect only the listed roles.)'))
> );
>
> $form['role_options']['swfaddress_disabled_roles'] = array(
> '#type' => 'textarea',
> '#title' => t('Enabled / Disabled Roles'),
> '#rows' => 8,
> '#description' => t('Specify the roles that will be enabled or disabled, based on the Mode setting above. Separate paths with a return.'),
> '#default_value' => variable_get('swfaddress_disabled_roles', swfaddress_help('admin/settings/swfaddress#roles')),
> );
>
> $form['user_options'] = array(
> '#type' => 'fieldset',
> '#title' => t('Replacement Enabled or Disabled for specific users'),
> '#collapsible' => TRUE,
> '#collapsed' => TRUE
> );
>
> $form['user_options']['swfaddress_enabled_users'] = array(
> '#type' => 'radios',
> '#title' => t('Mode'),
> '#default_value' => variable_get('swfaddress_enabled_users', 0),
> '#options' => array(
> 0 => t('Disabled (Redirect every role except the listed roles.)'),
> 1 => t('Enabled (Redirect only the listed roles.)'))
>
> );
>
> $form['user_options']['swfaddress_disabled_users'] = array(
> '#type' => 'textarea',
> '#title' => t('Enabled / Disabled Users'),
> '#rows' => 8,
> '#description' => t('Specify the users that will be enabled or disabled, based on the Mode setting above. Separate paths with a return.'),
> '#default_value' => variable_get('swfaddress_disabled_users', swfaddress_help('admin/settings/swfaddress#users')),