class ctools_context_optional in Chaos Tool Suite (ctools) 6
Same name and namespace in other branches
- 7 includes/context.inc \ctools_context_optional
 
Used to compare to see if a list of contexts match an optional context. This can produce empty contexts to use as placeholders.
Hierarchy
- class \ctools_context_required
- class \ctools_context_optional
 
 
Expanded class hierarchy of ctools_context_optional
File
- includes/
context.inc, line 182  - Contains code related to the ctools system of 'context'.
 
View source
class ctools_context_optional extends ctools_context_required {
  var $required = FALSE;
  function ctools_context_optional() {
    $args = func_get_args();
    call_user_func_array(array(
      $this,
      'ctools_context_required',
    ), $args);
  }
  /**
   * Add the 'empty' context which is possible for optional
   */
  function add_empty(&$contexts) {
    $context = new ctools_context('any');
    $context->title = t('No context');
    $context->identifier = t('No context');
    $contexts = array_merge(array(
      'empty' => $context,
    ), $contexts);
  }
  function filter($contexts) {
    $this
      ->add_empty($contexts);
    return parent::filter($contexts);
  }
  function select($contexts, $context) {
    $this
      ->add_empty($contexts);
    if (empty($context)) {
      return $contexts['empty'];
    }
    $result = parent::select($contexts, $context);
    // Don't flip out if it can't find the context; this is optional, put
    // in an empty.
    if ($result == FALSE) {
      $result = $contexts['empty'];
    }
    return $result;
  }
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            ctools_context_optional:: | 
                  property | 
            Test to see if this context is required. Overrides ctools_context_required:: | 
                  ||
| 
            ctools_context_optional:: | 
                  function | Add the 'empty' context which is possible for optional | ||
| 
            ctools_context_optional:: | 
                  function | |||
| 
            ctools_context_optional:: | 
                  function | 
            Overrides ctools_context_required:: | 
                  ||
| 
            ctools_context_optional:: | 
                  function | 
            Overrides ctools_context_required:: | 
                  ||
| 
            ctools_context_required:: | 
                  property | |||
| 
            ctools_context_required:: | 
                  property | If set, the title will be used in the selector to identify the context. This is very useful when multiple contexts are required to inform the user will be used for what. | ||
| 
            ctools_context_required:: | 
                  function |