Index: themes/garland/template.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/template.php,v
retrieving revision 1.10
diff -u -F^f -r1.10 template.php
--- themes/garland/template.php	27 Apr 2007 07:42:54 -0000	1.10
+++ themes/garland/template.php	1 Jul 2007 23:04:21 -0000
@@ -83,3 +83,19 @@ function phptemplate_menu_local_tasks() 
 
   return $output;
 }
+
+function phptemplate_comment_submitted($comment) {
+  return t('!datetime — !username',
+    array(
+      '!username' => theme('username', $comment),
+      '!datetime' => format_date($comment->timestamp)
+    ));
+}
+
+function phptemplate_node_submitted($node) {
+  return t('!datetime — !username',
+    array(
+      '!username' => theme('username', $node),
+      '!datetime' => format_date($node->created),
+    ));
+}
Index: themes/garland/node.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/node.tpl.php,v
retrieving revision 1.1
diff -u -F^f -r1.1 node.tpl.php
--- themes/garland/node.tpl.php	29 Oct 2006 13:17:38 -0000	1.1
+++ themes/garland/node.tpl.php	1 Jul 2007 23:04:21 -0000
@@ -9,7 +9,7 @@
 <?php endif; ?>
 
   <?php if ($submitted): ?>
-    <span class="submitted"><?php print t('!date — !username', array('!username' => theme('username', $node), '!date' => format_date($node->created))); ?></span>
+    <span class="submitted"><?php print $submitted; ?></span>
   <?php endif; ?>
 
   <div class="content">
@@ -28,4 +28,4 @@
     <?php endif; ?>
   </div>
 
-</div>
\ No newline at end of file
+</div>
Index: themes/garland/comment.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/comment.tpl.php,v
retrieving revision 1.6
diff -u -F^f -r1.6 comment.tpl.php
--- themes/garland/comment.tpl.php	1 Apr 2007 05:04:20 -0000	1.6
+++ themes/garland/comment.tpl.php	1 Jul 2007 23:04:21 -0000
@@ -2,7 +2,7 @@
 
   <div class="clear-block">
   <?php if ($submitted): ?>
-    <span class="submitted"><?php print t('!date — !username', array('!username' => theme('username', $comment), '!date' => format_date($comment->timestamp))); ?></span>
+    <span class="submitted"><?php print $submitted; ?></span>
   <?php endif; ?>
 
   <?php if ($comment->new) : ?>
Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.359
diff -u -F^f -r1.359 theme.inc
--- includes/theme.inc	28 Jun 2007 09:11:06 -0000	1.359
+++ includes/theme.inc	1 Jul 2007 23:04:22 -0000
@@ -1609,7 +1609,7 @@ function template_preprocess_node(&$vari
 
   // Display info only on certain node types.
   if (theme_get_setting('toggle_node_info_' . $node->type)) {
-    $variables['submitted'] = t('Submitted by !a on @b.', array('!a' => theme('username', $node), '@b' => format_date($node->created)));
+    $variables['submitted'] = theme('node_submitted', $node);
     $variables['picture'] = theme_get_setting('toggle_node_user_picture') ? theme('user_picture', $node) : '';
   }
   else {
@@ -1637,3 +1637,4 @@ function template_preprocess_block(&$var
   $variables['template_files'][] = 'block-' . $variables['block']->module;
   $variables['template_files'][] = 'block-' . $variables['block']->module .'-'. $variables['block']->delta;
 }
+
Index: modules/comment/comment.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.module,v
retrieving revision 1.559
diff -u -F^f -r1.559 comment.module
--- modules/comment/comment.module	1 Jul 2007 17:41:14 -0000	1.559
+++ modules/comment/comment.module	1 Jul 2007 23:04:24 -0000
@@ -184,6 +184,9 @@ function comment_theme() {
     'comment_wrapper' => array(
       'arguments' => array('content' => NULL),
     ),
+    'comment_submitted' => array(
+      'arguments' => array('comment' => NULL),
+    ),
   );
 }
 
@@ -1853,9 +1856,7 @@ function template_preprocess_comment(&$v
   $variables['new']       = $comment->new ? t('new') : '';
   $variables['picture']   = theme_get_setting('toggle_comment_user_picture') ? theme('user_picture', $comment) : '';
   $variables['signature'] = $comment->signature;
-  $variables['submitted'] = t('Submitted by !a on @b.',
-                      array('!a' => theme('username', $comment),
-                            '@b' => format_date($comment->timestamp)));
+  $variables['submitted'] = theme('comment_submitted', $comment);
   $variables['title']     = l($comment->subject, $_GET['q'], array('fragment' => "comment-$comment->cid"));
   $variables['template_files'][] = 'comment-'. $node->type;
 }
@@ -1917,6 +1918,17 @@ function theme_comment_wrapper($content)
   return '<div id="comments">'. $content .'</div>';
 }
 
+/**
+ * Make the submitted variable themable
+ */
+function theme_comment_submitted($comment) {
+  return t('Submitted by !username on @datetime.',
+    array(
+      '!username' => theme('username', $comment),
+      '@datetime' => format_date($comment->timestamp)
+    ));
+}
+
 function _comment_delete_thread($comment) {
   if (!is_object($comment) || !is_numeric($comment->cid)) {
     watchdog('content', 'Can not delete non-existent comment.', WATCHDOG_WARNING);
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.847
diff -u -F^f -r1.847 node.module
--- modules/node/node.module	1 Jul 2007 21:52:43 -0000	1.847
+++ modules/node/node.module	1 Jul 2007 23:04:25 -0000
@@ -84,6 +84,9 @@ function node_theme() {
     'node_log_message' => array(
       'arguments' => array('log' => NULL),
     ),
+    'node_submitted' => array(
+      'arguments' => array('node' => NULL),
+    ),
   );
 }
 
@@ -3205,6 +3208,17 @@ function node_forms() {
 }
 
 /**
+ * Format the "Submitted by username on date/time" for each node
+ */
+function theme_node_submitted($node) {
+  return t('Submitted by !username on @datetime',
+    array(
+      '!username' => theme('username', $node),
+      '@datetime' => format_date($node->created),
+    ));
+}
+
+/**
  * Implementation of hook_hook_info().
  */
 function node_hook_info() {
@@ -3477,4 +3491,4 @@ function node_unpublish_by_keyword_actio
       break;
     }
   }
-}
\ No newline at end of file
+}
