annotate sites/all/modules/ctools/ctools_plugin_example/plugins/contexts/simplecontext.inc @ 9:830c812b520f

added smtp module
author root <root@paio.local>
date Mon, 28 Oct 2013 15:34:27 +0000
parents ff03f76ab3fe
children
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3
danielebarchiesi@0 4 /**
danielebarchiesi@0 5 * @file
danielebarchiesi@0 6 * Sample ctools context type plugin that shows how to create a context from an arg.
danielebarchiesi@0 7 *
danielebarchiesi@0 8 */
danielebarchiesi@0 9
danielebarchiesi@0 10 /**
danielebarchiesi@0 11 * Plugins are described by creating a $plugin array which will be used
danielebarchiesi@0 12 * by the system that includes this file.
danielebarchiesi@0 13 */
danielebarchiesi@0 14 $plugin = array(
danielebarchiesi@0 15 'title' => t("Simplecontext"),
danielebarchiesi@0 16 'description' => t('A single "simplecontext" context, or data element.'),
danielebarchiesi@0 17 'context' => 'ctools_plugin_example_context_create_simplecontext', // func to create context
danielebarchiesi@0 18 'context name' => 'simplecontext',
danielebarchiesi@0 19 'settings form' => 'simplecontext_settings_form',
danielebarchiesi@0 20 'keyword' => 'simplecontext',
danielebarchiesi@0 21
danielebarchiesi@0 22 // Provides a list of items which are exposed as keywords.
danielebarchiesi@0 23 'convert list' => 'simplecontext_convert_list',
danielebarchiesi@0 24 // Convert keywords into data.
danielebarchiesi@0 25 'convert' => 'simplecontext_convert',
danielebarchiesi@0 26
danielebarchiesi@0 27 'placeholder form' => array(
danielebarchiesi@0 28 '#type' => 'textfield',
danielebarchiesi@0 29 '#description' => t('Enter some data to represent this "simplecontext".'),
danielebarchiesi@0 30 ),
danielebarchiesi@0 31 );
danielebarchiesi@0 32
danielebarchiesi@0 33 /**
danielebarchiesi@0 34 * Create a context, either from manual configuration or from an argument on the URL.
danielebarchiesi@0 35 *
danielebarchiesi@0 36 * @param $empty
danielebarchiesi@0 37 * If true, just return an empty context.
danielebarchiesi@0 38 * @param $data
danielebarchiesi@0 39 * If from settings form, an array as from a form. If from argument, a string.
danielebarchiesi@0 40 * @param $conf
danielebarchiesi@0 41 * TRUE if the $data is coming from admin configuration, FALSE if it's from a URL arg.
danielebarchiesi@0 42 *
danielebarchiesi@0 43 * @return
danielebarchiesi@0 44 * a Context object/
danielebarchiesi@0 45 */
danielebarchiesi@0 46 function ctools_plugin_example_context_create_simplecontext($empty, $data = NULL, $conf = FALSE) {
danielebarchiesi@0 47 $context = new ctools_context('simplecontext');
danielebarchiesi@0 48 $context->plugin = 'simplecontext';
danielebarchiesi@0 49
danielebarchiesi@0 50 if ($empty) {
danielebarchiesi@0 51 return $context;
danielebarchiesi@0 52 }
danielebarchiesi@0 53
danielebarchiesi@0 54 if ($conf) {
danielebarchiesi@0 55 if (!empty($data)) {
danielebarchiesi@0 56 $context->data = new stdClass();
danielebarchiesi@0 57 // For this simple item we'll just create our data by stripping non-alpha and
danielebarchiesi@0 58 // adding '_from_configuration_item_1' to it.
danielebarchiesi@0 59 $context->data->item1 = t("Item1");
danielebarchiesi@0 60 $context->data->item2 = t("Item2");
danielebarchiesi@0 61 $context->data->description = preg_replace('/[^a-z]/i', '', $data['sample_simplecontext_setting']);
danielebarchiesi@0 62 $context->data->description .= '_from_configuration_sample_simplecontext_setting';
danielebarchiesi@0 63 $context->title = t("Simplecontext context from config");
danielebarchiesi@0 64 return $context;
danielebarchiesi@0 65 }
danielebarchiesi@0 66 }
danielebarchiesi@0 67 else {
danielebarchiesi@0 68 // $data is coming from an arg - it's just a string.
danielebarchiesi@0 69 // This is used for keyword.
danielebarchiesi@0 70 $context->title = $data;
danielebarchiesi@0 71 $context->argument = $data;
danielebarchiesi@0 72 // Make up a bogus context
danielebarchiesi@0 73 $context->data = new stdClass();
danielebarchiesi@0 74 $context->data->item1 = t("Item1");
danielebarchiesi@0 75 $context->data->item2 = t("Item2");
danielebarchiesi@0 76
danielebarchiesi@0 77 // For this simple item we'll just create our data by stripping non-alpha and
danielebarchiesi@0 78 // adding '_from_simplecontext_argument' to it.
danielebarchiesi@0 79 $context->data->description = preg_replace('/[^a-z]/i', '', $data);
danielebarchiesi@0 80 $context->data->description .= '_from_simplecontext_argument';
danielebarchiesi@0 81 $context->arg_length = strlen($context->argument);
danielebarchiesi@0 82 return $context;
danielebarchiesi@0 83 }
danielebarchiesi@0 84 }
danielebarchiesi@0 85
danielebarchiesi@0 86 function simplecontext_settings_form($conf, $external = FALSE) {
danielebarchiesi@0 87 if (empty($conf)) {
danielebarchiesi@0 88 $conf = array(
danielebarchiesi@0 89 'sample_simplecontext_setting' => 'default simplecontext setting',
danielebarchiesi@0 90 );
danielebarchiesi@0 91 }
danielebarchiesi@0 92 $form = array();
danielebarchiesi@0 93 $form['sample_simplecontext_setting'] = array(
danielebarchiesi@0 94 '#type' => 'textfield',
danielebarchiesi@0 95 '#title' => t('Setting for simplecontext'),
danielebarchiesi@0 96 '#size' => 50,
danielebarchiesi@0 97 '#description' => t('An example setting that could be used to configure a context'),
danielebarchiesi@0 98 '#default_value' => $conf['sample_simplecontext_setting'],
danielebarchiesi@0 99 '#prefix' => '<div class="clear-block no-float">',
danielebarchiesi@0 100 '#suffix' => '</div>',
danielebarchiesi@0 101 );
danielebarchiesi@0 102 return $form;
danielebarchiesi@0 103 }
danielebarchiesi@0 104
danielebarchiesi@0 105
danielebarchiesi@0 106
danielebarchiesi@0 107 /**
danielebarchiesi@0 108 * Provide a list of sub-keywords.
danielebarchiesi@0 109 *
danielebarchiesi@0 110 * This is used to provide keywords from the context for use in a content type,
danielebarchiesi@0 111 * pane, etc.
danielebarchiesi@0 112 */
danielebarchiesi@0 113 function simplecontext_convert_list() {
danielebarchiesi@0 114 return array(
danielebarchiesi@0 115 'item1' => t('Item1'),
danielebarchiesi@0 116 'item2' => t('Item2'),
danielebarchiesi@0 117 'description' => t('Description'),
danielebarchiesi@0 118 );
danielebarchiesi@0 119 }
danielebarchiesi@0 120
danielebarchiesi@0 121 /**
danielebarchiesi@0 122 * Convert a context into a string to be used as a keyword by content types, etc.
danielebarchiesi@0 123 */
danielebarchiesi@0 124 function simplecontext_convert($context, $type) {
danielebarchiesi@0 125 switch ($type) {
danielebarchiesi@0 126 case 'item1':
danielebarchiesi@0 127 return $context->data->item1;
danielebarchiesi@0 128 case 'item2':
danielebarchiesi@0 129 return $context->data->item2;
danielebarchiesi@0 130 case 'description':
danielebarchiesi@0 131 return $context->data->description;
danielebarchiesi@0 132 }
danielebarchiesi@0 133 }
danielebarchiesi@0 134