Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.435
diff -u -p -r1.435 theme.inc
--- includes/theme.inc	15 Sep 2008 20:48:07 -0000	1.435
+++ includes/theme.inc	16 Sep 2008 01:51:07 -0000
@@ -650,6 +650,11 @@ function theme() {
       }
     }
 
+    // Clean up and flatten the HTML class attribute.
+    if (isset($variables['classes'])) {
+      $variables['classes'] = implode(' ', str_replace('_', '-', $variables['classes']));
+    }
+
     // Get suggestions for alternate templates out of the variables
     // that were set. This lets us dynamically choose a template
     // from a list. The order is FILO, so this array is ordered from
@@ -1743,6 +1748,9 @@ function template_preprocess(&$variables
   // Tell all templates where they are located.
   $variables['directory'] = path_to_theme();
 
+  // Initialize html class attribute for the current hook.
+  $variables['classes'] = array($hook);
+
   // Set default variables that depend on the database.
   $variables['is_admin']            = FALSE;
   $variables['is_front']            = FALSE;
@@ -1858,32 +1866,29 @@ function template_preprocess_page(&$vari
 
   // Compile a list of classes that are going to be applied to the body element.
   // This allows advanced theming based on context (home page, node of certain type, etc.).
-  $body_classes = array();
   // Add a class that tells us whether we're on the front page or not.
-  $body_classes[] = $variables['is_front'] ? 'front' : 'not-front';
+  $variables['classes'][] = $variables['is_front'] ? 'front' : 'not-front';
   // Add a class that tells us whether the page is viewed by an authenticated user or not.
-  $body_classes[] = $variables['logged_in'] ? 'logged-in' : 'not-logged-in';
+  $variables['classes'][] = $variables['logged_in'] ? 'logged-in' : 'not-logged-in';
   // Add arg(0) to make it possible to theme the page depending on the current page
   // type (e.g. node, admin, user, etc.). To avoid illegal characters in the class,
   // we're removing everything disallowed. We are not using 'a-z' as that might leave
   // in certain international characters (e.g. German umlauts).
-  $body_classes[] = preg_replace('![^abcdefghijklmnopqrstuvwxyz0-9-_]+!s', '', 'page-' . form_clean_id(drupal_strtolower(arg(0))));
+  $variables['classes'][] = preg_replace('![^abcdefghijklmnopqrstuvwxyz0-9-_]+!s', '', 'page-' . form_clean_id(drupal_strtolower(arg(0))));
   // If on an individual node page, add the node type.
   if (isset($variables['node']) && $variables['node']->type) {
-    $body_classes[] = 'node-type-' . form_clean_id($variables['node']->type);
+    $variables['classes'][] = 'node-type-' . form_clean_id($variables['node']->type);
   }
   // Add information about the number of sidebars.
   if ($variables['layout'] == 'both') {
-    $body_classes[] = 'two-sidebars';
+    $variables['classes'][] = 'two-sidebars';
   }
   elseif ($variables['layout'] == 'none') {
-    $body_classes[] = 'no-sidebars';
+    $variables['classes'][] = 'no-sidebars';
   }
   else {
-    $body_classes[] = 'one-sidebar sidebar-' . $variables['layout'];
+    $variables['classes'][] = 'one-sidebar sidebar-' . $variables['layout'];
   }
-  // Implode with spaces.
-  $variables['body_classes'] = implode(' ', $body_classes);
 
   // Build a list of suggested template files in order of specificity. One
   // suggestion is made for every element of the current path, though
@@ -1955,6 +1960,23 @@ function template_preprocess_node(&$vari
 
   // Flatten the node object's member fields.
   $variables = array_merge((array)$node, $variables);
+  
+  // Gather node classes.
+  if ($variables['promote']) {
+    $variables['classes'][] = 'node-promoted';
+  }
+  if ($variables['sticky']) {
+    $variables['classes'][] = 'node-sticky';
+  }
+  if (!$variables['status']) {
+    $variables['classes'][] = 'node-unpublished';
+  }
+  if ($variables['teaser']) {
+    $variables['classes'][] = 'node-teaser';
+  }
+  if (isset($variables['preview'])) {
+    $variables['classes'][] = 'node-preview';
+  }
 
   // Display info only on certain node types.
   if (theme_get_setting('toggle_node_info_' . $node->type)) {
@@ -1997,6 +2019,8 @@ function template_preprocess_block(&$var
   $variables['block_zebra'] = ($block_counter[$variables['block']->region] % 2) ? 'odd' : 'even';
   $variables['block_id'] = $block_counter[$variables['block']->region]++;
 
+  $variables['classes'][] = 'block-' . $variables['block']->module;
+
   $variables['template_files'][] = 'block-' . $variables['block']->region;
   $variables['template_files'][] = 'block-' . $variables['block']->module;
   $variables['template_files'][] = 'block-' . $variables['block']->module . '-' . $variables['block']->delta;
Index: includes/theme.maintenance.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.maintenance.inc,v
retrieving revision 1.16
diff -u -p -r1.16 theme.maintenance.inc
--- includes/theme.maintenance.inc	21 Aug 2008 19:36:36 -0000	1.16
+++ includes/theme.maintenance.inc	16 Sep 2008 01:51:07 -0000
@@ -265,21 +265,19 @@ function template_preprocess_maintenance
   $variables['closure']           = '';
 
   // Compile a list of classes that are going to be applied to the body element.
-  $body_classes = array();
-  $body_classes[] = 'in-maintenance';
+  $variables['classes'][] = 'in-maintenance';
   if (isset($variables['db_is_active']) && !$variables['db_is_active']) {
-    $body_classes[] = 'db-offline';
+    $variables['classes'][] = 'db-offline';
   }
   if ($variables['layout'] == 'both') {
-    $body_classes[] = 'two-sidebars';
+    $variables['classes'][] = 'two-sidebars';
   }
   elseif ($variables['layout'] == 'none') {
-    $body_classes[] = 'no-sidebars';
+    $variables['classes'][] = 'no-sidebars';
   }
   else {
-    $body_classes[] = 'one-sidebar sidebar-' . $variables['layout'];
+    $variables['classes'][] = 'one-sidebar sidebar-' . $variables['layout'];
   }
-  $variables['body_classes'] = implode(' ', $body_classes);
 
   // Dead databases will show error messages so supplying this template will
   // allow themers to override the page and the content completely.
Index: modules/comment/comment-folded.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment-folded.tpl.php,v
retrieving revision 1.4
diff -u -p -r1.4 comment-folded.tpl.php
--- modules/comment/comment-folded.tpl.php	14 May 2008 13:12:40 -0000	1.4
+++ modules/comment/comment-folded.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -11,11 +11,19 @@
  * - $author: Comment author. Can be link or plain text.
  * - $date: Date and time of posting.
  * - $comment: Full comment object.
+ * - $classes: String of classes that can be used to style contextually through
+ *   CSS. It has one or more of the following values:
+ *   - comment-folded: The current theming hook.
+ *   - comment-unpublished: Unpublished comments visible to administrators.
+ *   - comment-by-anonymous: Comment by unregistered users. 
+ *   - comment-by-node-author: Comment by the author of the parent node.
+ *   - comment-by-viewer: Comment by the user currently viewing the page.
+ *   - comment-new: New comment since last vist. Must be a registered user.
  *
  * @see template_preprocess_comment_folded()
  * @see theme_comment_folded()
  */
 ?>
-<div class="comment-folded">
+<div class="<?php print $classes; ?>">
   <span class="subject"><?php print $title . ' ' . $new; ?></span><span class="credit"><?php print t('by') . ' ' . $author; ?></span>
 </div>
Index: modules/comment/comment-wrapper.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment-wrapper.tpl.php,v
retrieving revision 1.4
diff -u -p -r1.4 comment-wrapper.tpl.php
--- modules/comment/comment-wrapper.tpl.php	14 May 2008 13:12:40 -0000	1.4
+++ modules/comment/comment-wrapper.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -8,6 +8,7 @@
  * Available variables:
  * - $content: All comments for a given page. Also contains comment form
  *   if enabled.
+ * - $classes: Contains a class for the current theming hook.
  *
  * The following variables are provided for contextual information.
  * - $node: Node object the comments are attached to.
@@ -18,14 +19,11 @@
  *   - COMMENT_MODE_FLAT_EXPANDED
  *   - COMMENT_MODE_THREADED_COLLAPSED
  *   - COMMENT_MODE_THREADED_EXPANDED
- * - $display_order
- *   - COMMENT_ORDER_NEWEST_FIRST
- *   - COMMENT_ORDER_OLDEST_FIRST
  *
  * @see template_preprocess_comment_wrapper()
  * @see theme_comment_wrapper()
  */
 ?>
-<div id="comments">
+<div id="comments" class="<?php print $classes; ?>">
   <?php print $content; ?>
 </div>
Index: modules/comment/comment.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.module,v
retrieving revision 1.648
diff -u -p -r1.648 comment.module
--- modules/comment/comment.module	6 Sep 2008 08:36:19 -0000	1.648
+++ modules/comment/comment.module	16 Sep 2008 01:51:07 -0000
@@ -133,7 +133,7 @@ function comment_theme() {
     ),
     'comment_folded' => array(
       'template' => 'comment-folded',
-      'arguments' => array('comment' => NULL),
+      'arguments' => array('comment' => NULL, 'node' => NULL),
     ),
     'comment_flat_collapsed' => array(
       'arguments' => array('comment' => NULL, 'node' => NULL),
@@ -1581,7 +1581,7 @@ function theme_comment_view($comment, $n
     $output .= theme('comment', $comment, $node, $links);
   }
   else {
-    $output .= theme('comment_folded', $comment);
+    $output .= theme('comment_folded', $comment, $node);
   }
 
   return $output;
@@ -1613,6 +1613,25 @@ function template_preprocess_comment(&$v
   else {
     $variables['status']  = ($comment->status == COMMENT_NOT_PUBLISHED) ? 'comment-unpublished' : 'comment-published';
   }
+  // Gather comment classes.
+  if ($comment->uid === 0) {
+    $variables['classes'][] = 'comment-by-anonymous';
+  }
+  else {
+    // Published class is not needed. It is either 'comment-preview' or 'comment-unpublished'.
+    if ($variables['status'] != 'comment-published') {
+      $variables['classes'][] = $variables['status'];
+    }
+    if ($comment->uid === $variables['node']->uid) {
+      $variables['classes'][] = 'comment-by-node-author';
+    }
+    if ($comment->uid === $variables['user']->uid) {
+      $variables['classes'][] = 'comment-by-viewer';
+    }
+    if ($comment->new) {
+      $variables['classes'][] = 'comment-new';
+    }
+  }
 }
 
 /**
@@ -1627,6 +1646,25 @@ function template_preprocess_comment_fol
   $variables['date']   = format_date($comment->timestamp);
   $variables['new']    = $comment->new ? t('new') : '';
   $variables['title']  = l($comment->subject, comment_node_url() . '/' . $comment->cid, array('fragment' => "comment-$comment->cid"));
+  // Gather comment classes.
+  if ($comment->uid === 0) {
+    $variables['classes'][] = 'comment-by-anonymous';
+  }
+  else {
+    if ($comment->status == COMMENT_NOT_PUBLISHED) {
+      $variables['classes'][] = 'comment-unpublished';
+    }
+    if ($comment->uid === $variables['node']->uid) {
+      $variables['classes'][] = 'comment-by-node-author';
+    }
+    if ($comment->uid === $variables['user']->uid) {
+      $variables['classes'][] = 'comment-by-viewer';
+    }
+    if ($comment->new) {
+      $variables['classes'][] = 'comment-new';
+    }
+  }
+  
 }
 
 /**
Index: modules/comment/comment.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.tpl.php,v
retrieving revision 1.7
diff -u -p -r1.7 comment.tpl.php
--- modules/comment/comment.tpl.php	14 May 2008 13:12:41 -0000	1.7
+++ modules/comment/comment.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -17,6 +17,15 @@
  *   comment-unpublished, comment-published or comment-preview.
  * - $submitted: By line with date and time.
  * - $title: Linked title.
+ * - $classes: String of classes that can be used to style contextually through
+ *   CSS. It has one or more of the following values:
+ *   - comment: The current theming hook.
+ *   - comment-preview: When previewing a new or edited comment.
+ *   - comment-unpublished: Unpublished comments visible to administrators.
+ *   - comment-by-anonymous: Comment by unregistered users. 
+ *   - comment-by-node-author: Comment by the author of the parent node.
+ *   - comment-by-viewer: Comment by the user currently viewing the page.
+ *   - comment-new: New comment since last vist. Must be a registered user.
  *
  * These two variables are provided for context.
  * - $comment: Full comment object.
@@ -26,7 +35,7 @@
  * @see theme_comment()
  */
 ?>
-<div class="comment<?php print ($comment->new) ? ' comment-new' : ''; print ' ' . $status ?> clear-block">
+<div class="<?php print $classes; ?> clear-block">
   <?php print $picture ?>
 
   <?php if ($comment->new): ?>
Index: modules/node/node.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.tpl.php,v
retrieving revision 1.4
diff -u -p -r1.4 node.tpl.php
--- modules/node/node.tpl.php	25 Jan 2008 21:21:44 -0000	1.4
+++ modules/node/node.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -20,6 +20,14 @@
  * - $terms: the themed list of taxonomy term links output from theme_links().
  * - $submitted: themed submission information output from
  *   theme_node_submitted().
+ * - $classes: String of classes that can be used to style contextually through
+ *   CSS. It has one or more of the following values:
+ *   - node: The current theming hook.
+ *   - node-promoted: Nodes promoted to the front page.
+ *   - node-sticky: Sticky nodes. They are ordered above other nodes.
+ *   - node-unpublished: Unpublished nodes visible to administrators.
+ *   - node-teaser: Nodes in teaser form.
+ *   - node-preview: When previewing new or edited nodes.
  *
  * Other variables:
  * - $node: Full node object. Contains data that may not be safe.
@@ -48,7 +56,7 @@
  * @see template_preprocess_node()
  */
 ?>
-<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?> clear-block">
+<div id="node-<?php print $node->nid; ?>" class="<?php print $classes ?> clear-block">
 
 <?php print $picture ?>
 
Index: modules/system/block.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/block.tpl.php,v
retrieving revision 1.6
diff -u -p -r1.6 block.tpl.php
--- modules/system/block.tpl.php	14 Apr 2008 17:48:41 -0000	1.6
+++ modules/system/block.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -12,6 +12,12 @@
  * - $block->module: Module that generated the block.
  * - $block->delta: An ID for the block, unique within each module.
  * - $block->region: The block region embedding the current block.
+ * - $classes: String of classes that can be used to style contextually through
+ *   CSS. It has one or more of the following values:
+ *   - block: The current theming hook.
+ *   - block-[module]: The module generating the block. For example, the user module
+ *     is responsible for handling the default user navigation block. In that case
+ *     the class would be "block-user".
  *
  * Helper variables:
  * - $block_zebra: Outputs 'odd' and 'even' dependent on each block region.
@@ -26,7 +32,7 @@
  * @see template_preprocess_block()
  */
 ?>
-<div id="block-<?php print $block->module . '-' . $block->delta; ?>" class="block block-<?php print $block->module ?>">
+<div id="block-<?php print $block->module . '-' . $block->delta; ?>" class="<?php print $classes; ?>">
 <?php if ($block->subject): ?>
   <h2><?php print $block->subject ?></h2>
 <?php endif;?>
Index: modules/system/maintenance-page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/maintenance-page.tpl.php,v
retrieving revision 1.3
diff -u -p -r1.3 maintenance-page.tpl.php
--- modules/system/maintenance-page.tpl.php	1 Jul 2008 20:36:40 -0000	1.3
+++ modules/system/maintenance-page.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -25,7 +25,7 @@
   <?php print $scripts; ?>
   <script type="text/javascript"><?php /* Needed to avoid Flash of Unstyled Content in IE */ ?> </script>
 </head>
-<body class="<?php print $body_classes; ?>">
+<body class="<?php print $classes; ?>">
   <div id="page">
     <div id="header">
       <div id="logo-title">
Index: modules/system/page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/page.tpl.php,v
retrieving revision 1.12
diff -u -p -r1.12 page.tpl.php
--- modules/system/page.tpl.php	25 Jun 2008 09:12:25 -0000	1.12
+++ modules/system/page.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -28,9 +28,21 @@
  * - $styles: Style tags necessary to import all CSS files for the page.
  * - $scripts: Script tags necessary to load the JavaScript files and settings
  *   for the page.
- * - $body_classes: A set of CSS classes for the BODY tag. This contains flags
- *   indicating the current layout (multiple columns, single column), the current
- *   path, whether the user is logged in, and so on.
+ * - $classes: String of classes that can be used to style contextually through
+ *   CSS. It should be placed in a BODY tag. It has one or more of the following values:
+ *   - page: The current theming hook.
+ *   - front: When viewing the front page.
+ *   - not-front: When not viewing the front page.
+ *   - logged-in: When a registered users view the site.
+ *   - not-logged-in: When anonymous users view the site.
+ *   - page-[level 1 path]: The internal first level path. For example, viewing
+ *     example.com/user/2 would result in "page-user". Path aliases do not apply.
+ *   - node-type-[node type]: When viewing a single node, the type of that node.
+ *   The following only apply with the default 'left' and 'right' block regions.
+ *     - two-sidebars: When both sidebars have content.
+ *     - no-sidebars: When no sidebar content exists.
+ *     - one-sidebar and sidebar-left or sidebar-right: A combination of the two classes
+ *       when only one of the two sidebars have content.
  *
  * Site identity:
  * - $front_page: The URL of the front page. Use this instead of $base_path,
@@ -86,7 +98,7 @@
   <?php print $scripts; ?>
   <script type="text/javascript"><?php /* Needed to avoid Flash of Unstyled Content in IE */ ?> </script>
 </head>
-<body class="<?php print $body_classes; ?>">
+<body class="<?php print $classes; ?>">
   <div id="page">
     <div id="header">
       <div id="logo-title">
Index: themes/bluemarine/block.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/bluemarine/block.tpl.php,v
retrieving revision 1.3
diff -u -p -r1.3 block.tpl.php
--- themes/bluemarine/block.tpl.php	7 Aug 2007 08:39:36 -0000	1.3
+++ themes/bluemarine/block.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -1,7 +1,7 @@
 <?php
 // $Id: block.tpl.php,v 1.3 2007/08/07 08:39:36 goba Exp $
 ?>
-  <div class="block block-<?php print $block->module; ?>" id="block-<?php print $block->module; ?>-<?php print $block->delta; ?>">
+  <div id="block-<?php print $block->module; ?>-<?php print $block->delta; ?>" class="<?php print $classes; ?>">
     <h2 class="title"><?php print $block->subject; ?></h2>
     <div class="content"><?php print $block->content; ?></div>
  </div>
Index: themes/bluemarine/comment.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/bluemarine/comment.tpl.php,v
retrieving revision 1.8
diff -u -p -r1.8 comment.tpl.php
--- themes/bluemarine/comment.tpl.php	14 Apr 2008 17:48:44 -0000	1.8
+++ themes/bluemarine/comment.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -1,7 +1,7 @@
 <?php
 // $Id: comment.tpl.php,v 1.8 2008/04/14 17:48:44 dries Exp $
 ?>
-  <div class="comment<?php print ' ' . $status; ?>">
+  <div class="<?php print $classes; ?>">
     <?php if ($picture) {
     print $picture;
   } ?>
Index: themes/bluemarine/node.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/bluemarine/node.tpl.php,v
retrieving revision 1.7
diff -u -p -r1.7 node.tpl.php
--- themes/bluemarine/node.tpl.php	7 Aug 2007 08:39:36 -0000	1.7
+++ themes/bluemarine/node.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -1,7 +1,7 @@
 <?php
 // $Id: node.tpl.php,v 1.7 2007/08/07 08:39:36 goba Exp $
 ?>
-  <div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?>">
+  <div class="<?php print $classes ?>">
     <?php if ($picture) {
       print $picture;
     }?>
Index: themes/bluemarine/page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/bluemarine/page.tpl.php,v
retrieving revision 1.30
diff -u -p -r1.30 page.tpl.php
--- themes/bluemarine/page.tpl.php	25 Jun 2008 09:12:25 -0000	1.30
+++ themes/bluemarine/page.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -11,7 +11,7 @@
   <script type="text/javascript"><?php /* Needed to avoid Flash of Unstyle Content in IE */ ?> </script>
 </head>
 
-<body class="<?php print $body_classes; ?>">
+<body class="<?php print $classes; ?>">
   <div id="header" class="clear-block">
     <?php if ($search_box) { ?><div class="search-box"><?php print $search_box ?></div><?php }; ?>
     <?php if ($logo) { ?><a class="logo" href="<?php print $front_page ?>" title="<?php print t('Home') ?>"><img src="<?php print $logo ?>" alt="<?php print t('Home') ?>" /></a><?php } ?>
Index: themes/bluemarine/style.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/bluemarine/style.css,v
retrieving revision 1.24
diff -u -p -r1.24 style.css
--- themes/bluemarine/style.css	7 May 2008 07:05:56 -0000	1.24
+++ themes/bluemarine/style.css	16 Sep 2008 01:51:07 -0000
@@ -264,7 +264,7 @@ ul.links li.first {
 .node {
   margin: .5em 0 2em; /* LTR */
 }
-.sticky {
+.node-sticky {
   padding: .5em;
   background-color: #eee;
   border: solid 1px #ddd;
Index: themes/chameleon/chameleon.theme
===================================================================
RCS file: /cvs/drupal/drupal/themes/chameleon/chameleon.theme,v
retrieving revision 1.78
diff -u -p -r1.78 chameleon.theme
--- themes/chameleon/chameleon.theme	25 Jun 2008 09:12:25 -0000	1.78
+++ themes/chameleon/chameleon.theme	16 Sep 2008 01:51:07 -0000
@@ -114,7 +114,7 @@ function chameleon_page($content, $show_
 
 function chameleon_node($node, $teaser = 0, $page = 0) {
 
-  $output  = "<div class=\"node" . ((!$node->status) ? ' node-unpublished' : '') . (($node->sticky) ? ' sticky' : '') . "\">\n";
+  $output  = "<div class=\"node" . ((!$node->status) ? ' node-unpublished' : '') . (($node->sticky) ? ' node-sticky' : '') . "\">\n";
 
   if (!$page) {
     $output .= " <h2 class=\"title\">" . ($teaser ? l($node->title, "node/$node->nid") : check_plain($node->title)) . "</h2>\n";
Index: themes/garland/block.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/block.tpl.php,v
retrieving revision 1.4
diff -u -p -r1.4 block.tpl.php
--- themes/garland/block.tpl.php	14 Apr 2008 17:48:46 -0000	1.4
+++ themes/garland/block.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -1,7 +1,7 @@
 <?php
 // $Id: block.tpl.php,v 1.4 2008/04/14 17:48:46 dries Exp $
 ?>
-<div id="block-<?php print $block->module . '-' . $block->delta; ?>" class="clear-block block block-<?php print $block->module ?>">
+<div id="block-<?php print $block->module . '-' . $block->delta; ?>" class="<?php print $classes; ?> clear-block">
 
 <?php if (!empty($block->subject)): ?>
   <h2><?php print $block->subject ?></h2>
Index: themes/garland/comment.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/comment.tpl.php,v
retrieving revision 1.11
diff -u -p -r1.11 comment.tpl.php
--- themes/garland/comment.tpl.php	14 Apr 2008 17:48:46 -0000	1.11
+++ themes/garland/comment.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -1,7 +1,7 @@
 <?php
 // $Id: comment.tpl.php,v 1.11 2008/04/14 17:48:46 dries Exp $
 ?>
-<div class="comment<?php print ($comment->new) ? ' comment-new' : ''; print ' ' . $status; print ' ' . $zebra; ?>">
+<div class="<?php print $classes . ' ' . $zebra; ?>">
 
   <div class="clear-block">
   <?php if ($submitted): ?>
Index: themes/garland/maintenance-page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/maintenance-page.tpl.php,v
retrieving revision 1.5
diff -u -p -r1.5 maintenance-page.tpl.php
--- themes/garland/maintenance-page.tpl.php	28 Apr 2008 09:25:27 -0000	1.5
+++ themes/garland/maintenance-page.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -23,7 +23,7 @@
       <?php print garland_get_ie_styles(); ?>
     <![endif]-->
   </head>
-  <body class="<?php print $body_classes ?>">
+  <body class="<?php print $classes ?>">
 
 <!-- Layout -->
   <div id="header-region" class="clear-block"><?php print $header; ?></div>
Index: themes/garland/node.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/node.tpl.php,v
retrieving revision 1.5
diff -u -p -r1.5 node.tpl.php
--- themes/garland/node.tpl.php	11 Oct 2007 09:51:29 -0000	1.5
+++ themes/garland/node.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -1,7 +1,7 @@
 <?php
 // $Id: node.tpl.php,v 1.5 2007/10/11 09:51:29 goba Exp $
 ?>
-<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
+<div id="node-<?php print $node->nid; ?>" class="<?php print $classes ?>">
 
 <?php print $picture ?>
 
Index: themes/garland/page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/page.tpl.php,v
retrieving revision 1.21
diff -u -p -r1.21 page.tpl.php
--- themes/garland/page.tpl.php	14 Sep 2008 02:03:35 -0000	1.21
+++ themes/garland/page.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -12,7 +12,7 @@
       <?php print $ie_styles ?>
     <![endif]-->
   </head>
-  <body class="<?php print $body_classes ?>">
+  <body class="<?php print $classes ?>">
 
   <div id="header-region" class="clear-block"><?php print $header ?></div>
 
Index: themes/garland/style.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/style.css,v
retrieving revision 1.46
diff -u -p -r1.46 style.css
--- themes/garland/style.css	25 Jun 2008 09:12:25 -0000	1.46
+++ themes/garland/style.css	16 Sep 2008 01:51:07 -0000
@@ -705,14 +705,14 @@ ul.links li, ul.inline li {
   float: right; /* LTR */
 }
 
-.preview .node, .preview .comment, .sticky {
+.preview .node, .preview .comment, .node-sticky {
   margin: 0;
   padding: 0.5em 0;
   border: 0;
   background: 0;
 }
 
-.sticky {
+.node-sticky {
   padding: 1em;
   background-color: #fff;
   border: 1px solid #e0e5fb;
Index: themes/pushbutton/block.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/pushbutton/block.tpl.php,v
retrieving revision 1.2
diff -u -p -r1.2 block.tpl.php
--- themes/pushbutton/block.tpl.php	7 Aug 2007 08:39:36 -0000	1.2
+++ themes/pushbutton/block.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -1,7 +1,7 @@
 <?php
 // $Id: block.tpl.php,v 1.2 2007/08/07 08:39:36 goba Exp $
 ?>
-<div class="<?php print "block block-$block->module" ?>" id="<?php print "block-$block->module-$block->delta"; ?>">
+<div id="<?php print "block-$block->module-$block->delta"; ?>" class="<?php print $classes; ?>">
   <div class="title"><h3><?php print $block->subject ?></h3></div>
   <div class="content"><?php print $block->content ?></div>
 </div>
\ No newline at end of file
Index: themes/pushbutton/comment.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/pushbutton/comment.tpl.php,v
retrieving revision 1.7
diff -u -p -r1.7 comment.tpl.php
--- themes/pushbutton/comment.tpl.php	14 Apr 2008 17:48:46 -0000	1.7
+++ themes/pushbutton/comment.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -1,7 +1,7 @@
 <?php
 // $Id: comment.tpl.php,v 1.7 2008/04/14 17:48:46 dries Exp $
 ?>
-<div class="comment<?php print ' ' . $status; ?>">
+<div class="<?php print $classes; ?>">
   <?php if ($picture) : ?>
     <?php print $picture ?>
   <?php endif; ?>
Index: themes/pushbutton/node.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/pushbutton/node.tpl.php,v
retrieving revision 1.4
diff -u -p -r1.4 node.tpl.php
--- themes/pushbutton/node.tpl.php	7 Aug 2007 08:39:36 -0000	1.4
+++ themes/pushbutton/node.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -1,7 +1,7 @@
 <?php
 // $Id: node.tpl.php,v 1.4 2007/08/07 08:39:36 goba Exp $
 ?>
-<div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?>">
+<div class="<?php print $classes ?>">
   <?php print $picture ?>
   <?php if ($page == 0): ?>
     <h1 class="title"><a href="<?php print $node_url ?>"><?php print $title ?></a></h1>
Index: themes/pushbutton/page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/pushbutton/page.tpl.php,v
retrieving revision 1.26
diff -u -p -r1.26 page.tpl.php
--- themes/pushbutton/page.tpl.php	25 Jun 2008 09:12:25 -0000	1.26
+++ themes/pushbutton/page.tpl.php	16 Sep 2008 01:51:07 -0000
@@ -10,7 +10,7 @@
   <?php print $scripts ?>
 </head>
 
-<body bgcolor="#ffffff">
+<body bgcolor="#ffffff" class="<?php print $classes; ?>">
 
 <div class="hide"><a href="#content" title="<?php print t('Skip navigation') ?>." accesskey="2"><?php print t('Skip navigation') ?></a>.</div>
 
