Index: context_ui/context_ui-list-contexts.tpl.php =================================================================== RCS file: context_ui/context_ui-list-contexts.tpl.php diff -N context_ui/context_ui-list-contexts.tpl.php --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ context_ui/context_ui-list-contexts.tpl.php 18 Mar 2010 07:31:36 -0000 @@ -0,0 +1,49 @@ + + +

+ + $attributes): ?> + $contexts): ?> +
+
+ > +
+ $context): ?> + + + + + + + + + + + +
+ + @type context: @context', array('@type' => $context->type, '@context' => $context->name)) ?> + tag)): ?> +  (tag ?>) + + ops ?>
+ conditions): ?> + $context->conditions)) ?>
+ + reactions): ?> + $context->reactions)) ?> + +
+ description ?> +
+ +
+ + Index: context_ui/context_ui-list.css =================================================================== RCS file: context_ui/context_ui-list.css diff -N context_ui/context_ui-list.css --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ context_ui/context_ui-list.css 18 Mar 2010 07:31:36 -0000 @@ -0,0 +1,100 @@ +/* $Id$ */ + +div.context-namespace-attribute { + margin-top: 1em; + background: #eee; + border: 2px solid #ddd; +} + +div.context-namespace-attribute-title { + margin: 2px; + padding-left: 10px; + font-weight: bold; + background: #fff; + line-height: 1.8; + border: 1px solid #ddd; +} + +table.contexts-entry { + margin: 3px 0; + border: 1px solid #ddd; + background-color: white; + color: #494949; /* matches garland */ + clear: left; /* LTR */ + width: 97%; + margin-left: 2%; +} + +table.contexts-entry tbody { + border: none; +} + +table.contexts-entry td.context-ops { + width: 45%; + text-align: right; /* LTR */ + background-color: #eee; +} + +table.contexts-entry td.context-name { + background-color: #eee; +} + +table.contexts-entry .description { + vertical-align: top; +} + +body form#contexts-ui-list-contexts-form { + margin: 0 0 1.5em 0; +} + +#contexts-ui-list-contexts-form .form-item { + padding-right: 1em; /* LTR */ + float: left; /* LTR */ + margin-top: 0; + margin-bottom: 0; +} + +#edit-order-wrapper { + clear: left; /* LTR */ +} + +#edit-contexts-apply, +#edit-contexts-reset { + margin-top: 1.65em; + float: left; /* LTR */ +} + +.contexts-entry .advanced-help-link { + position: relative; + top: 2px; + padding-right: 3px; /* LTR */ +} + +table.context-disabled { + color: #999; +} + +table.contexts-entry td { + line-height: 1.4; + padding-bottom: 10px; +} +table.context-disabled td { + line-height: 1.4; + padding-bottom: 10px; + background: none; +} +table.context-enabled td.context-name, +table.context-enabled td.context-ops, +table.context-disabled td.context-name, +table.context-disabled td.context-ops { + line-height: 1.6; + padding-bottom: 0.3em; +} +table.contexts-entry td.context-name, +table.contexts-entry td.context-ops { + background: #eee; +} +table.context-enabled td.context-name, +table.context-enabled td.context-ops { + background: #E4F0F8; +} Index: context_ui/context_ui.admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/context/context_ui/Attic/context_ui.admin.inc,v retrieving revision 1.1.2.7.2.13 diff -u -p -r1.1.2.7.2.13 context_ui.admin.inc --- context_ui/context_ui.admin.inc 17 Mar 2010 08:08:53 -0000 1.1.2.7.2.13 +++ context_ui/context_ui.admin.inc 18 Mar 2010 07:31:38 -0000 @@ -4,28 +4,95 @@ /** * Page callback for context_ui admin landing page. */ -function context_ui_admin() { - // Add css - drupal_add_css(drupal_get_path("module", "context_ui") ."/context_ui.css"); - +function context_ui_list_contexts() { // rebuild blocks _block_rehash(); // rebuild context cache context_invalidate_cache(); + $output = theme('context_ui_list_contexts'); + return $output; +} + +/** + * Preprocess the contexts list theme + */ +function template_preprocess_context_ui_list_contexts(&$vars) { + $contexts = context_contexts(); + $conditions = context_conditions(); + $reactions = context_reactions(); + ksort($contexts); + $vars['contexts_tree'] = array(); + + foreach ($contexts as $key => $context) { + $identifier = (isset($context->cid) && $context->cid) ? $context->cid : key; + + $item = new stdClass(); + $item->namespace = $context->namespace; + $item->attribute = $context->attribute; + $item->name = $context->value; + $item->ops = array(); + + switch ($context->type) { + case CONTEXT_STORAGE_DEFAULT: + $item->type = 'Default'; + $links[0] = l(t('Override'), "admin/build/context/$identifier/clone"); + $links[2] = l(t('Export'), "admin/build/context/$identifier/export"); + $links[3] = l(t('Clone'), "admin/build/context/$identifier/clone"); + break; + case CONTEXT_STORAGE_OVERRIDDEN: + $item->type = 'Overridden'; + $links[0] = l(t('Edit'), "admin/build/context/$identifier"); + $links[2] = l(t('Export'), "admin/build/context/$identifier/export"); + $links[3] = l(t('Clone'), "admin/build/context/$identifier/clone"); + $links[4] = l(t('Revert'), "admin/build/context/$identifier/delete"); + break; + case CONTEXT_STORAGE_NORMAL: + $item->type = 'Normal'; + $links[0] = l(t('Edit'), "admin/build/context/$identifier"); + $links[2] = l(t('Export'), "admin/build/context/$identifier/export"); + $links[3] = l(t('Clone'), "admin/build/context/$identifier/clone"); + $links[4] = l(t('Delete'), "admin/build/context/$identifier/delete"); + } + switch ($context->status) { + case CONTEXT_STATUS_DISABLED: + $item->classes = 'context-disabled'; + $links[1] = l(t('Enable'), "admin/build/context/$identifier/enable"); + break; + case CONTEXT_STATUS_ENABLED: + $item->classes = 'context-enabled'; + $links[1] = l(t('Disable'), "admin/build/context/$identifier/disable"); + } + $item->ops = implode(' | ', $links); + + foreach ($conditions as $id => $condition) { + if (!empty($context->$id)) { + $item->conditions[] = $condition['#title']; + } + } + $item->conditions = isset($item->conditions) ? implode(', ', $item->conditions) : t('none'); - // user defined contexts - $output = "

". t('Context definitions') ."

"; - $normal = context_contexts(); - if ($normal) { - ksort($normal); - $output .= theme('context_ui_admin', $normal); + foreach ($reactions as $id => $reaction) { + if (!empty($context->$id)) { + $item->reactions[] = $reaction['#title']; + } + } + $item->reactions = isset($item->reactions) ? implode(', ', $item->reactions) : t('none'); + + $item->description = !empty($context->description) ? filter_xss_admin($context->description) : ''; + $vars['contexts_tree'][$item->namespace][$item->attribute][$item->name] = $item; } - else { - $output .= "

". t('Please !add_context to get started.', array('!add_context' => l(t('add a context'), 'admin/build/context/add'))) ."

"; + + $getting_started = theme('advanced_help_topic', 'context_ui', 'getting-started', 'title'); + if (!$getting_started) { + $getting_started = t('Install the advanced help module for the getting started'); + } - return $output; + $vars['help'] = t('Not sure what to do? Try the "!getting-started" page.', array('!getting-started' => $getting_started)); + $vars['help_type_icon'] = theme('advanced_help_topic', 'context_ui', 'type'); + + drupal_add_css(drupal_get_path("module", "context_ui") ."/context_ui-list.css"); } /** @@ -719,90 +786,6 @@ function theme_context_ui_bulk_export_ta } /** - * Generates the main context_ui admin page with a tiered context listing. - */ -function theme_context_ui_admin($contexts) { - $rows = $headings = array(); - foreach ($contexts as $key => $context) { - $row = array(); - - $namespace = $context->namespace; - $attribute = $context->attribute; - $value = $context->value; - if (isset($context->cid) && $context->cid) { - $identifier = $context->cid; - } - else { - $identifier = $key; - } - - // If no heading has been printed for this n/a pair, do so - if (!isset($rows["$namespace-$attribute"])) { - $row = array(array('data' => "$namespace > $attribute", 'colspan' => 2)); - $rows["$namespace-$attribute"] = $row; - } - - // Add row for context - $links = array(); - $icon = theme('advanced_help_topic', 'context_ui', 'type'); - switch ($context->type) { - case CONTEXT_STORAGE_DEFAULT: - $type = 'Default'; - $links[0] = l(t('Override'), "admin/build/context/$identifier/clone"); - $links[2] = l(t('Export'), "admin/build/context/$identifier/export"); - $links[3] = l(t('Clone'), "admin/build/context/$identifier/clone"); - break; - case CONTEXT_STORAGE_OVERRIDDEN: - $type = 'Overridden'; - $links[0] = l(t('Edit'), "admin/build/context/$identifier"); - $links[2] = l(t('Export'), "admin/build/context/$identifier/export"); - $links[3] = l(t('Clone'), "admin/build/context/$identifier/clone"); - $links[4] = l(t('Revert'), "admin/build/context/$identifier/delete"); - break; - case CONTEXT_STORAGE_NORMAL: - $type = 'Normal'; - $links[0] = l(t('Edit'), "admin/build/context/$identifier"); - $links[2] = l(t('Export'), "admin/build/context/$identifier/export"); - $links[3] = l(t('Clone'), "admin/build/context/$identifier/clone"); - $links[4] = l(t('Delete'), "admin/build/context/$identifier/delete"); - } - switch ($context->status) { - case CONTEXT_STATUS_DISABLED: - $class = 'disabled'; - $enable = l(t('Enable'), "admin/build/context/$identifier/enable"); - break; - case CONTEXT_STATUS_ENABLED: - $class = 'enabled'; - $enable = l(t('Disable'), "admin/build/context/$identifier/disable"); - } - $links[1] = $enable; - if ($icon) { - // These spans are used to work-around advanced help's default styling of - // floating the help icon left. We would like to display it after the text, - // so we put a series of floats next to each other. - $data = "$value ($type $icon)"; - } - else { - $data = "$value ($type)"; - } - $description = !empty($context->description) ? '
'. filter_xss_admin($context->description) .'
' : ''; - - ksort($links); - $rows[$key] = array( - 'data' => array( - array( - 'data' => $data . $description, - 'class' => 'context-name '. ($icon? 'icon' : 'no-icon'), - ), - implode(' | ', $links), - ), - 'class' => 'context-table-row ' . $class, - ); - } - return theme('table', array(t('Context'), t('Operations')), $rows, array('class' => 'context-ui-overview')); -} - -/** * Generates the AJAX enabled block administration portion of the context_ui admin form. */ function theme_context_ui_block_ui($form) { Index: context_ui/context_ui.css =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/context/context_ui/context_ui.css,v retrieving revision 1.6.2.7 diff -u -p -r1.6.2.7 context_ui.css --- context_ui/context_ui.css 8 Mar 2009 04:34:10 -0000 1.6.2.7 +++ context_ui/context_ui.css 18 Mar 2010 07:31:38 -0000 @@ -36,48 +36,6 @@ * Context admin listing page ========================================= */ -table.context-ui-overview a.advanced-help-link { - position: relative; - top: 3px; - margin-left: 3px; - } - -table.context-ui-overview span.context-namespace { - font-weight:bold; - } - -table.context-ui-overview td.context-name { - padding-left:30px; - } - -table.context-ui-overview tr.disabled td.context-name { - color:#999; - } - -table.context-ui-overview tr.context-table-row td.icon strong, -table.context-ui-overview tr.context-table-row td.icon em, -table.context-ui-overview tr.context-table-row td.icon span { - display: block; - float: left; - padding-right: 2px; - } - -table.context-ui-overview tr.context-table-row td div.description { - margin-bottom: 0; - } - -table.context-ui-overview tr.context-table-row td div.description { - margin-bottom: 0; - } - -table.context-ui-overview tr.context-table-row td.icon strong { - padding-right: 4px; - } - -table.context-ui-overview tr.context-table-row td.icon a span { - display: none; - } - h3.context-space small { display:inline; padding:.1em .5em; margin-left:1em; Index: context_ui/context_ui.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/context/context_ui/context_ui.module,v retrieving revision 1.13.2.48.2.1 diff -u -p -r1.13.2.48.2.1 context_ui.module --- context_ui/context_ui.module 14 May 2009 03:55:26 -0000 1.13.2.48.2.1 +++ context_ui/context_ui.module 18 Mar 2010 07:31:39 -0000 @@ -5,30 +5,29 @@ * Implementation of hook_theme(). */ function context_ui_theme() { - $items['context_ui_export_form'] = array( - 'arguments' => array('form' => array()), - 'file' => 'context_ui.admin.inc', - ); - $items['context_ui_item_display'] = array( - 'arguments' => array('form' => array()), - 'file' => 'context_ui.admin.inc', - ); - $items['context_ui_form'] = array( - 'arguments' => array('form' => array()), - 'file' => 'context_ui.admin.inc', - ); - $items['context_ui_block_ui'] = array( - 'arguments' => array('form' => array()), - 'file' => 'context_ui.admin.inc', - ); - $items['context_ui_admin'] = array( + $path = drupal_get_path('module', 'context_ui'); + + // This is only required for the preprocess function. + require_once "./$path/context_ui.admin.inc"; + + // Minor code reduction technique. + $base = array( 'arguments' => array('form' => array()), 'file' => 'context_ui.admin.inc', ); - $items['context_ui_bulk_export_table'] = array( - 'arguments' => array('form' => array()), - 'file' => 'context_ui.admin.inc', + + $items['context_ui_export_form'] = $base; + $items['context_ui_item_display'] = $base; + $items['context_ui_form'] = $base; + $items['context_ui_block_ui'] = $base; + $items['context_ui_bulk_export_table'] = $base; + + // List contexts (admin landing page). + $items['context_ui_list_contexts'] = array( + 'template' => 'context_ui-list-contexts', + 'path' => $path, ); + $items['context_devel'] = array( 'arguments' => array('form' => array()), ); @@ -72,12 +71,11 @@ function context_ui_menu() { $items['admin/build/context'] = array( 'title' => 'Context', 'description' => 'Associate menus, views, blocks, etc. with different contexts to structure your site.', - 'page callback' => 'context_ui_admin', + 'page callback' => 'context_ui_list_contexts', 'type' => MENU_NORMAL_ITEM, ); $items['admin/build/context/list'] = array( 'title' => 'List', - 'page callback' => 'context_ui_admin', 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => 0, ); Index: context_ui/help/context_ui.help.ini =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/context/context_ui/help/Attic/context_ui.help.ini,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 context_ui.help.ini --- context_ui/help/context_ui.help.ini 9 Feb 2009 02:36:35 -0000 1.1.2.1 +++ context_ui/help/context_ui.help.ini 18 Mar 2010 07:31:39 -0000 @@ -2,5 +2,10 @@ [advanced help settings] line break = TRUE +[getting-started] +title = "Getting started" +weight = -45 + [type] -title = "Types" +title = "Context types" + Index: context_ui/help/getting-started.html =================================================================== RCS file: context_ui/help/getting-started.html diff -N context_ui/help/getting-started.html --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ context_ui/help/getting-started.html 18 Mar 2010 07:31:39 -0000 @@ -0,0 +1,2 @@ + +TODO: write documentation