annotate sites/all/modules/ctools/plugins/contexts/string.inc @ 0:ff03f76ab3fe

initial version
author danieleb <danielebarchiesi@me.com>
date Wed, 21 Aug 2013 18:51:11 +0100
parents
children
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3 /**
danielebarchiesi@0 4 * @file
danielebarchiesi@0 5 *
danielebarchiesi@0 6 * Plugin to provide a string context
danielebarchiesi@0 7 */
danielebarchiesi@0 8
danielebarchiesi@0 9 /**
danielebarchiesi@0 10 * Plugins are described by creating a $plugin array which will be used
danielebarchiesi@0 11 * by the system that includes this file.
danielebarchiesi@0 12 */
danielebarchiesi@0 13 $plugin = array(
danielebarchiesi@0 14 'title' => t('String'),
danielebarchiesi@0 15 'description' => t('A context that is just a string.'),
danielebarchiesi@0 16 'context' => 'ctools_context_create_string',
danielebarchiesi@0 17 'keyword' => 'string',
danielebarchiesi@0 18 'no ui' => FALSE,
danielebarchiesi@0 19 'context name' => 'string',
danielebarchiesi@0 20 'convert list' => array(
danielebarchiesi@0 21 'raw' => t('Raw string'),
danielebarchiesi@0 22 'html_safe' => t('HTML-safe string'),
danielebarchiesi@0 23 ),
danielebarchiesi@0 24 'convert' => 'ctools_context_string_convert',
danielebarchiesi@0 25 'placeholder form' => array(
danielebarchiesi@0 26 '#type' => 'textfield',
danielebarchiesi@0 27 '#description' => t('Enter the string for this context.'),
danielebarchiesi@0 28 ),
danielebarchiesi@0 29 );
danielebarchiesi@0 30
danielebarchiesi@0 31 /**
danielebarchiesi@0 32 * It's important to remember that $conf is optional here, because contexts
danielebarchiesi@0 33 * are not always created from the UI.
danielebarchiesi@0 34 */
danielebarchiesi@0 35 function ctools_context_create_string($empty, $data = NULL, $conf = FALSE) {
danielebarchiesi@0 36 // The input is expected to be an object as created by ctools_break_phrase
danielebarchiesi@0 37 // which contains a group of string.
danielebarchiesi@0 38
danielebarchiesi@0 39 $context = new ctools_context('string');
danielebarchiesi@0 40 $context->plugin = 'string';
danielebarchiesi@0 41
danielebarchiesi@0 42 if ($empty) {
danielebarchiesi@0 43 return $context;
danielebarchiesi@0 44 }
danielebarchiesi@0 45
danielebarchiesi@0 46 if ($data !== FALSE ) {
danielebarchiesi@0 47 $context->data = $data;
danielebarchiesi@0 48 $context->title = ($conf) ? check_plain($data['identifier']) : check_plain($data);
danielebarchiesi@0 49 return $context;
danielebarchiesi@0 50 }
danielebarchiesi@0 51 }
danielebarchiesi@0 52
danielebarchiesi@0 53 /**
danielebarchiesi@0 54 * Convert a context into a string.
danielebarchiesi@0 55 */
danielebarchiesi@0 56 function ctools_context_string_convert($context, $type) {
danielebarchiesi@0 57 switch ($type) {
danielebarchiesi@0 58 case 'raw':
danielebarchiesi@0 59 return $context->data;
danielebarchiesi@0 60 case 'html_safe':
danielebarchiesi@0 61 return check_plain($context->data);
danielebarchiesi@0 62 }
danielebarchiesi@0 63 }
danielebarchiesi@0 64