Index: node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.788
diff -u -p -r1.788 node.module
--- node.module	7 Mar 2007 13:09:32 -0000	1.788
+++ node.module	11 Mar 2007 01:54:29 -0000
@@ -2345,20 +2345,50 @@ function node_page_default() {
     // Check for existence of admin account.
     $admin = db_result(db_query('SELECT uid FROM {users} WHERE uid = 1'));
 
-    $default_message = t('<h1 class="title">Welcome to your new Drupal website!</h1><p>Please follow these steps to set up and start using your website:</p>');
-    $default_message .= '<ol>';
-
-    if (!$admin) {
-      $default_message .= '<li>'. t('<strong>Create your administrator account</strong> To begin, <a href="@register">create the first account</a>. This account will have full administration rights and will allow you to configure your website.', array('@register' => url('user/register'))) .'</li>';
-    }
-    $default_message .= '<li>'. t('<strong>Configure your website</strong> Once logged in, visit the <a href="@admin">administration section</a>, where you can <a href="@config">customize and configure</a> all aspects of your website.', array('@admin' => url('admin'), '@config' => url('admin/settings'))) .'</li>';
-    $default_message .= '<li>'. t('<strong>Enable additional functionality</strong> Next, visit the <a href="@modules">module list</a> and enable features which suit your specific needs. You can find additional modules in the <a href="@download_modules">Drupal modules download section</a>.', array('@modules' => url('admin/build/modules'), '@download_modules' => 'http://drupal.org/project/modules')) .'</li>';
-    $default_message .= '<li>'. t('<strong>Customize your website design</strong> To change the "look and feel" of your website, visit the <a href="@themes">themes section</a>. You may choose from one of the included themes or download additional themes from the <a href="@download_themes">Drupal themes download section</a>.', array('@themes' => url('admin/build/themes'), '@download_themes' => 'http://drupal.org/project/themes')) .'</li>';
-    $default_message .= '<li>'. t('<strong>Start posting content</strong> Finally, you can <a href="@content">create content</a> for your website. This message will disappear once you have promoted a post to the front page.', array('@content' => url('node/add'))) .'</li>';
-    $default_message .= '</ol>';
-    $default_message .= '<p>'. t('For more information, please refer to the <a href="@help">help section</a>, or the <a href="@handbook">online Drupal handbooks</a>. You may also post at the <a href="@forum">Drupal forum</a>, or view the wide range of <a href="@support">other support options</a> available.', array('@help' => url('admin/help'), '@handbook' => 'http://drupal.org/handbooks', '@forum' => 'http://drupal.org/forum', '@support' => 'http://drupal.org/support')) .'</p>';
+    $default_message = array();
+    $default_message['title'] = array(
+      '#value' => t('Welcome to your new Drupal website!'),
+    );
+    $default_message['sub_title'] = array(
+      '#value' => t('Please follow these steps to set up and start using your website:'),
+    );
+    if(!$admin) {
+      $default_message['list']['create']['title'] = array(
+        '#value' => t('Create your administrator account'),
+      );
+      $default_message['list']['create']['body'] = array(
+        '#value' => t('To begin, <a href="@register">create the first account</a>. This account will have full administration rights and will allow you to configure your website.', array('@register' => url('user/register')))
+      );
+    };
+    $default_message['list']['configure']['title'] = array(
+      '#value' => t('Configure your website'),
+    );
+    $default_message['list']['configure']['body'] = array(
+      '#value' => t('Once logged in, visit the <a href="@admin">administration section</a>, where you can <a href="@config">customize and configure</a> all aspects of your website.', array('@admin' => url('admin'), '@config' => url('admin/settings')))
+    );
+    $default_message['list']['enable']['title'] = array(
+      '#value' => t('Enable additional functionality'),
+    );
+    $default_message['list']['enable']['body'] = array(
+      '#value' => t('Next, visit the <a href="@modules">module list</a> and enable features which suit your specific needs. You can find additional modules in the <a href="@download_modules">Drupal modules download section</a>.', array('@modules' => url('admin/build/modules'), '@download_modules' => 'http://drupal.org/project/modules'))
+    );
+    $default_message['list']['customize']['title'] = array(
+      '#value' => t('Customize your website design'),
+    );
+    $default_message['list']['customize']['body'] = array(
+      '#value' => t('To change the "look and feel" of your website, visit the <a href="@themes">themes section</a>. You may choose from one of the included themes or download additional themes from the <a href="@download_themes">Drupal themes download section</a>.', array('@themes' => url('admin/build/themes'), '@download_themes' => 'http://drupal.org/project/themes'))
+    );
+    $default_message['list']['content']['title'] = array(
+      '#value' => t('Start posting content'),
+    );
+    $default_message['list']['content']['body'] = array(
+      '#value' => t('Finally, you can <a href="@content">create content</a> for your website. This message will disappear once you have promoted a post to the front page.', array('@content' => url('node/add')))
+    );
+    $default_message['footer'] = array(
+      '#value' => t('For more information, please refer to the <a href="@help">help section</a>, or the <a href="@handbook">online Drupal handbooks</a>. You may also post at the <a href="@forum">Drupal forum</a>, or view the wide range of <a href="@support">other support options</a> available.', array('@help' => url('admin/help'), '@handbook' => 'http://drupal.org/handbooks', '@forum' => 'http://drupal.org/forum', '@support' => 'http://drupal.org/support')),
+      );
 
-    $output = '<div id="first-time">'. $default_message .'</div>';
+    $output = theme('default_message', $default_message);
   }
   drupal_set_title('');
 
@@ -2366,6 +2396,22 @@ function node_page_default() {
 }
 
 /**
+ * Format a listing of links to nodes.
+ */
+function theme_default_message($default_message) {
+  $output = '<h1>'. drupal_render($default_message['title']) .'</h1>';
+  $output .= '<p>'. drupal_render($default_message['sub_title']) .'</p>';
+  $output .= '<ol>';
+  foreach ($default_message['list'] as $list_item) {
+    $output .= '<li><strong>'. drupal_render($list_item['title']) .'</strong>'. drupal_render($list_item['body']) .'</li>';
+  }
+  $output .= '</li';
+  $output .= '<p>'. drupal_render($default_message['footer']) .'</p>';
+  $output = '<div id="first-time">'. $output .'</div>';
+  return $output;
+}
+
+/**
  * Menu callback; view a single node.
  */
 function node_page_view($node, $cid = NULL) {
