_nodereference_potential_references
- 5
_nodereference_potential_references($field, $return_full_nodes = FALSE, $string = '', $exact_string = false)
- 6
_nodereference_potential_references($field, $string = '', $match = 'contains', $ids = array(), $limit = NULL)
Fetch an array of all candidate referenced nodes.
This info is used in various places (allowed values, autocomplete results,
input validation...). Some of them only need the nids, others nid + titles,
others yet nid + titles + rendered row (for display in widgets).
The array we return contains all the potentially needed information, and lets
consumers use the parts they actually need.
Parameters
$field
The field description.
$string
Optional string to filter titles on (used by autocomplete).
$match
Operator to match filtered name against, can be any of:
'contains', 'equals', 'starts_with'
$ids
Optional node ids to lookup (the $string and $match arguments will be
ignored).
$limit
If non-zero, limit the size of the result set.
Return value
An array of valid nodes in the form:
array(
nid => array(
'title' => The node title,
'rendered' => The text to display in widgets (can be HTML)
),
...
)
Code
contributions/cck/modules/nodereference/nodereference.module, line 803
<?php
function _nodereference_potential_references($field, $string = '', $match = 'contains', $ids = array(), $limit = NULL) {
static $results = array();
$cid = $field['field_name'] .':'. $match .':'. ($string !== '' ? $string : implode('-', $ids)) .':'. $limit;
if (!isset($results[$cid])) {
$references = FALSE;
if (module_exists('views') && !empty($field['advanced_view']) && $field['advanced_view'] != '--') {
$references = _nodereference_potential_references_views($field, $string, $match, $ids, $limit);
}
if ($references === FALSE) {
$references = _nodereference_potential_references_standard($field, $string, $match, $ids, $limit);
}
$results[$cid] = !empty($references) ? $references : array();
}
return $results[$cid];
}
?>