Index: includes/theme.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/theme.inc,v retrieving revision 1.232 diff -u -F^f -r1.232 theme.inc --- includes/theme.inc 4 May 2005 18:12:17 -0000 1.232 +++ includes/theme.inc 4 May 2005 19:13:30 -0000 @@ -289,12 +289,38 @@ function theme_get_setting($setting_name } } - 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'][] = ''. $text .''; + } + 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')); + } + } } } Index: modules/system.module =================================================================== RCS file: /cvs/drupal/drupal/modules/system.module,v retrieving revision 1.207 diff -u -F^f -r1.207 system.module --- modules/system.module 4 May 2005 18:12:17 -0000 1.207 +++ modules/system.module 4 May 2005 19:13:30 -0000 @@ -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) { Index: themes/bluemarine/page.tpl.php =================================================================== RCS file: /cvs/drupal/drupal/themes/bluemarine/page.tpl.php,v retrieving revision 1.1 diff -u -F^f -r1.1 page.tpl.php --- themes/bluemarine/page.tpl.php 4 May 2005 18:12:17 -0000 1.1 +++ themes/bluemarine/page.tpl.php 4 May 2005 19:13:37 -0000 @@ -20,8 +20,8 @@ -
0) ? theme('links', $secondary_links) : l(t('edit secondary links'),'admin/themes/settings') ?>
-
0) ? theme('links', $primary_links) : l(t('edit primary links'), 'admin/themes/settings') ?>
+
+
\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 .= '