diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sites/all/modules/ctools/plugins/contexts/string.inc	Wed Aug 21 18:51:11 2013 +0100
@@ -0,0 +1,64 @@
+<?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',
+  'keyword' => 'string',
+  'no ui' => FALSE,
+  'context name' => 'string',
+  'convert list' => array(
+    'raw' => t('Raw string'),
+    'html_safe' => t('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 ) {
+    $context->data = $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);
+  }
+}
+