? node_page_default_2.patch
? sites/all/modules
? 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.951
diff -u -p -r1.951 node.module
--- modules/node/node.module	13 Mar 2008 21:26:08 -0000	1.951
+++ modules/node/node.module	14 Mar 2008 18:42:53 -0000
@@ -106,6 +106,9 @@ function node_theme() {
     'node_submitted' => array(
       'arguments' => array('node' => NULL),
     ),
+    'node_page_default' => array(
+      'arguments' => array('default_message' => NULL),
+    ),
   );
 }
 
@@ -1734,17 +1737,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_page_default', $default_message);
+    
+    $output = theme('node_page_default', $default_message);
   }
   drupal_set_title('');
 
@@ -1752,6 +1760,22 @@ function node_page_default() {
 }
 
 /**
+ * Format the default welcome message.
+ */
+function theme_node_page_default($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) {
