function ctools_context_get_defaults

Get the defaults for a new instance of a context plugin.

Parameters

$plugin_definition: The metadata definition of the plugin from ctools_get_plugins().

$object: The object the context plugin will be added to.

$type: The type of context plugin. i.e, context, requiredcontext, relationship

1 call to ctools_context_get_defaults()
ctools_context_ajax_item_add in includes/context-admin.inc
Ajax entry point to add an context

File

includes/context-admin.inc, line 645

Code

function ctools_context_get_defaults($plugin_definition, $object, $type) {
    // Fetch the potential id of the plugin so we can append
    // title and keyword information for new ones.
    $type_info = ctools_context_info($type);
    $id = ctools_context_next_id($object->{$type_info['key']}, $plugin_definition['name']);
    $conf = array(
        'identifier' => $plugin_definition['title'] . ($id > 1 ? ' ' . $id : ''),
        'keyword' => ctools_get_keyword($object, $plugin_definition['keyword']),
        'name' => $plugin_definition['name'],
    );
    if (isset($plugin_definition['defaults'])) {
        $defaults = $plugin_definition['defaults'];
    }
    elseif (isset($subtype['defaults'])) {
        $defaults = $subtype['defaults'];
    }
    if (isset($defaults)) {
        if (is_string($defaults) && function_exists($defaults)) {
            if ($settings = $defaults($plugin_definition)) {
                $conf += $settings;
            }
        }
        elseif (is_array($defaults)) {
            $conf += $defaults;
        }
    }
    return $conf;
}