function ctools_context_selector in Chaos Tool Suite (ctools) 7
Same name and namespace in other branches
- 6 includes/context.inc \ctools_context_selector()
Create a select box to choose possible contexts.
This only creates a selector if there is actually a choice; if there is only one possible context, that one is silently assigned.
If an array of required contexts is provided, one selector will be provided for each context.
Parameters
array $contexts: A keyed array of all available contexts.
array|ctools_context_required|ctools_context_optional $required: The required context object or array of objects.
array|string $default: The default value for the select object, suitable for a #default_value render key. Where $required is an array, this is an array keyed by the same key values as $required for all keys where an empty string is not a suitable default. Otherwise it is just the default value.
Return value
array A form element, or NULL if there are no contexts that satisfy the requirements.
3 calls to ctools_context_selector()
- ctools_access_ajax_edit_item in includes/
context-access-admin.inc - Form to edit the settings of an access test.
- ctools_content_configure_form_defaults in includes/
content.inc - Add the default FAPI elements to the content type configuration form.
- ctools_edit_context_form_defaults in includes/
context-admin.inc - Form wrapper for the edit context form.
File
- includes/
context.inc, line 555 - Contains code related to the ctools system of 'context'.
Code
function ctools_context_selector($contexts, $required, $default) {
if (is_array($required)) {
$result = array(
'#tree' => TRUE,
);
$count = 1;
foreach ($required as $id => $item) {
$result[] = _ctools_context_selector($contexts, $item, isset($default[$id]) ? $default[$id] : '', $count++);
}
return $result;
}
return _ctools_context_selector($contexts, $required, $default);
}