? node_welcome_page-126221-16.patch
? sites/default/files
? sites/default/settings.php
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.959
diff -u -p -r1.959 node.module
--- modules/node/node.module	23 Apr 2008 20:01:52 -0000	1.959
+++ modules/node/node.module	29 Apr 2008 18:10:16 -0000
@@ -106,6 +106,9 @@ function node_theme() {
     'node_submitted' => array(
       'arguments' => array('node' => NULL),
     ),
+    'node_page_default' => array(
+      'arguments' => array('default_message' => NULL),
+    ),
   );
 }
 
@@ -1749,17 +1752,22 @@ function node_page_default() {
     $output .= theme('pager', NULL, variable_get('default_nodes_main', 10));
   }
   else {
-    $default_message = '<h1 class="title">' . t('Welcome to your new Drupal website!') . '</h1>';
-    $default_message .= '<p>' . t('Please follow these steps to set up and start using your website:') . '</p>';
-    $default_message .= '<ol>';
-    $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>';
-
-    $output = '<div id="first-time">' . $default_message . '</div>';
+    $default_message = array();
+    $default_message['title'] = array('#value' => t('Welcome to your new Drupal website!'));
+    $default_message['subtitle'] = array('#value' => t('Please follow these steps to set up and start using your website:'));
+    $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']['start']['title'] = array('#value' => t('Start posting content'));
+    $default_message['list']['start']['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')));
+    
+    drupal_alter('node_welcome_page', $default_message);
+    
+    $output = theme('node_welcome_page', $default_message);
   }
   drupal_set_title('');
 
@@ -1767,6 +1775,22 @@ function node_page_default() {
 }
 
 /**
+ * Format the default welcome message.
+ */
+function theme_node_welcome_page($default_message) {
+  $output = '<h1>'. drupal_render($default_message['title']) .'</h1>';
+  $output .= '<p>'. drupal_render($default_message['subtitle']) .'</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 .= '</ol>';
+  $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) {
