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')),