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 <strong>Mode</strong> 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 <strong>Mode</strong> setting above. Separate paths with a return.'),
>     '#default_value' => variable_get('swfaddress_disabled_users', swfaddress_help('admin/settings/swfaddress#users')),
