Mercurial > hg > rr-repo
comparison sites/all/modules/ctools/ctools_plugin_example/plugins/contexts/relcontext.inc @ 0:ff03f76ab3fe
initial version
author | danieleb <danielebarchiesi@me.com> |
---|---|
date | Wed, 21 Aug 2013 18:51:11 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:ff03f76ab3fe |
---|---|
1 <?php | |
2 | |
3 /** | |
4 * @file | |
5 * Sample ctools context type plugin that | |
6 * is used in this demo to create a relcontext from an existing simplecontext. | |
7 */ | |
8 | |
9 /** | |
10 * Plugins are described by creating a $plugin array which will be used | |
11 * by the system that includes this file. | |
12 */ | |
13 $plugin = array( | |
14 'title' => t("Relcontext"), | |
15 'description' => t('A relcontext object.'), | |
16 // Function to create the relcontext. | |
17 'context' => 'ctools_plugin_example_context_create_relcontext', | |
18 // Function that does the settings. | |
19 'settings form' => 'relcontext_settings_form', | |
20 'keyword' => 'relcontext', | |
21 'context name' => 'relcontext', | |
22 ); | |
23 | |
24 /** | |
25 * Create a context, either from manual configuration (form) or from an argument on the URL. | |
26 * | |
27 * @param $empty | |
28 * If true, just return an empty context. | |
29 * @param $data | |
30 * If from settings form, an array as from a form. If from argument, a string. | |
31 * @param $conf | |
32 * TRUE if the $data is coming from admin configuration, FALSE if it's from a URL arg. | |
33 * | |
34 * @return | |
35 * a Context object. | |
36 */ | |
37 function ctools_plugin_example_context_create_relcontext($empty, $data = NULL, $conf = FALSE) { | |
38 $context = new ctools_context('relcontext'); | |
39 $context->plugin = 'relcontext'; | |
40 if ($empty) { | |
41 return $context; | |
42 } | |
43 if ($conf) { | |
44 if (!empty($data)) { | |
45 $context->data = new stdClass(); | |
46 // For this simple item we'll just create our data by stripping non-alpha and | |
47 // adding 'sample_relcontext_setting' to it. | |
48 $context->data->description = 'relcontext_from__' . preg_replace('/[^a-z]/i', '', $data['sample_relcontext_setting']); | |
49 $context->data->description .= '_from_configuration_sample_simplecontext_setting'; | |
50 $context->title = t("Relcontext context from simplecontext"); | |
51 return $context; | |
52 } | |
53 } | |
54 else { | |
55 // $data is coming from an arg - it's just a string. | |
56 // This is used for keyword. | |
57 $context->title = "relcontext_" . $data->data->description; | |
58 $context->argument = $data->argument; | |
59 // Make up a bogus context. | |
60 $context->data = new stdClass(); | |
61 // For this simple item we'll just create our data by stripping non-alpha and | |
62 // prepend 'relcontext_' and adding '_created_from_from_simplecontext' to it. | |
63 $context->data->description = 'relcontext_' . preg_replace('/[^a-z]/i', '', $data->data->description); | |
64 $context->data->description .= '_created_from_simplecontext'; | |
65 return $context; | |
66 } | |
67 } | |
68 | |
69 function relcontext_settings_form($conf, $external = FALSE) { | |
70 $form = array(); | |
71 | |
72 $form['sample_relcontext_setting'] = array( | |
73 '#type' => 'textfield', | |
74 '#title' => t('Relcontext setting'), | |
75 '#size' => 50, | |
76 '#description' => t('Just an example setting.'), | |
77 '#default_value' => !empty($conf['sample_relcontext_setting']) ? $conf['sample_relcontext_setting'] : '', | |
78 '#prefix' => '<div class="clear-block no-float">', | |
79 '#suffix' => '</div>', | |
80 ); | |
81 return $form; | |
82 } | |
83 |