You are here

function ctools_context_selector in Chaos Tool Suite (ctools) 7

Same name and namespace in other branches
  1. 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);
}