123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- /**
- * @file
- *
- * Plugin to provide a string context
- */
- /**
- * Plugins are described by creating a $plugin array which will be used
- * by the system that includes this file.
- */
- $plugin = array(
- 'title' => t('String'),
- 'description' => t('A context that is just a string.'),
- 'context' => 'ctools_context_create_string',
- 'edit form' => 'ctools_context_string_settings_form',
- 'defaults' => '',
- 'keyword' => 'string',
- 'no ui' => FALSE,
- 'context name' => 'string',
- 'convert list' => array(
- 'raw' => t('Raw string'),
- 'html_safe' => t('HTML-safe string'),
- 'uppercase_words_html_safe' => t('Uppercase words HTML-safe string'),
- ),
- 'convert' => 'ctools_context_string_convert',
- 'placeholder form' => array(
- '#type' => 'textfield',
- '#description' => t('Enter the string for this context.'),
- ),
- );
- /**
- * It's important to remember that $conf is optional here, because contexts
- * are not always created from the UI.
- */
- function ctools_context_create_string($empty, $data = NULL, $conf = FALSE) {
- // The input is expected to be an object as created by ctools_break_phrase
- // which contains a group of string.
- $context = new ctools_context('string');
- $context->plugin = 'string';
- if ($empty) {
- return $context;
- }
- if ($data !== FALSE ) {
- // Support the array storage from the settings form but also handle direct input from arguments.
- $context->data = is_array($data) ? $data['string'] : $data;
- $context->title = ($conf) ? check_plain($data['identifier']) : check_plain($data);
- return $context;
- }
- }
- /**
- * Convert a context into a string.
- */
- function ctools_context_string_convert($context, $type) {
- switch ($type) {
- case 'raw':
- return $context->data;
- case 'html_safe':
- return check_plain($context->data);
- case 'uppercase_words_html_safe':
- return ucwords(str_replace('-', ' ', check_plain($context->data)));
- }
- }
- /**
- * String settings form.
- */
- function ctools_context_string_settings_form($form, &$form_state) {
- $conf = &$form_state['conf'];
- $form['string'] = array(
- '#title' => t('Enter the string'),
- '#type' => 'textfield',
- '#maxlength' => 512,
- '#weight' => -10,
- '#default_value' => $conf['string'],
- );
- return $form;
- }
- function ctools_context_string_settings_form_submit($form, &$form_state) {
- $form_state['conf']['string'] = $form_state['values']['string'];
- }
|