class views_plugin_argument_validate_url_path in Views URL Path Arguments 7
Validate whether an argument is an acceptable node.
Hierarchy
- class \views_object
- class \views_plugin
Expanded class hierarchy of views_plugin_argument_validate_url_path
1 string reference to 'views_plugin_argument_validate_url_path'
File
- ./
views_plugin_argument_validate_url_path.inc, line 11 - Contains the 'url path alias' argument validator plugin.
View source
class views_plugin_argument_validate_url_path extends views_plugin_argument_validate {
/**
* Perform the validation of an argument.
*/
function validate_argument($argument) {
// Default to returning false.
$return = FALSE;
// Is it the views 'all' argument value?
if ($argument == 'all') {
$return = TRUE;
}
elseif (is_numeric($argument)) {
// Node access isn't technically necessary for a single nid as views
// permissions would not allow any data exposure.
// That said, node access gives an expected experience as this validate
// plugin will return FALSE if they don't have access.
$result = db_select('node', 'n')
->addTag('node_access')
->condition('nid', $argument, '=')
->countQuery()
->execute();
if ($result
->fetchCol()) {
$return = TRUE;
}
}
elseif ($path = drupal_lookup_path('source', $argument)) {
// Honor node_access so we don't inadvertently disclose the node title.
$nid = substr($path, 5);
$title = db_select('node', 'n')
->addTag('node_access')
->condition('nid', $nid, '=')
->fields('n', array(
'title',
))
->execute()
->fetchField();
if ($title) {
$return = TRUE;
// Convert the path alias to a nid.
$this->argument->argument = $nid;
// Save the title() handlers some work.
$this->argument->validated_title = check_plain($title);
}
}
return $return;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
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 |
views_plugin_argument_validate_url_path:: |
function |
Perform the validation of an argument. Overrides views_plugin_argument_validate:: |