diff options
author | Dries Buytaert <dries@buytaert.net> | 2005-05-05 07:35:58 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2005-05-05 07:35:58 +0000 |
commit | 6658273b36ffc64a6c2ba66bf08cda9f3923252d (patch) | |
tree | a8f0f2d17b4d33f95c3cf9b7124c3f0bf03b8ec7 | |
parent | 381980cb03fad0e5b929c7fba531692d116aa915 (diff) | |
download | brdo-6658273b36ffc64a6c2ba66bf08cda9f3923252d.tar.gz brdo-6658273b36ffc64a6c2ba66bf08cda9f3923252d.tar.bz2 |
- Patch #21855 by TDobes: the recent commit of phptemplate caused a number of problems for non-phptemplate themes. A patch is attached to address these issues.
Changes include:
* parsing of the primary/secondary links has been moved out of phptemplate and into theme_get_setting.
* unnecessary and XHTML-invalidating duplicate div#help removed from themes/bluemarine/page.tpl.php (this is already generated by theme_help)
* weird generation of the "edit primary/secondary links" messages removed from bluemarine and placed in theme.inc
* unnecessary changes to themes/bluemarine/style.css rolled back (the phptemplate bluemarine had an older version of style.css than the one in core)
* chameleon updated to work with new link scheme (passes links through theme_links)
-rw-r--r-- | includes/theme.inc | 38 | ||||
-rw-r--r-- | modules/system.module | 8 | ||||
-rw-r--r-- | modules/system/system.module | 8 | ||||
-rw-r--r-- | themes/bluemarine/page.tpl.php | 6 | ||||
-rw-r--r-- | themes/bluemarine/style.css | 7 | ||||
-rw-r--r-- | themes/chameleon/chameleon.theme | 4 | ||||
-rw-r--r-- | themes/engines/phptemplate/phptemplate.engine | 35 |
7 files changed, 53 insertions, 53 deletions
diff --git a/includes/theme.inc b/includes/theme.inc index 0bc46252a..6b210c55e 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -289,12 +289,38 @@ function theme_get_setting($setting_name, $refresh = FALSE) { } } - if (!$settings['toggle_primary_links']) { - $settings['primary_links'] = ''; - } - - if (!$settings['toggle_secondary_links']) { - $settings['secondary_links'] = ''; + foreach (array('primary', 'secondary') as $type) { + // Get the data to populate the textfields, if the variable is not an array .. try to parse the old-style link format. + $value = $settings[$type . '_links']; + + // Clear out existing (internal) values + $settings[$type .'_links'] = array(); + + // Get the amount of links to show, possibly expanding if there are more links defined than the count specifies. + $count = variable_get($type . '_link_count', 5); + $count = ($count > sizeof($value['link'])) ? $count : sizeof($value['link']); + + if ($settings['toggle_' . $type . '_links']) { + for ($i =0; $i < $count; $i++) { + unset($attributes); + if (!empty($value['text'][$i])) { + if (!empty($value['description'][$i])) { + $attributes['title'] = $value['description'][$i]; + } + $text = $value['text'][$i]; + $link = $value['link'][$i]; + if (substr($link, 0, 7) == 'http://') { + $settings[$type .'_links'][] = '<a href="'. $link .'"'. drupal_attributes($attributes) .'>'. $text .'</a>'; + } + else { + $settings[$type .'_links'][] = l($text, $link, $attributes); + } + } + } + if ($settings[$type .'_links'] == array()) { + $settings[$type .'_links'] = array(l(t('edit %type links', array('%type' => $type)),'admin/themes/settings')); + } + } } } diff --git a/modules/system.module b/modules/system.module index ae057eed1..119c50e52 100644 --- a/modules/system.module +++ b/modules/system.module @@ -658,20 +658,20 @@ function system_theme_settings($key = '') { $group = ''; $rows = array(); - //Use $utype field , and strtolower() it to get the type field.. to avoid issues with ucfirst() and unicode. + // Use $utype field , and strtolower() it to get the type field.. to avoid issues with ucfirst() and unicode. $type = strtolower($utype); - $value = theme_get_setting($type . '_links'); + $value = $settings[$type . '_links']; if (!is_array($value)) { $value = array(); } - //Increment the link count, if the user has requested more links. + // Increment the link count, if the user has requested more links. if (variable_get($type . '_links_more', false)) { variable_del($type . '_links_more'); variable_set($type . '_link_count', variable_get($type . '_link_count', 5) + 5); } - //Get the amount of links to show, possibly expanding if there are more links defined than the count specifies. + // Get the amount of links to show, possibly expanding if there are more links defined than the count specifies. $count = variable_get($type . '_link_count', 5); $count = ($count > sizeof($value['link'])) ? $count : sizeof($value['link']); if (variable_get($type . '_link_count', 5) != $count) { diff --git a/modules/system/system.module b/modules/system/system.module index ae057eed1..119c50e52 100644 --- a/modules/system/system.module +++ b/modules/system/system.module @@ -658,20 +658,20 @@ function system_theme_settings($key = '') { $group = ''; $rows = array(); - //Use $utype field , and strtolower() it to get the type field.. to avoid issues with ucfirst() and unicode. + // Use $utype field , and strtolower() it to get the type field.. to avoid issues with ucfirst() and unicode. $type = strtolower($utype); - $value = theme_get_setting($type . '_links'); + $value = $settings[$type . '_links']; if (!is_array($value)) { $value = array(); } - //Increment the link count, if the user has requested more links. + // Increment the link count, if the user has requested more links. if (variable_get($type . '_links_more', false)) { variable_del($type . '_links_more'); variable_set($type . '_link_count', variable_get($type . '_link_count', 5) + 5); } - //Get the amount of links to show, possibly expanding if there are more links defined than the count specifies. + // Get the amount of links to show, possibly expanding if there are more links defined than the count specifies. $count = variable_get($type . '_link_count', 5); $count = ($count > sizeof($value['link'])) ? $count : sizeof($value['link']); if (variable_get($type . '_link_count', 5) != $count) { diff --git a/themes/bluemarine/page.tpl.php b/themes/bluemarine/page.tpl.php index f8fd5837a..0ca11414d 100644 --- a/themes/bluemarine/page.tpl.php +++ b/themes/bluemarine/page.tpl.php @@ -20,8 +20,8 @@ </td> <td id="menu"> - <div id="secondary"><?php print (is_array($secondary_links) && count($secondary_links) > 0) ? theme('links', $secondary_links) : l(t('edit secondary links'),'admin/themes/settings') ?></div> - <div id="primary"><?php print (is_array($primary_links) && count($primary_links) > 0) ? theme('links', $primary_links) : l(t('edit primary links'), 'admin/themes/settings') ?></div> + <div id="secondary"><?php print theme('links', $secondary_links) ?></div> + <div id="primary"><?php print theme('links', $primary_links) ?></div> <?php if ($search_box) { ?><form action="<?php print $search_url ?>" method="post"> <div id="search"> <input class="form-text" type="text" size="15" value="" name="keys" alt="<?php print $search_description ?>" /> @@ -43,7 +43,7 @@ <?php print $breadcrumb ?> <h1 class="title"><?php print $title ?></h1> <div class="tabs"><?php print $tabs ?></div> - <div id="help"><?php print $help ?></div> + <?php print $help ?> <?php print $messages ?> <?php print $content; ?> diff --git a/themes/bluemarine/style.css b/themes/bluemarine/style.css index 366f538d1..4f6e637d6 100644 --- a/themes/bluemarine/style.css +++ b/themes/bluemarine/style.css @@ -14,7 +14,7 @@ tr.dark td, tr.light td { padding: 0.3em; } h1, h2, h3, h4, h5, h6 { - margin: 0.5; + margin-bottom: 0.5em; } h1 { font-size: 1.3em; @@ -25,6 +25,10 @@ h2 { h3, h4, h5, h6 { font-size: 1.1em; } +p { + margin-top: 0.5em; + margin-bottom: 0.9em; +} a { text-decoration: none; font-weight: bold; @@ -83,6 +87,7 @@ table { #logo img { float: left; padding: 0em 1.0em 0em 1em; + border: 0; } #menu { padding: 0.5em 0.5em 0 0.5em; diff --git a/themes/chameleon/chameleon.theme b/themes/chameleon/chameleon.theme index 9f73c1fbd..563103c74 100644 --- a/themes/chameleon/chameleon.theme +++ b/themes/chameleon/chameleon.theme @@ -43,8 +43,8 @@ function chameleon_page($content) { $output .= "</div>\n"; - $primary_links = theme_get_setting('primary_links'); - $secondary_links = theme_get_setting('secondary_links'); + $primary_links = theme('links', theme_get_setting('primary_links')); + $secondary_links = theme('links', theme_get_setting('secondary_links')); if ($primary_links || $secondary_links) { $output .= ' <div class="navlinks">'; if ($primary_links) { diff --git a/themes/engines/phptemplate/phptemplate.engine b/themes/engines/phptemplate/phptemplate.engine index 699762cbe..1da7422bc 100644 --- a/themes/engines/phptemplate/phptemplate.engine +++ b/themes/engines/phptemplate/phptemplate.engine @@ -119,37 +119,6 @@ function phptemplate_page($content) { $frontpage = true; } - $links['primary'] = array(); - $links['secondary'] = array(); - - foreach (array('primary', 'secondary') as $type) { - //Get the data to populate the textfields, if the variable is not an array .. try to parse the old-style link format. - $value = theme_get_setting($type . '_links'); - - //Get the amount of links to show, possibly expanding if there are more links defined than the count specifies. - $count = variable_get($type . '_link_count', 5); - $count = ($count > sizeof($value['link'])) ? $count : sizeof($value['link']); - - if (theme_get_setting('toggle_' . $type . '_links')) { - for ($i =0; $i < $count; $i++) { - unset($attributes); - if (!empty($value['text'][$i])) { - if (!empty($value['description'][$i])) { - $attributes['title'] = $value['description'][$i]; - } - $text = $value['text'][$i]; - $link = $value['link'][$i]; - if (substr($link, 0, 4) == 'http') { - $links[$type][] = '<a href="'. $link .'"'. drupal_attributes($attributes) .'>'. $text .'</a>'; - } - else { - $links[$type][] = l($text, $link, $attributes); - } - } - } - } - } - /** * Populate sidebars. */ @@ -185,8 +154,8 @@ function phptemplate_page($content) { 'search_button_text' => t('search'), 'search_description' => t('Enter the terms you wish to search for.'), 'title' => drupal_get_title(), - 'primary_links' => $links['primary'], - 'secondary_links' => $links['secondary'], + 'primary_links' => theme_get_setting('primary_links'), + 'secondary_links' => theme_get_setting('secondary_links'), 'breadcrumb' => theme('breadcrumb', drupal_get_breadcrumb()), 'tabs' => theme('menu_local_tasks'), 'messages' => theme('status_messages'), |