Binary files blueprint-5.x-1.0/.DS_Store and blueprint/.DS_Store differ
diff -urpN blueprint-5.x-1.0/README.txt blueprint/README.txt
--- blueprint-5.x-1.0/README.txt	2008-06-04 08:50:05.000000000 -0700
+++ blueprint/README.txt	2008-06-12 22:38:50.000000000 -0700
@@ -63,7 +63,9 @@ Requirements: Drupal 5.x
   - enable site slogan (add one, good for SEO)
   - enable mission statement (used as META description for homepage in search engines)
   - enable user pictures
-- admin/content/comment/settings - configure comments, flat list, expanded, oldest first, show comment form same page
+- Configure the comments for each node type 
+    admin/content/node-type/<typename> - Flat list - expanded, Date - oldest first, Display below post or comments.
+  You will need to do this for each content type that has comments enabled.
 - (performance) remove line 76 in screen.css : .showgrid {background:url(src/grid.png);}  
   this saves an uncessary HTTP request on your server
 - (performance) apply system.css.patch to remove uncessary HTTP requests to images that Blueprint overrides already
diff -urpN blueprint-5.x-1.0/blueprint.info blueprint/blueprint.info
--- blueprint-5.x-1.0/blueprint.info	1969-12-31 16:00:00.000000000 -0800
+++ blueprint/blueprint.info	2008-08-02 21:06:37.000000000 -0700
@@ -0,0 +1,13 @@
+; $Id: $
+name = Blueprint
+description = Drupal base theme built with BlueprintCSS framework.
+version = VERSION
+core = 6.x
+engine = phptemplate
+stylesheets[screen][] = css/blueprint.css
+stylesheets[screen,projection][] = blueprint/blueprint/screen.css
+stylesheets[print][] = blueprint/blueprint/print.css
+stylesheets[screen,projection][] = css/style.css
+
+scripts[] = scripts/general.js
+
diff -urpN blueprint-5.x-1.0/comment.tpl.php blueprint/comment.tpl.php
--- blueprint-5.x-1.0/comment.tpl.php	2008-02-08 07:27:48.000000000 -0800
+++ blueprint/comment.tpl.php	2008-07-24 09:54:13.000000000 -0700
@@ -1,4 +1,4 @@
-<div class="clear-block comment<?php print ($comment->new) ? ' comment-new' : ''; print ($comment->status == COMMENT_NOT_PUBLISHED) ? ' comment-unpublished' : ''; if ($author_comment) print ' author'; print ' '. $zebra; ?>">
+<div class="clear-block comment<?php print($comment->new) ? ' comment-new' : ''; print($comment->status == COMMENT_NOT_PUBLISHED) ? ' comment-unpublished' : ''; if ($author_comment) print ' author'; print ' '. $zebra; ?>">
 
   <div class="picture span-3">
     <?php print $picture ?>
diff -urpN blueprint-5.x-1.0/forum-icon.tpl.php blueprint/forum-icon.tpl.php
--- blueprint-5.x-1.0/forum-icon.tpl.php	1969-12-31 16:00:00.000000000 -0800
+++ blueprint/forum-icon.tpl.php	2008-07-24 09:54:53.000000000 -0700
@@ -0,0 +1,25 @@
+<?php
+// $Id: forum-icon.tpl.php,v 1.3 2007/12/20 09:35:09 goba Exp $
+
+/**
+ * @file forum-icon.tpl.php
+ * Display an appropriate icon for a forum post.
+ *
+ * Available variables:
+ * - $new_posts: Indicates whether or not the topic contains new posts.
+ * - $icon: The icon to display. May be one of 'hot', 'hot-new', 'new',
+ *   'default', 'closed', or 'sticky'.
+ *
+ * @see template_preprocess_forum_icon()
+ * @see theme_forum_icon()
+ */
+?>
+<?php if ($new_posts): ?>
+  <a name="new">
+<?php endif; ?>
+
+<?php print theme('image', path_to_theme() ."/images/icons/forum-$icon.png") ?>
+
+<?php if ($new_posts): ?>
+  </a>
+<?php endif; ?>
\ No newline at end of file
diff -urpN blueprint-5.x-1.0/page.tpl.php blueprint/page.tpl.php
--- blueprint-5.x-1.0/page.tpl.php	2008-04-27 18:22:19.000000000 -0700
+++ blueprint/page.tpl.php	2008-07-24 09:51:53.000000000 -0700
@@ -1,11 +1,19 @@
 <?php // $Id: page.tpl.php,v 1.15 2008/04/28 01:22:19 m3avrck Exp $ ?>
+<?php
+/**
+  * Uncomment the following line during development to automatically 
+  * flush the theme cache when you load the page. That way it will 
+  * always look for new tpl files.
+  */
+// drupal_flush_all_caches();
+?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language ?>" lang="<?php print $language ?>">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>">
 <head>
 	<title><?php print $head_title ?><?php if ($site_slogan != '' && !$is_front) print ' &ndash; '. $site_slogan; ?></title>
-	<meta http-equiv="content-language" content="<?php print $language ?>" />
+	<meta http-equiv="content-language" content="<?php print $language->language ?>" />
 	<?php print $meta; ?>
   <?php print $head; ?>
   <?php print $styles; ?>
@@ -18,7 +26,7 @@
   <![endif]-->  
 </head>
 
-<body class="<?php print $body_class; ?>">
+<body class="<?php print $body_classes; ?>">
 
 <div class="container">
   <h1 id="logo">
diff -urpN blueprint-5.x-1.0/scripts/general.js blueprint/scripts/general.js
--- blueprint-5.x-1.0/scripts/general.js	2008-02-06 08:40:00.000000000 -0800
+++ blueprint/scripts/general.js	2008-06-16 06:03:48.000000000 -0700
@@ -33,5 +33,12 @@ Blueprint.formCheck = function() {
 
 // Global Killswitch.
 if (Drupal.jsEnabled) {
-  $(document).ready(Blueprint.formCheck);
-}
\ No newline at end of file
+  $(document).ready(function(){
+    Blueprint.formCheck;
+    //Fix for simplemenu to display block
+   $('ul#simplemenu').addClass("clearfix");
+
+  });
+}
+
+
diff -urpN blueprint-5.x-1.0/template.php blueprint/template.php
--- blueprint-5.x-1.0/template.php	2008-06-04 09:00:38.000000000 -0700
+++ blueprint/template.php	2008-07-24 10:15:54.000000000 -0700
@@ -2,167 +2,155 @@
 // $Id: template.php,v 1.15 2008/06/04 16:00:38 m3avrck Exp $
 
 /**
- * Override theme_page(). We need to do this in order to set proper page titles.
+ * Intercept page template variables
  *
- * In a nutshell we are intercepting the page call, before phptemplate renders everything.
+ * @param $vars
+ *   A sequential array of variables passed to the theme function.
  */
-function blueprint_page($content = '') {
-  $title = drupal_get_title();
-  $headers = drupal_set_header();
-
-  // wrap taxonomy listing pages in quotes and prefix with topic
-  if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
-    $title = t('Topic') .' &#8220;'. $title .'&#8221;';
-  }
-  // if this is a 403 and they aren't logged in, tell them they need to log in
-  else if (strpos($headers, 'HTTP/1.1 403 Forbidden') && !$user->uid) {
-    $title = t('Please login to continue');
-  }
-
-  drupal_set_title($title);
-
-  return phptemplate_page($content);
-}
+ 
+ function phptemplate_preprocess_page(&$vars) {
+   
+   // Fixup the $head_title and $title vars to display better.
+   $title = drupal_get_title();
+   $headers = drupal_set_header();
+
+   // wrap taxonomy listing pages in quotes and prefix with topic
+   if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
+     $title = t('Topic') .' &#8220;'. $title .'&#8221;';
+   }
+   // if this is a 403 and they aren't logged in, tell them they need to log in
+   else if (strpos($headers, 'HTTP/1.1 403 Forbidden') && !$user->uid) {
+     $title = t('Please login to continue');
+   }
+   //set title
+   $vars['title'] = $title;
+   //set head_title
+   if (drupal_is_front_page()) {
+    $vars['site_name'];
+   }
+    else {
+      $vars['head_title'] = $title .' | '. $vars['site_name'];
+    }
 
+   // determine layout
+   // 3 columns
+   if ($vars['layout'] == 'both') {
+     $vars['left'] = '<div class="col-left span-6">'. $vars['left'] .'</div>';
+     $vars['right'] = '<div class="col-right span-6 last">'. $vars['right'] .'</div>';
+     $vars['center'] = 'col-center span-12';
+     $vars['body_classes'] = 'col-3 '. $vars['body_classes'];
+   }
+   // 2 columns
+   else if ($vars['layout'] != 'none') {
+     // left column & center
+     if ($vars['layout'] == 'left') {
+       $vars['left'] = '<div class="col-left span-6">'. $vars['left'] .'</div>';
+       $vars['right'] = '';
+       $vars['center'] = 'col-center span-18 last';
+     }
+     // right column & center
+     else if ($vars['layout'] == 'right') {
+       $vars['left'] = '';
+       $vars['right'] = '<div class="col-right span-6 last">'. $vars['right'] .'</div>';
+       $vars['center'] = 'col-center span-18';
+     }
+     $vars['body_classes'] = 'col-2 '. $vars['body_classes'];
+   }
+   // 1 column
+   else {
+     $vars['left'] = '';
+     $vars['right'] = '';
+     $vars['center'] = 'col-center span-24';
+     $vars['body_classes'] = 'col-1 '. $vars['body_classes'];
+   }
+
+    // SEO optimization, add in the node's teaser, or if on the homepage, the mission statement
+    // as a description of the page that appears in search engines
+    if ($vars['is_front'] && $vars['mission'] != '') {
+      $vars['meta'] .= '<meta name="description" content="'. blueprint_trim_text($vars['mission']) .'" />'."\n";
+    }
+    else if ($vars['node']->teaser != '') {
+      $vars['meta'] .= '<meta name="description" content="'. blueprint_trim_text($vars['node']->teaser) .'" />'."\n";
+    }
+    else{
+      $vars['meta'] .= '<meta name="description" content="'. blueprint_trim_text($vars['node']->body) .'" />'."\n"; 
+    }
+    // SEO optimization, if the node has tags, use these as keywords for the page
+    if ($vars['node']->taxonomy) {
+      $keywords = array();
+      foreach ($vars['node']->taxonomy as $term) {
+        $keywords[] = $term->name;
+      }
+      $vars['meta'] .= '<meta name="keywords" content="'. implode(',', $keywords) .'" />'."\n";
+    }
+    /* I like to embed the Google search in various places, uncomment to make use of this
+    // setup search for custom placement
+    $search = module_invoke('google_cse', 'block', 'view', '0');
+    $vars['search'] = $search['content'];
+    */
+    
+    // rebuild CSS and JS after all theme modifications to these structures
+    $new_css = drupal_add_css();
+    // removed unnessecary CSS styles
+    // unset($new_css['all']['all']['sites/all/modules/contrib/tagadelic/tagadelic.css']);
+    
+    // rebuild CSS and JS
+    $vars['styles'] = drupal_get_css($new_css);
+    $vars['scripts'] = drupal_get_js();
+ }
+ 
 /**
- * Intercept template variables
+ * Intercept node template variables
  *
- * @param $hook
- *   The name of the theme function being executed
  * @param $vars
  *   A sequential array of variables passed to the theme function.
  */
-function _phptemplate_variables($hook, $vars = array()) {
-  global $user;
-  $path = base_path() . path_to_theme() .'/';
-  $path_theme = path_to_theme() .'/';
-
-  // global vars
-  $vars['path'] = $path;
-  $vars['user'] = $user;
-
-  switch ($hook) {
+function phptemplate_preprocess_node(&$vars) {
+  $node = $vars['node']; // for easy reference
+  // for easy variable adding for different node types
+  switch ($node->type) {
     case 'page':
-      // add in CSS and JS files so they get aggregated and compressed properly
-      drupal_add_css($path_theme .'blueprint/blueprint/screen.css', 'theme', 'screen, projection');
-      drupal_add_css($path_theme .'blueprint/blueprint/print.css', 'theme', 'print');
-      drupal_add_css($path_theme .'css/blueprint.css', 'theme', 'screen, projection');
-      drupal_add_css($path_theme .'css/style.css', 'theme', 'screen, projection');
-
-      // url() handles appending ?q= but in this case, we need to pass in the variable so the path is correct when mod_rewrite is off
-      // use this in jQuery scripts, most notably AJAX ones
-      drupal_add_js(array('basePath' => base_path() . (variable_get('clean_url', 0) ? '' : '?q=')), 'setting');
-      drupal_add_js($path_theme .'scripts/general.js');
-
-      // determine layout
-      // 3 columns
-      if ($vars['layout'] == 'both') {
-        $vars['left'] = '<div class="col-left span-6">'. $vars['sidebar_left'] .'</div>';
-        $vars['right'] = '<div class="col-right span-6 last">'. $vars['sidebar_right'] .'</div>';
-        $vars['center'] = 'col-center span-12';
-        $vars['body_class'] = 'col-3';
-      }
-      // 2 columns
-      else if ($vars['layout'] != 'none') {
-        // left column & center
-        if ($vars['layout'] == 'left') {
-          $vars['left'] = '<div class="col-left span-6">'. $vars['sidebar_left'] .'</div>';
-          $vars['right'] = '';
-          $vars['center'] = 'col-center span-18 last';
-        }
-        // right column & center
-        else if ($vars['layout'] == 'right') {
-          $vars['left'] = '';
-          $vars['right'] = '<div class="col-right span-6 last">'. $vars['sidebar_right'] .'</div>';
-          $vars['center'] = 'col-center span-18';
-        }
-        $vars['body_class'] = 'col-2';
-      }
-      // 1 column
-      else {
-        $vars['left'] = '';
-        $vars['right'] = '';
-        $vars['center'] = 'col-center span-24';
-        $vars['body_class'] = 'col-1';
-      }
-
-      // SEO optimization, add in the node's teaser, or if on the homepage, the mission statement
-      // as a description of the page that appears in search engines
-      if ($vars['is_front'] && $vars['mission'] != '') {
-        $vars['meta'] .= '<meta name="description" content="'. blueprint_trim_text($vars['mission']) .'" />'. "\n";
-      }
-      else if ($vars['node']->teaser != '') {
-        $vars['meta'] .= '<meta name="description" content="'. blueprint_trim_text($vars['node']->teaser) .'" />'. "\n";
-      }
-      // SEO optimization, if the node has tags, use these as keywords for the page
-      if ($vars['node']->taxonomy) {
-        $keywords = array();
-        foreach($vars['node']->taxonomy as $term) {
-          $keywords[] = $term->name;
-        }
-        $vars['meta'] .= '<meta name="keywords" content="'. implode(',', $keywords) .'" />'. "\n";
-      }
-
-
-      /* I like to embed the Google search in various places, uncomment to make use of this
-      // setup search for custom placement
-      $search = module_invoke('google_cse', 'block', 'view', '0');
-      $vars['search'] = $search['content'];
-      */
-
-      // rebuild CSS and JS after all theme modifications to these structures
-      $new_css = drupal_add_css();
-      // removed unnessecary CSS styles
-      // unset($new_css['all']['all']['sites/all/modules/contrib/tagadelic/tagadelic.css']);
-
-      // rebuild CSS and JS
-      $vars['styles'] = drupal_get_css($new_css);
-      $vars['scripts'] = drupal_get_js();
-
-      break;
-
-
-    case 'node':
-      $node = $vars['node']; // for easy reference
-      // for easy variable adding for different node types
-      switch ($node->type) {
-        case 'page':
-          break;
-      }
       break;
+    }
+}
 
-
-    case 'comment':
-      // if the author of the node comments as well, highlight that comment
-      $node = node_load($vars['comment']->nid);
-      if ($vars['comment']->uid == $node->uid) {
-        $vars['author_comment'] = TRUE;
-      }
-      // only show links for users that can administer links
-      if (!user_access('administer comments')) {
-        $vars['links'] = '';
-      }
-      // if subjects in comments are turned off, don't show the title then
-      if (!variable_get('comment_subject_field', 1)) {
-        $vars['title'] = '';
-      }
-      // if user has no picture, add in a filler
-      if ($vars['picture'] == '') {
-        $vars['picture'] = '<div class="no-picture">&nbsp;</div>';
-      }
-
-      break;
-
-
-    case 'box':
-      // rename to more common text
-      if (strpos($vars['title'], 'Post new comment') === 0) {
-        $vars['title'] = 'Add your comment';
-      }
-      break;
+/**
+ * Intercept comment template variables
+ *
+ * @param $vars
+ *   A sequential array of variables passed to the theme function.
+ */
+function phptemplate_preprocess_comment(&$vars) {
+  // if the author of the node comments as well, highlight that comment
+  $node = node_load($vars['comment']->nid);
+  if ($vars['comment']->uid == $node->uid) {
+    $vars['author_comment'] = TRUE;
+  }
+  // only show links for users that can administer links
+  if (!user_access('administer comments')) {
+    $vars['links'] = '';
+  }
+  // if subjects in comments are turned off, don't show the title then
+  if (!variable_get('comment_subject_field', 1)) {
+    $vars['title'] = '';
+  }
+  // if user has no picture, add in a filler
+  if ($vars['picture'] == '') {
+    $vars['picture'] = '<div class="no-picture">&nbsp;</div>';
+  }
+}
+ 
+/**
+ * Intercept box template variables
+ *
+ * @param $vars
+ *   A sequential array of variables passed to the theme function.
+ */
+function phptemplate_preprocess_box(&$vars) {
+  // rename to more common text
+  if (strpos($vars['title'], 'Post new comment') === 0) {
+    $vars['title'] = 'Add your comment';
   }
-
-  return $vars;
 }
 
 /**
@@ -177,7 +165,7 @@ function _phptemplate_variables($hook, $
  *   suggests that this is a site user. Otherwise, only the username is returned.
  */
 function phptemplate_username($object) {
-
+ 
   if ($object->uid && $object->name) {
     // Shorten the name when it is too long or it will break many tables.
     if (drupal_strlen($object->name) > 20) {
@@ -186,7 +174,8 @@ function phptemplate_username($object) {
     else {
       $name = $object->name;
     }
-
+    
+    // @TODO: I don't think this is working right. It needs to be checked.
     if (user_access('access user profiles')) {
       $output = l($name, 'user/'. $object->uid, array('title' => t('View user profile.')));
     }
@@ -209,7 +198,6 @@ function phptemplate_username($object) {
   else {
     $output = variable_get('anonymous', t('Anonymous'));
   }
-
   return $output;
 }
 
@@ -218,8 +206,9 @@ function phptemplate_username($object) {
  *
  * Makes forums look better and is great for performance
  * More: http://www.sysarchitects.com/node/70
+ * @TODO: not sure this is working yet in D6
  */
-function phptemplate_forum_topic_navigation($node) {
+function phptemplate_preprocess_forum_topic_navigation(&$variables) {
   return '';
 }
 
@@ -263,35 +252,6 @@ function phptemplate_form_element() {
 }
 
 /**
- * This override adds an ID to the label for all checkboxes, useful for jQuery.
- *
- * Format a checkbox.
- *
- * @param $element
- *   An associative array containing the properties of the element.
- *   Properties used:  title, value, return_value, description, required
- * @return
- *   A themed HTML string representing the checkbox.
- */
-function phptemplate_checkbox($element) {
-  _form_set_class($element, array('form-checkbox'));
-  $checkbox = '<input ';
-  $checkbox .= 'type="checkbox" ';
-  $checkbox .= 'name="'. $element['#name'] .'" ';
-  $checkbox .= 'id="'. $element['#id'].'" ' ;
-  $checkbox .= 'value="'. $element['#return_value'] .'" ';
-  $checkbox .= $element['#value'] ? ' checked="checked" ' : ' ';
-  $checkbox .= drupal_attributes($element['#attributes']) . ' />';
-
-  if (!is_null($element['#title'])) {
-    $checkbox = '<label id="checkbox-'. $element['#id'] .'" class="option">'. $checkbox .' '. $element['#title'] .'</label>';
-  }
-
-  unset($element['#title']);
-  return theme('form_element', $element, $checkbox);
-}
-
-/**
  * Set status messages to use Blueprint CSS classes.
  */
 function phptemplate_status_messages($display = NULL) {
@@ -318,46 +278,16 @@ function phptemplate_status_messages($di
 }
 
 /**
- * Override, use better icons, source: http://drupal.org/node/102743#comment-664157
- *
- * Format the icon for each individual topic.
- *
- * @ingroup themeable
- */
-function phptemplate_forum_icon($new_posts, $num_posts = 0, $comment_mode = 0, $sticky = 0) {
-  if ($num_posts > variable_get('forum_hot_topic', 15)) {
-    $icon = $new_posts ? 'hot-new' : 'hot';
-  }
-  else {
-    $icon = $new_posts ? 'new' : 'default';
-  }
-
-  if ($comment_mode == COMMENT_NODE_READ_ONLY || $comment_mode == COMMENT_NODE_DISABLED) {
-    $icon = 'closed';
-  }
-
-  if ($sticky == 1) {
-    $icon = 'sticky';
-  }
-
-  $output = theme('image', path_to_theme() . "/images/icons/forum-$icon.png");
-
-  if ($new_posts) {
-    $output = "<a name=\"new\">$output</a>";
-  }
-
-  return $output;
-}
-
-/**
  * Override comment wrapper to show you must login to comment.
+ * @TODO: I'm not sure if this is correctly working. Need to 
+ *        move into one of the newer preprocess hooks.
  */
 function phptemplate_comment_wrapper($content) {
   global $user;
   $output = '';
 
-  if (arg(0) == 'node' && is_numeric(arg(1))) {
-    $node = node_load(arg(1));
+  if ($node = menu_get_object()) {
+    // $node = node_load(arg(1));
     if ($node->type != 'forum') {
       $count = $node->comment_count .' '. format_plural($node->comment_count, 'comment', 'comments');
       $comment_text .= ($count > 0) ? $count : 'No comments';
@@ -365,15 +295,15 @@ function phptemplate_comment_wrapper($co
     }
   }
 
-	$output .= '<div id="comments">';
-	$msg = '';
-	if (!user_access('post comments')) {
-	  $dest = 'destination='. $_GET['q'] .'#comment-form';
-		$msg = '<div id="messages"><div class="error-wrapper"><div class="messages error">'.t('Please <a href="!register">register</a> or <a href="!login">sign in</a> to post a comment.', array('!register' => url("user/register", $dest), '!login' => url('user', $dest))).'</div></div></div>';
-	}
-	$output .= $content;
-	$output .= $msg;
-	return $output .'</div>';
+ $output .= '<div id="comments">';
+ $msg = '';
+ if (!user_access('post comments')) {
+   $dest = 'destination='. $_GET['q'] .'#comment-form';
+   $msg = '<div id="messages"><div class="error-wrapper"><div class="messages error">'. t('Please <a href="!register">register</a> or <a href="!login">sign in</a> to post a comment.', array('!register' => url("user/register", $dest), '!login' => url('user', $dest))) .'</div></div></div>';
+ }
+ $output .= $content;
+ $output .= $msg;
+ return $output .'</div>';
 }
 
 /**
@@ -393,6 +323,5 @@ function blueprint_trim_text($text, $len
   if ($lastchar != '!' and $lastchar != '?') {
     $text .= '...';
   }
-
   return $text;
 }
\ No newline at end of file
