danielebarchiesi@0: t("Relcontext"), danielebarchiesi@0: 'description' => t('A relcontext object.'), danielebarchiesi@0: // Function to create the relcontext. danielebarchiesi@0: 'context' => 'ctools_plugin_example_context_create_relcontext', danielebarchiesi@0: // Function that does the settings. danielebarchiesi@0: 'settings form' => 'relcontext_settings_form', danielebarchiesi@0: 'keyword' => 'relcontext', danielebarchiesi@0: 'context name' => 'relcontext', danielebarchiesi@0: ); danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Create a context, either from manual configuration (form) or from an argument on the URL. danielebarchiesi@0: * danielebarchiesi@0: * @param $empty danielebarchiesi@0: * If true, just return an empty context. danielebarchiesi@0: * @param $data danielebarchiesi@0: * If from settings form, an array as from a form. If from argument, a string. danielebarchiesi@0: * @param $conf danielebarchiesi@0: * TRUE if the $data is coming from admin configuration, FALSE if it's from a URL arg. danielebarchiesi@0: * danielebarchiesi@0: * @return danielebarchiesi@0: * a Context object. danielebarchiesi@0: */ danielebarchiesi@0: function ctools_plugin_example_context_create_relcontext($empty, $data = NULL, $conf = FALSE) { danielebarchiesi@0: $context = new ctools_context('relcontext'); danielebarchiesi@0: $context->plugin = 'relcontext'; danielebarchiesi@0: if ($empty) { danielebarchiesi@0: return $context; danielebarchiesi@0: } danielebarchiesi@0: if ($conf) { danielebarchiesi@0: if (!empty($data)) { danielebarchiesi@0: $context->data = new stdClass(); danielebarchiesi@0: // For this simple item we'll just create our data by stripping non-alpha and danielebarchiesi@0: // adding 'sample_relcontext_setting' to it. danielebarchiesi@0: $context->data->description = 'relcontext_from__' . preg_replace('/[^a-z]/i', '', $data['sample_relcontext_setting']); danielebarchiesi@0: $context->data->description .= '_from_configuration_sample_simplecontext_setting'; danielebarchiesi@0: $context->title = t("Relcontext context from simplecontext"); danielebarchiesi@0: return $context; danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: else { danielebarchiesi@0: // $data is coming from an arg - it's just a string. danielebarchiesi@0: // This is used for keyword. danielebarchiesi@0: $context->title = "relcontext_" . $data->data->description; danielebarchiesi@0: $context->argument = $data->argument; danielebarchiesi@0: // Make up a bogus context. danielebarchiesi@0: $context->data = new stdClass(); danielebarchiesi@0: // For this simple item we'll just create our data by stripping non-alpha and danielebarchiesi@0: // prepend 'relcontext_' and adding '_created_from_from_simplecontext' to it. danielebarchiesi@0: $context->data->description = 'relcontext_' . preg_replace('/[^a-z]/i', '', $data->data->description); danielebarchiesi@0: $context->data->description .= '_created_from_simplecontext'; danielebarchiesi@0: return $context; danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: function relcontext_settings_form($conf, $external = FALSE) { danielebarchiesi@0: $form = array(); danielebarchiesi@0: danielebarchiesi@0: $form['sample_relcontext_setting'] = array( danielebarchiesi@0: '#type' => 'textfield', danielebarchiesi@0: '#title' => t('Relcontext setting'), danielebarchiesi@0: '#size' => 50, danielebarchiesi@0: '#description' => t('Just an example setting.'), danielebarchiesi@0: '#default_value' => !empty($conf['sample_relcontext_setting']) ? $conf['sample_relcontext_setting'] : '', danielebarchiesi@0: '#prefix' => '
', danielebarchiesi@0: '#suffix' => '
', danielebarchiesi@0: ); danielebarchiesi@0: return $form; danielebarchiesi@0: } danielebarchiesi@0: