class spaces_og_plugin_argument_validate_useringroups in Spaces 7.3
Same name and namespace in other branches
- 6.3 spaces_og/views/spaces_og_plugin_argument_validate_useringroups.inc \spaces_og_plugin_argument_validate_useringroups
- 7 spaces_og/views/spaces_og_plugin_argument_validate_useringroups.inc \spaces_og_plugin_argument_validate_useringroups
Validate whether an argument is a valid user that is a member of one of the current user's groups. This check works through the implementation of db_rewrite_sql() in spaces_og.
Hierarchy
- class \views_object
Expanded class hierarchy of spaces_og_plugin_argument_validate_useringroups
1 string reference to 'spaces_og_plugin_argument_validate_useringroups'
- spaces_og_views_plugins in spaces_og/
views/ spaces_og.views.inc - Implements hook_views_plugins().
File
- spaces_og/
views/ spaces_og_plugin_argument_validate_useringroups.inc, line 8
View source
class spaces_og_plugin_argument_validate_useringroups extends views_plugin_argument_validate {
function validate_form(&$form, &$form_state) {
// We are unable to rely on options having already been set, so let's make
// sure defaults are here:
if (!isset($this->argument->options['validate_user_argument_type'])) {
$this->argument->options['validate_user_argument_type'] = 'uid';
}
$form['validate_user_argument_type'] = array(
'#type' => 'radios',
'#title' => t('Type of user argument to allow'),
'#options' => array(
'uid' => t('Only allow numeric UIDs'),
'name' => t('Only allow string usernames'),
'either' => t('Allow both numeric UIDs and string usernames'),
),
'#default_value' => $this->argument->options['validate_user_argument_type'],
'#process' => array(
'expand_radios',
'ctools_dependent_process',
),
'#dependency' => array(
'edit-options-validate-type' => array(
$this->id,
),
),
'#prefix' => '<div id="edit-options-validate-user-argument-type-wrapper">',
'#suffix' => '</div>',
);
}
function validate_argument($argument) {
$type = $this->argument->options['validate_user_argument_type'];
// is_numeric() can return false positives, so we ensure it's an integer.
// However, is_integer() will always fail, since $argument is a string.
if (is_numeric($argument) && $argument == (int) $argument) {
if ($type == 'uid' || $type == 'either') {
$where = 'u.uid = %d';
}
}
else {
if ($type == 'name' || $type == 'either') {
$where = "u.name = '%s'";
}
}
if (!empty($where)) {
$query = db_rewrite_sql("SELECT u.uid FROM {users} u WHERE {$where}", 'u', 'uid', array(
$argument,
));
// TODO Please convert this statement to the D7 database API syntax.
$validated = db_query($query, $argument)
->fetchField();
return $validated;
}
return FALSE;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
spaces_og_plugin_argument_validate_useringroups:: |
function |
Overrides views_plugin_argument_validate:: |
||
spaces_og_plugin_argument_validate_useringroups:: |
function | |||
views_object:: |
public | property | Handler's definition. | |
views_object:: |
public | property | Except for displays, options for the object will be held here. | 1 |
views_object:: |
function | Collect this handler's option definition and alter them, ready for use. | ||
views_object:: |
public | function | Views handlers use a special construct function. | 4 |
views_object:: |
public | function | Destructor. | 2 |
views_object:: |
public | function | 1 | |
views_object:: |
public | function | ||
views_object:: |
public | function | Always exports the option, regardless of the default value. | |
views_object:: |
public | function | Set default options on this object. | 1 |
views_object:: |
public | function | Set default options. | |
views_object:: |
public | function | Let the handler know what its full definition is. | |
views_object:: |
public | function | Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. | |
views_object:: |
public | function | Unpack a single option definition. | |
views_object:: |
public | function | Unpacks each handler to store translatable texts. | |
views_object:: |
public | function | ||
views_plugin:: |
public | property | The current used views display. | |
views_plugin:: |
public | property | The plugin name of this plugin, for example table or full. | |
views_plugin:: |
public | property | The plugin type of this plugin, for example style or query. | |
views_plugin:: |
public | property |
The top object of a view. Overrides views_object:: |
1 |
views_plugin:: |
public | function | Provide a list of additional theme functions for the theme info page. | |
views_plugin:: |
public | function | Return the human readable name of the display. | |
views_plugin:: |
public | function | Add anything to the query that we might need to. | 7 |
views_plugin:: |
public | function | Returns the summary of the settings in the display. | 8 |
views_plugin:: |
public | function | Provide a full list of possible theme templates used by this style. | |
views_plugin:: |
public | function | Validate that the plugin is correct and can be saved. | 3 |
views_plugin_argument_validate:: |
public | function | Determine if the administrator has the privileges to use this plugin. | 1 |
views_plugin_argument_validate:: |
public | function | If we don't have access to the form but are showing it anyway, ensure that the form is safe and cannot be changed from user input. | |
views_plugin_argument_validate:: |
public | function | Convert options from the older style. | 4 |
views_plugin_argument_validate:: |
public | function | Initialize this plugin with the view and the argument it is linked to. | 1 |
views_plugin_argument_validate:: |
public | function |
Provide the default form for setting options. Overrides views_plugin:: |
4 |
views_plugin_argument_validate:: |
public | function |
Provide the default form form for submitting options Overrides views_plugin:: |
3 |
views_plugin_argument_validate:: |
public | function |
Provide the default form form for validating options. Overrides views_plugin:: |
|
views_plugin_argument_validate:: |
public | function |
Retrieve the options when this is a new access control plugin. Overrides views_object:: |
4 |
views_plugin_argument_validate:: |
public | function | Process the summary arguments for displaying. | 2 |