first import
This commit is contained in:
50
sites/all/modules/ctools/plugins/arguments/nid.inc
Normal file
50
sites/all/modules/ctools/plugins/arguments/nid.inc
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* Plugin to provide an argument handler for a node id
|
||||
*/
|
||||
|
||||
/**
|
||||
* Plugins are described by creating a $plugin array which will be used
|
||||
* by the system that includes this file.
|
||||
*/
|
||||
$plugin = array(
|
||||
'title' => t("Node: ID"),
|
||||
'keyword' => 'node',
|
||||
'description' => t('Creates a node context from a node ID argument.'),
|
||||
'context' => 'ctools_argument_nid_context',
|
||||
'placeholder form' => array(
|
||||
'#type' => 'textfield',
|
||||
'#description' => t('Enter the node ID of a node for this argument'),
|
||||
),
|
||||
'no ui' => TRUE,
|
||||
);
|
||||
|
||||
/**
|
||||
* Discover if this argument gives us the node we crave.
|
||||
*/
|
||||
function ctools_argument_nid_context($arg = NULL, $conf = NULL, $empty = FALSE) {
|
||||
// If unset it wants a generic, unfilled context.
|
||||
if ($empty) {
|
||||
return ctools_context_create_empty('node');
|
||||
}
|
||||
|
||||
// We can accept either a node object or a pure nid.
|
||||
if (is_object($arg)) {
|
||||
return ctools_context_create('node', $arg);
|
||||
}
|
||||
|
||||
if (!is_numeric($arg)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$node = node_load($arg);
|
||||
if (!$node) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return ctools_context_create('node', $node);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user