Syncing HEAD with DRUPAL-5 branch.
authorJohnAlbin
Wed, 7 Nov 2007 18:09:49 +0000 (18:09 +0000)
committerJohnAlbin
Wed, 7 Nov 2007 18:09:49 +0000 (18:09 +0000)
62 files changed:
CHANGELOG.txt [new file with mode: 0644]
block.tpl.php
box.tpl.php
comment.tpl.php
drupal5-reference.css [new file with mode: 0644]
ie.css [new file with mode: 0644]
images/blue_bullet.gif [deleted file]
images/cog.png [deleted file]
images/dialog-information_i.gif [deleted file]
images/dialog-warning.gif [deleted file]
images/icon_user.gif [deleted file]
images/links.gif [deleted file]
images/menu-collapsed.gif [deleted file]
images/menu-expanded.gif [deleted file]
images/menu-leaf.gif [deleted file]
images/page_text.gif [deleted file]
images/tab-bar.png [new file with mode: 0644]
images/tab-left-ie6.png [new file with mode: 0644]
images/tab-left.png [new file with mode: 0644]
images/tab-right-ie6.png [new file with mode: 0644]
images/tab-right.png [new file with mode: 0644]
images/tab-secondary-bg.png [new file with mode: 0644]
images/tab-secondary.png [new file with mode: 0644]
images/tabs.gif [deleted file]
layout.css
node-forum.tpl.php
node.tpl.php
page.tpl.php
print.css [new file with mode: 0644]
style.css
tabs.css [new file with mode: 0644]
template.php
zen-fixed/screenshot.png [deleted file]
zen-fixed/style.css [deleted file]
zen_classic/favicon.ico [moved from zen-fixed/favicon.ico with 100% similarity]
zen_classic/icons.css [moved from icons.css with 59% similarity]
zen_classic/images/background.png [moved from images/background.png with 100% similarity]
zen_classic/images/blog.png [moved from images/blog.png with 100% similarity]
zen_classic/images/bullet.png [new file with mode: 0644]
zen_classic/images/cog.png [new file with mode: 0644]
zen_classic/images/dialog-information.png [new file with mode: 0644]
zen_classic/images/dialog-warning.png [new file with mode: 0644]
zen_classic/images/links.png [new file with mode: 0644]
zen_classic/images/menu-collapsed.png [new file with mode: 0644]
zen_classic/images/menu-expanded.png [new file with mode: 0644]
zen_classic/images/menu-leaf.png [new file with mode: 0644]
zen_classic/images/page.png [new file with mode: 0644]
zen_classic/images/tabs.png [new file with mode: 0644]
zen_classic/images/unpublished.png [new file with mode: 0644]
zen_classic/images/user.png [new file with mode: 0644]
zen_classic/logo.png [moved from zen-fixed/logo.png with 100% similarity]
zen_classic/page.tpl.php [new file with mode: 0644]
zen_classic/screenshot-drupal.org.png [new file with mode: 0644]
zen_classic/screenshot.large.png [new file with mode: 0644]
zen_classic/screenshot.png [new file with mode: 0644]
zen_classic/style.css [new file with mode: 0644]
zen_classic/template.php [new file with mode: 0644]
zen_classic/theme-settings-init.php [new file with mode: 0644]
zen_classic/theme-settings.php [new file with mode: 0644]
zen_classic/zen-classic.css [new file with mode: 0644]
zen_classic/zen-fixed.css [new file with mode: 0644]
zen_classic/zen-subtheme.php [new file with mode: 0644]

diff --git a/CHANGELOG.txt b/CHANGELOG.txt
new file mode 100644 (file)
index 0000000..620f531
--- /dev/null
@@ -0,0 +1,41 @@
+Zen 5.x-1.x-dev
+  * Add prettier tab styling
+  * #141784: Add conditional IE stylesheets
+  * Merge zen-fixed with zen_classic
+  * Add optional Theme Settings API integration
+  * #169359: Base CSS and tpl files don't get loaded (sub-theme with page.tpl.php)
+  * #171464: Create starter theme; migrate current style to a sub-theme
+  * Add ability to change regions in a sub-theme
+  * Add complete Drupal 5 CSS for easy reference by theme developers
+  * #183936: Backport Drupal 6 $body_classes
+
+Zen 5.x-0.7
+  * #100894: For SEO, H1#site-name should be div#site-name strong
+  * #118467 by leandrosiow: Screen redraw errors with resizable textareas in Firefox
+  * #154937 by msonnabaum: add skip navigation for screen readers/mobility impaired
+  * #122592: Ability to theme each primary link
+  * #178560 by incognito: Shifting avatars in the comment blocks
+  * #110553 by rport: Use png instead of gif for images
+  * #120052: Add linux fonts
+  * #183360: Empty H2 appears on blocks with no titles
+  * #121101: zen.css does not validate
+  * #110902: IE6: text falls outside and to the left of content area
+  * #183354: Add a div around the feed icons
+  * #120341: Sidebar has unwanted 5em bottom margin
+  * #122938: Enabling CSS aggregation messes up the CSS in Safari
+  * #110897: oversize content causes IE6 layout breakage
+  * #119270: profile pictures indenting
+  * #118170 by mr700: blockquote css border has two widths
+  * #110810: change .submitted span to div
+  * #100899: don't use sidebar class for widths
+  * #182130 by joachim: links in h2 and h3 different sizes
+  * #182556: Added CHANGELOG.
+
+Zen 5.x-0.6
+  * Another pre-release.
+
+Zen 5.x-0.5
+  * Initial pre-release.
+
+Zen 5.x-0.4
+  * Un-released version.
index b2dfa8a..e9e49da 100644 (file)
@@ -1,8 +1,11 @@
-<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="block block-<?php print $block->module ?>">  
-  <div class="blockinner">
-    <h2 class="title"> <?php print $block->subject; ?> </h2>
-    <div class="content">
-      <?php print $block->content; ?>
-    </div>    
+<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="clear-block block block-<?php print $block->module ?>"><div class="blockinner">
+
+  <?php if ($block->subject): ?>
+    <h2 class="title"><?php print $block->subject; ?></h2>
+  <?php endif; ?>
+
+  <div class="content">
+    <?php print $block->content; ?>
   </div>
-</div>
+
+</div></div> <!-- /blockinner, /block -->
index a66bd27..63088b0 100644 (file)
@@ -1,5 +1,11 @@
-  <div class="box">
-    <?php if ($title) { ?><h2 class="title"><?php print $title; ?></h2><?php } ?>
-    <div class="content"><?php print $content; ?></div>
- </div>
+<div class="box">
 
+  <?php if ($title): ?>
+    <h2 class="title"><?php print $title; ?></h2>
+  <?php endif; ?>
+
+  <div class="content">
+    <?php print $content; ?>
+  </div>
+
+</div>
index 974638b..75bc827 100644 (file)
@@ -1,8 +1,27 @@
-<div class="comment<?php if ($comment->status == COMMENT_NOT_PUBLISHED) print ' comment-unpublished'; ?>">
-<?php if ($new != '') { ?><span class="new"><?php print $new; ?></span><?php } ?>
-<h3 class="title"><?php print $title; ?></h3>
-<?php if ($picture) print $picture; ?>
-    <div class="submitted"><?php print t('On ') . format_date($comment->timestamp, 'custom', 'F jS, Y'); ?> <?php print theme('username', $comment) . t(' says:'); ?></div>
-    <div class="content"><?php print $content; ?></div>
-    <div class="links"><?php print $links; ?></div>
-</div>
+<div class="<?php print $comment_classes; ?> clear-block">
+
+  <?php if (!empty($new)): ?>
+    <div class="new"><?php print $new; ?></div>
+  <?php endif; ?>
+
+  <?php if ($title): ?>
+    <h3 class="title"><?php print $title; ?></h3>
+  <?php endif; ?>
+
+  <?php if ($picture) print $picture; ?>
+
+  <div class="submitted">
+    <?php print t('On ') . format_date($comment->timestamp, 'custom', 'F jS, Y'); ?> <?php print theme('username', $comment) . t(' said:'); ?>
+  </div>
+
+  <div class="content">
+    <?php print $content; ?>
+  </div>
+
+  <?php if ($links): ?>
+    <div class="links">
+      <?php print $links; ?>
+    </div>
+  <?php endif; ?>
+
+</div> <!-- /comment -->
diff --git a/drupal5-reference.css b/drupal5-reference.css
new file mode 100644 (file)
index 0000000..c9a3880
--- /dev/null
@@ -0,0 +1,987 @@
+/* $Id$ */
+
+/*
+ * DRUPAL 5.3 Reference CSS
+ *
+ * THIS FILE IS FOR REFERENCE ONLY AND IS NOT USED IN ANY WAY BY THE ZEN THEME.
+ *
+ * Drupal has very modular CSS. Which means that only the CSS that is needed
+ * for a particular page is loaded. This is a good thing.
+ *
+ * However, this makes it difficult for theme developers to discover how and
+ * where a particular style is coming from. So, here in all its glory is the
+ * complete CSS included with Drupal core 5.3.
+ *
+ * And, if you're not already, you should check out the free Firebug extension
+ * for Firefox. With it, you can inspect elements and easily view and play with
+ * its CSS styles.  http://www.getfirebug.com
+ */
+
+/* modules/aggregator/aggregator.css */
+
+  #aggregator .feed-source .feed-title {
+    margin-top: 0;
+  }
+  #aggregator .feed-source .feed-image img {
+    margin-bottom: 0.75em;
+  }
+  #aggregator .feed-source .feed-icon {
+    float: right;
+    display: block;
+  }
+  #aggregator .feed-item {
+    margin-bottom: 1.5em;
+  }
+  #aggregator .feed-item-title {
+    margin-bottom: 0;
+    font-size: 1.3em;
+  }
+  #aggregator .feed-item-meta, #aggregator .feed-item-body {
+    margin-bottom: 0.5em;
+  }
+  #aggregator .feed-item-categories {
+    font-size: 0.9em;
+  }
+  #aggregator td {
+    vertical-align: bottom;
+  }
+  #aggregator td.categorize-item {
+    white-space: nowrap;
+  }
+  #aggregator .categorize-item .news-item .body {
+    margin-top: 0;
+  }
+  #aggregator .categorize-item h3 {
+    margin-bottom: 1em;
+    margin-top: 0;
+  }
+
+/* modules/block/block.css */
+
+  #blocks td.region {
+    font-weight: bold;
+  }
+  #blocks td.block {
+    padding-left: 1.5em;
+  }
+  .block-region {
+    background-color: #ff6;
+    margin-top: 4px;
+    margin-bottom: 4px;
+    padding: 3px;
+  }
+
+/* modules/book/book.css */
+
+  .book-navigation .menu {
+    border-top: 1px solid #888;
+    padding: 1em 0 0 3em;
+  }
+  .book-navigation .page-links {
+    border-top: 1px solid #888;
+    border-bottom: 1px solid #888;
+    text-align: center;
+    padding: 0.5em;
+  }
+  .book-navigation .page-previous {
+    text-align: left;
+    width: 42%;
+    display: block;
+    float: left;
+  }
+  .book-navigation .page-up {
+    margin: 0 5%;
+    width: 4%;
+    display: block;
+    float: left;
+  }
+  .book-navigation .page-next {
+    text-align: right;
+    width: 42%;
+    display: block;
+    float: right;
+  }
+
+/* modules/color/color.css */
+
+  /* Farbtastic placement */
+  .color-form {
+    max-width: 50em;
+    position: relative;
+  }
+  #placeholder {
+    position: absolute;
+    top: 0;
+    right: 0;
+  }
+
+  /* Palette */
+  .color-form .form-item {
+    height: 2em;
+    line-height: 2em;
+    padding-left: 1em;
+    margin: 0.5em 0;
+  }
+  .color-form label {
+    float: left;
+    clear: left;
+    width: 10em;
+  }
+  .color-form .form-text, .color-form .form-select {
+    float: left;
+  }
+  .color-form .form-text {
+    text-align: center;
+    margin-right: 5px;
+    cursor: pointer;
+  }
+
+  #palette .hook {
+    float: left;
+    margin-top: 3px;
+    width: 16px;
+    height: 16px;
+  }
+  #palette .down, #palette .up, #palette .both {
+    background: url(images/hook.png) no-repeat 100% 0;
+  }
+  #palette .up {
+    background-position: 100% -27px;
+  }
+  #palette .both {
+    background-position: 100% -54px;
+  }
+
+  #palette .lock {
+    float: left;
+    position: relative;
+    top: -1.4em;
+    left: -10px;
+    width: 20px;
+    height: 25px;
+    background: url(images/lock.png) no-repeat 50% 2px;
+    cursor: pointer;
+  }
+  #palette .unlocked {
+    background-position: 50% -22px;
+  }
+  #palette .form-item {
+    width: 20em;
+  }
+  #palette .item-selected {
+    background: #eee;
+  }
+
+  /* Preview */
+  #preview {
+    display: none;
+  }
+  html.js #preview {
+    display: block;
+    position: relative;
+    float: left;
+  }
+
+/* modules/comment/comment.css */
+
+  .indented {
+    margin-left: 25px;
+  }
+  .comment-unpublished {
+    background-color: #fff4f4;
+  }
+  .preview .comment {
+    background-color: #ffffea;
+  }
+
+/* modules/forum/forum.css */
+
+  #forum .description {
+    font-size: 0.9em;
+    margin: 0.5em;
+  }
+  #forum td.created, #forum td.posts, #forum td.topics, #forum td.last-reply, #forum td.replies, #forum td.pager {
+    white-space: nowrap;
+  }
+  #forum td.posts, #forum td.topics, #forum td.replies, #forum td.pager {
+    text-align: center;
+  }
+  .forum-topic-navigation {
+    padding: 1em 0 0 3em;
+    border-top: 1px solid #888;
+    border-bottom: 1px solid #888;
+    text-align: center;
+    padding: 0.5em;
+  }
+  .forum-topic-navigation .topic-previous {
+    text-align: right;
+    float: left;
+    width: 46%;
+  }
+  .forum-topic-navigation .topic-next {
+    text-align: left;
+    float: right;
+    width: 46%;
+  }
+
+/* modules/help/help.css */
+
+  .help-items {
+    float: left;
+    width: 22%;
+    padding-right: 3%;
+  }
+  .help-items-last {
+    padding-right: 0;
+  }
+
+/* modules/locale/locale.css */
+
+  .locale-untranslated {
+    font-style: normal;
+    text-decoration: line-through;
+  }
+
+/* modules/node/node.css */
+
+  .node-unpublished {
+    background-color: #fff4f4;
+  }
+  .preview .node {
+    background-color: #ffffea;
+  }
+  #node-admin-filter ul {
+    list-style-type: none;
+    padding: 0;
+    margin: 0;
+    width: 100%;
+  }
+  #node-admin-buttons {
+    float: left;
+    margin-left: 0.5em;
+    clear: right;
+  }
+  td.revision-current {
+    background: #ffc;
+  }
+  .node-form .form-text {
+    display: block;
+    width: 95%;
+  }
+  .node-form .container-inline .form-text {
+    display: inline;
+    width: auto;
+  }
+  .node-form .standard {
+    clear: both;
+  }
+  .node-form textarea {
+    display: block;
+    width: 95%;
+  }
+  .node-form .attachments fieldset {
+    float: none;
+    display: block;
+  }
+
+/* modules/poll/poll.css */
+
+  .poll .bar {
+    height: 1em;
+    margin: 1px 0;
+    background-color: #ddd;
+  }
+  .poll .bar .foreground {
+    background-color: #000;
+    height: 1em;
+    float: left;
+  }
+  .poll .links {
+    text-align: center;
+  }
+  .poll .percent {
+    text-align: right;
+  }
+  .poll .total {
+    text-align: center;
+  }
+  .poll .vote-form {
+    text-align: center;
+  }
+  .poll .vote-form .choices {
+    text-align: left;
+    margin: 0 auto;
+    display: table;
+  }
+  .node-form .poll-form fieldset {
+    display: block;
+  }
+
+/* modules/search/search.css */
+
+  .search-form {
+    margin-bottom: 1em;
+  }
+  .search-form p {
+    margin-top: 0;
+    margin-bottom: 0.2em;
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  .search-form input {
+    margin-top: 0;
+    margin-bottom: 0;
+  }
+  .search-results p {
+    margin-top: 0;
+  }
+  .search-results dt {
+    font-size: 1.1em;
+  }
+  .search-results dd {
+    margin-bottom: 1em;
+  }
+  .search-results .search-info {
+    font-size: 0.85em;
+  }
+  .search-advanced .criterion {
+    float: left;
+    margin-right: 2em;
+  }
+  .search-advanced .action {
+    float: left;
+    clear: left;
+  }
+
+/* modules/system/admin.css */
+
+  /*
+  ** Formatting for administration page
+  */
+  div.admin-panel {
+    margin: 0;
+    padding: 5px 5px 15px 5px;
+  }
+
+  div.admin-panel .description {
+    margin: 0 0 3px;
+    padding: 2px 0 3px 0;
+  }
+
+  div.admin-panel .body {
+    padding: 0 4px 2px 8px;
+  }
+
+  div.admin {
+    padding-top: 15px;
+  }
+
+  div.admin .left {
+    float: left;
+    width: 47%;
+    margin-left: 1em;
+  }
+  div.admin .right {
+    float: right;
+    width: 47%;
+    margin-right: 1em;
+  }
+
+  div.admin .expert-link {
+    text-align: right;
+    margin-right: 1em;
+    padding-right: 4px;
+  }
+
+  table.package {
+    width: 100%;
+  }
+  table.package .description {
+    width: 100%;
+  }
+  div.admin-dependencies, div.admin-required {
+    font-size: 0.9em;
+    color: #444;
+  }
+  span.admin-disabled {
+    color: #800;
+  }
+  span.admin-enabled {
+    color: #080;
+  }
+  span.admin-missing {
+    color: #f00;
+  }
+
+  /**
+   * Formatting for status report
+   */
+  table.system-status-report th {
+    border-bottom: 1px solid #ccc;
+  }
+  table.system-status-report th, table.system-status-report tr.merge-up td {
+    padding-left: 30px;
+  }
+  table.system-status-report th  {
+    background-repeat: no-repeat;
+    background-position: 5px 50%;
+    padding-top: 6px;
+    padding-bottom: 6px;
+  }
+  table.system-status-report tr.error th {
+    background-image: url(../../misc/watchdog-error.png);
+  }
+  table.system-status-report tr.warning th {
+    background-image: url(../../misc/watchdog-warning.png);
+  }
+  table.system-status-report tr.ok th {
+    background-image: url(../../misc/watchdog-ok.png);
+  }
+
+  /**
+   * Formatting for theme configuration
+   */
+  .theme-settings-left {
+    float: left;
+    width: 49%;
+  }
+  .theme-settings-right {
+    float: right;
+    width: 49%;
+  }
+  .theme-settings-bottom {
+    clear: both;
+  }
+
+/* modules/system/defaults.css */
+
+  /*
+  ** HTML elements
+  */
+  fieldset {
+    margin-bottom: 1em;
+    padding: .5em;
+  }
+  form {
+    margin: 0;
+    padding: 0;
+  }
+  hr {
+    height: 1px;
+    border: 1px solid gray;
+  }
+  img {
+    border: 0;
+  }
+  table {
+    border-collapse: collapse;
+  }
+  th {
+    text-align: left;
+    padding-right: 1em;
+    border-bottom: 3px solid #ccc;
+  }
+
+  /*
+  ** Markup free clearing
+  ** Details: http://www.positioniseverything.net/easyclearing.html
+  */
+  .clear-block:after {
+    content: ".";
+    display: block;
+    height: 0;
+    clear: both;
+    visibility: hidden;
+  }
+
+  .clear-block {
+    display: inline-block;
+  }
+
+  /* Hides from IE-mac \*/
+  * html .clear-block {
+    height: 1%;
+  }
+  .clear-block {
+    display: block;
+  }
+  /* End hide from IE-mac */
+
+/* modules/system/system.css */
+
+  /*
+  ** HTML elements
+  */
+  th.active img {
+    display: inline;
+  }
+  tr.even, tr.odd {
+    background-color: #eee;
+    border-bottom: 1px solid #ccc;
+    padding: 0.1em 0.6em;
+  }
+  td.active {
+    background-color: #ddd;
+  }
+  tbody {
+    border-top: 1px solid #ccc;
+  }
+  tbody th {
+    border-bottom: 1px solid #ccc;
+  }
+  thead th {
+    text-align: left;
+    padding-right: 1em;
+    border-bottom: 3px solid #ccc;
+  }
+
+  /*
+  ** Other common styles
+  */
+  .breadcrumb {
+    padding-bottom: .5em
+  }
+  .error {
+    color: #f00;
+  }
+  div.error {
+    border: 1px solid #d77;
+  }
+  div.error, tr.error {
+    background: #fcc;
+    color: #200;
+  }
+  div.warning, tr.warning {
+    background: #ffd;
+  }
+  div.ok, tr.ok {
+    background: #dfd;
+  }
+  .item-list .icon {
+    color: #555;
+    float: right;
+    padding-left: 0.25em;
+    clear: right;
+  }
+  .item-list .title {
+    font-weight: bold;
+  }
+  .item-list ul {
+    margin: 0 0 0.75em 0;
+    padding: 0;
+  }
+  .item-list ul li {
+    margin: 0 0 0.25em 1.5em;
+    padding: 0;
+    list-style: disc;
+  }
+  .form-item {
+    margin-top: 1em;
+    margin-bottom: 1em;
+  }
+  tr.odd .form-item, tr.even .form-item {
+    margin-top: 0;
+    margin-bottom: 0;
+    white-space: nowrap;
+  }
+  tr.merge-down, tr.merge-down td, tr.merge-down th {
+    border-bottom-width: 0 !important;
+  }
+  tr.merge-up, tr.merge-up td, tr.merge-up th {
+    border-top-width: 0 !important;
+  }
+  .form-item input.error, .form-item textarea.error, .form-item select.error {
+    border: 2px solid red;
+  }
+  .form-item .description {
+    font-size: 0.85em;
+  }
+  .form-item label {
+    display: block;
+    font-weight: bold;
+  }
+  .form-item label.option {
+    display: inline;
+    font-weight: normal;
+  }
+  .form-checkboxes, .form-radios {
+    margin: 1em 0;
+  }
+  .form-checkboxes .form-item, .form-radios .form-item {
+    margin-top: 0.4em;
+    margin-bottom: 0.4em;
+  }
+  .marker, .form-required {
+    color: #f00;
+  }
+  .more-link {
+    text-align: right;
+  }
+  .more-help-link {
+    font-size: 0.85em;
+    text-align: right;
+  }
+  .nowrap {
+    white-space: nowrap;
+  }
+  .pager {
+    clear: both;
+    text-align: center;
+  }
+  .pager a, .pager strong.pager-current {
+    padding: 0.5em;
+  }
+  .tips {
+    margin-top: 0;
+    margin-bottom: 0;
+    padding-top: 0;
+    padding-bottom: 0;
+    font-size: 0.9em;
+  }
+  dl.multiselect dd.b, dl.multiselect dd.b .form-item, dl.multiselect dd.b select {
+    font-family: inherit;
+    font-size: inherit;
+    width: 14em;
+  }
+  dl.multiselect dd.a, dl.multiselect dd.a .form-item {
+    width: 8em;
+  }
+  dl.multiselect dt, dl.multiselect dd {
+    float: left;
+    line-height: 1.75em;
+    padding: 0;
+    margin: 0 1em 0 0;
+  }
+  dl.multiselect .form-item {
+    height: 1.75em;
+    margin: 0;
+  }
+
+  /*
+  ** Inline items (need to override above)
+  */
+  .container-inline div, .container-inline label {
+    display: inline;
+  }
+
+  /*
+  ** Menus
+  */
+  ul.menu {
+    list-style: none;
+    border: none;
+    text-align:left;
+  }
+  ul.menu li {
+    margin: 0 0 0 0.5em;
+  }
+  li.expanded {
+    list-style-type: circle;
+    list-style-image: url(../../misc/menu-expanded.png);
+    padding: 0.2em 0.5em 0 0;
+    margin: 0;
+  }
+  li.collapsed {
+    list-style-type: disc;
+    list-style-image: url(../../misc/menu-collapsed.png);
+    padding: 0.2em 0.5em 0 0;
+    margin: 0;
+  }
+  li.leaf {
+    list-style-type: square;
+    list-style-image: url(../../misc/menu-leaf.png);
+    padding: 0.2em 0.5em 0 0;
+    margin: 0;
+  }
+  li a.active {
+    color: #000;
+  }
+  td.menu-disabled {
+    background: #ccc;
+  }
+  ul.links {
+    margin: 0;
+    padding: 0;
+  }
+  ul.links.inline {
+    display: inline;
+  }
+  ul.links li {
+    display: inline;
+    list-style-type: none;
+    padding: 0 0.5em;
+  }
+  .block ul {
+    margin: 0;
+    padding: 0 0 0.25em 1em;
+  }
+
+  /*
+  ** Tab navigation
+  */
+  ul.primary {
+    border-collapse: collapse;
+    padding: 0 0 0 1em;
+    white-space: nowrap;
+    list-style: none;
+    margin: 5px;
+    height: auto;
+    line-height: normal;
+    border-bottom: 1px solid #bbb;
+  }
+  ul.primary li {
+    display: inline;
+  }
+  ul.primary li a {
+    background-color: #ddd;
+    border-color: #bbb;
+    border-width: 1px;
+    border-style: solid solid none solid;
+    height: auto;
+    margin-right: 0.5em;
+    padding: 0 1em;
+    text-decoration: none;
+  }
+  ul.primary li.active a {
+    background-color: #fff;
+    border: 1px solid #bbb;
+    border-bottom: #fff 1px solid;
+  }
+  ul.primary li a:hover {
+    background-color: #eee;
+    border-color: #ccc;
+    border-bottom-color: #eee;
+  }
+  ul.secondary {
+    border-bottom: 1px solid #bbb;
+    padding: 0.5em 1em;
+    margin: 5px;
+  }
+  ul.secondary li {
+    display: inline;
+    padding: 0 1em;
+    border-right: 1px solid #ccc;
+  }
+  ul.secondary a {
+    padding: 0;
+    text-decoration: none;
+  }
+  ul.secondary a.active {
+    border-bottom: 4px solid #999;
+  }
+
+  /*
+  ** Autocomplete styles
+  */
+  /* Suggestion list */
+  #autocomplete {
+    position: absolute;
+    border: 1px solid;
+    overflow: hidden;
+    z-index: 100;
+  }
+  #autocomplete ul {
+    margin: 0;
+    padding: 0;
+    list-style: none;
+  }
+  #autocomplete li {
+    background: #fff;
+    color: #000;
+    white-space: pre;
+    cursor: default;
+  }
+  #autocomplete li.selected {
+    background: #0072b9;
+    color: #fff;
+  }
+  /* Animated throbber */
+  html.js input.form-autocomplete {
+    background-image: url(../../misc/throbber.gif);
+    background-repeat: no-repeat;
+    background-position: 100% 2px;
+  }
+  html.js input.throbbing {
+    background-position: 100% -18px;
+  }
+
+  /*
+  ** Collapsing fieldsets
+  */
+  html.js fieldset.collapsed {
+    border-bottom-width: 0;
+    border-left-width: 0;
+    border-right-width: 0;
+    margin-bottom: 0;
+    height: 1em;
+  }
+  html.js fieldset.collapsed * {
+    display: none;
+  }
+  html.js fieldset.collapsed legend {
+    display: block;
+  }
+  html.js fieldset.collapsible legend a {
+    padding-left: 15px;
+    background: url(../../misc/menu-expanded.png) 5px 75% no-repeat;
+  }
+  html.js fieldset.collapsed legend a {
+    background-image: url(../../misc/menu-collapsed.png);
+    background-position: 5px 50%;
+  }
+  /* Note: IE-only fix due to '* html' (breaks Konqueror otherwise). */
+  * html.js fieldset.collapsed legend,
+  * html.js fieldset.collapsed legend *,
+  * html.js fieldset.collapsed table * {
+    display: inline;
+  }
+  html.js fieldset.collapsible legend a {
+    display: block;
+  }
+  /* Avoid jumping around due to margins collapsing into collapsible fieldset border */
+  html.js fieldset.collapsible .fieldset-wrapper {
+    overflow: auto;
+  }
+
+  /*
+  ** Resizable text areas
+  */
+  .resizable-textarea {
+    width: 95%;
+  }
+  .resizable-textarea .grippie {
+    height: 9px;
+    overflow: hidden;
+    background: #eee url(../../misc/grippie.png) no-repeat center 2px;
+    border: 1px solid #ddd;
+    border-top-width: 0;
+    cursor: s-resize;
+  }
+  html.js .resizable-textarea textarea {
+    margin-bottom: 0;
+    width: 100%;
+    display: block;
+  }
+
+  /*
+  ** Progressbar styles
+  */
+  .progress {
+    font-weight: bold;
+  }
+  .progress .bar {
+    background: #fff url(../../misc/progress.gif);
+    border: 1px solid #00375a;
+    height: 1.5em;
+    margin-top: 0.2em;
+  }
+  .progress .filled {
+    background: #0072b9;
+    height: 1em;
+    border-bottom: 0.5em solid #004a73;
+    width: 0%;
+  }
+  .progress .percentage {
+    float: right;
+  }
+
+  /*
+  ** Formatting for welcome page
+  */
+  #first-time strong {
+    display: block;
+    padding: 1.5em 0 .5em;
+  }
+
+  /*
+  ** To be used with tableselect.js
+  */
+  tr.selected td {
+    background: #ffc;
+  }
+
+/* modules/tracker/tracker.css */
+
+  #tracker td.replies {
+    text-align: center;
+  }
+  #tracker table {
+    width: 100%;
+  }
+
+/* modules/user/user.css */
+
+  #permissions td.module {
+    font-weight: bold;
+  }
+  #permissions td.permission {
+    padding-left: 1.5em;
+  }
+  #access-rules .access-type, #access-rules .rule-type {
+    margin-right: 1em;
+    float: left;
+  }
+  #access-rules .access-type .form-item, #access-rules .rule-type .form-item {
+    margin-top: 0;
+  }
+  #access-rules .mask {
+    clear: both;
+  }
+  #user-login-form {
+    text-align: center;
+  }
+  #user-admin-filter ul {
+    list-style-type: none;
+    padding: 0;
+    margin: 0;
+    width: 100%;
+  }
+  #user-admin-buttons {
+    float: left;
+    margin-left: 0.5em;
+    clear: right;
+  }
+
+  /* Generated by user.module but used by profile.module: */
+  .profile {
+    clear: both;
+    margin: 1em 0;
+  }
+  .profile .picture {
+    float: right;
+    margin: 0 1em 1em 0;
+  }
+  .profile dt {
+    margin: 1em 0 0.2em 0;
+    font-weight: bold;
+  }
+  .profile dd {
+    margin:0;
+  }
+
+/* modules/watchdog/watchdog.css */
+
+  tr.watchdog-user {
+    background: #ffd;
+  }
+  tr.watchdog-user .active {
+    background: #eed;
+  }
+  tr.watchdog-content {
+    background: #ddf;
+  }
+  tr.watchdog-content .active {
+    background: #cce;
+  }
+  tr.watchdog-page-not-found, tr.watchdog-access-denied {
+    background: #dfd;
+  }
+  tr.watchdog-page-not-found .active, tr.watchdog-access-denied .active {
+    background: #cec;
+  }
+  tr.watchdog-error {
+    background: #ffc9c9;
+  }
+  tr.watchdog-error .active {
+    background: #eeb9b9;
+  }
diff --git a/ie.css b/ie.css
new file mode 100644 (file)
index 0000000..21a4eb8
--- /dev/null
+++ b/ie.css
@@ -0,0 +1,52 @@
+/* $Id$ */
+
+/*
+ * IE CSS
+ *
+ * CSS targeted specifically for Internet Explorer for Windows.
+ *
+ * Properties staring with an underscore _ are for IE 5 and 6 only.
+ *
+ */
+
+
+/*
+ * Tabs CSS - IE 5 and 6 don't support PNGs with alpha transparency.
+ */
+
+ul.primary
+{
+  _background: url(images/tab-bar-ie6.png) repeat-x left bottom;
+}
+
+ul.primary li a
+{
+  _background: url(images/tab-left-ie6.png) no-repeat left -38px;
+}
+
+ul.primary li a .tab
+{
+  _background: url(images/tab-right-ie6.png) no-repeat right -38px;
+}
+
+ul.primary li a:hover
+{
+  _background: url(images/tab-left-ie6.png) no-repeat left -76px;
+}
+
+ul.primary li a:hover .tab
+{
+  _background: url(images/tab-right-ie6.png) no-repeat right -76px;
+}
+
+ul.primary li.active a,
+ul.primary li.active a:hover
+{
+  _background: url(images/tab-left-ie6.png) no-repeat left 0;
+}
+
+ul.primary li.active a .tab,
+ul.primary li.active a:hover .tab
+{
+  _background: url(images/tab-right-ie6.png) no-repeat right 0;
+}
diff --git a/images/blue_bullet.gif b/images/blue_bullet.gif
deleted file mode 100644 (file)
index 9a90542..0000000
Binary files a/images/blue_bullet.gif and /dev/null differ
diff --git a/images/cog.png b/images/cog.png
deleted file mode 100644 (file)
index 81e1597..0000000
Binary files a/images/cog.png and /dev/null differ
diff --git a/images/dialog-information_i.gif b/images/dialog-information_i.gif
deleted file mode 100644 (file)
index ab90ccc..0000000
Binary files a/images/dialog-information_i.gif and /dev/null differ
diff --git a/images/dialog-warning.gif b/images/dialog-warning.gif
deleted file mode 100644 (file)
index 6f14786..0000000
Binary files a/images/dialog-warning.gif and /dev/null differ
diff --git a/images/icon_user.gif b/images/icon_user.gif
deleted file mode 100644 (file)
index dcb5c2a..0000000
Binary files a/images/icon_user.gif and /dev/null differ
diff --git a/images/links.gif b/images/links.gif
deleted file mode 100644 (file)
index bc28da8..0000000
Binary files a/images/links.gif and /dev/null differ
diff --git a/images/menu-collapsed.gif b/images/menu-collapsed.gif
deleted file mode 100644 (file)
index 4cd16b8..0000000
Binary files a/images/menu-collapsed.gif and /dev/null differ
diff --git a/images/menu-expanded.gif b/images/menu-expanded.gif
deleted file mode 100644 (file)
index 7438d23..0000000
Binary files a/images/menu-expanded.gif and /dev/null differ
diff --git a/images/menu-leaf.gif b/images/menu-leaf.gif
deleted file mode 100644 (file)
index 506c11c..0000000
Binary files a/images/menu-leaf.gif and /dev/null differ
diff --git a/images/page_text.gif b/images/page_text.gif
deleted file mode 100644 (file)
index c1132e4..0000000
Binary files a/images/page_text.gif and /dev/null differ
diff --git a/images/tab-bar.png b/images/tab-bar.png
new file mode 100644 (file)
index 0000000..0b380be
Binary files /dev/null and b/images/tab-bar.png differ
diff --git a/images/tab-left-ie6.png b/images/tab-left-ie6.png
new file mode 100644 (file)
index 0000000..5c512ae
Binary files /dev/null and b/images/tab-left-ie6.png differ
diff --git a/images/tab-left.png b/images/tab-left.png
new file mode 100644 (file)
index 0000000..dd925f7
Binary files /dev/null and b/images/tab-left.png differ
diff --git a/images/tab-right-ie6.png b/images/tab-right-ie6.png
new file mode 100644 (file)
index 0000000..1c00281
Binary files /dev/null and b/images/tab-right-ie6.png differ
diff --git a/images/tab-right.png b/images/tab-right.png
new file mode 100644 (file)
index 0000000..9ed9cb2
Binary files /dev/null and b/images/tab-right.png differ
diff --git a/images/tab-secondary-bg.png b/images/tab-secondary-bg.png
new file mode 100644 (file)
index 0000000..a5a617e
Binary files /dev/null and b/images/tab-secondary-bg.png differ
diff --git a/images/tab-secondary.png b/images/tab-secondary.png
new file mode 100644 (file)
index 0000000..bf4e8d2
Binary files /dev/null and b/images/tab-secondary.png differ
diff --git a/images/tabs.gif b/images/tabs.gif
deleted file mode 100644 (file)
index 28f0510..0000000
Binary files a/images/tabs.gif and /dev/null differ
index ca6384d..cbe7b70 100644 (file)
@@ -1,16 +1,12 @@
-/*   $Id$ */
+/* $Id$ */
 
-/**
-*  LAYOUT STYLES
-*
-*  Define CSS classes to create a table-free,
-*  3-column, 2-column, or single column layout 
-*  depending on whether blocks are enabled in the 
-*  left or right columns.
-*/
-
-/**
- * Layout
+/*
+ * LAYOUT STYLES
+ *
+ * Define CSS classes to create a table-free,
+ * 3-column, 2-column, or single column layout
+ * depending on whether blocks are enabled in the
+ * left or right columns.
  */
 
 #container {
@@ -20,7 +16,7 @@
 }
 
 /* With 3 columns, require a minimum width of 1000px to ensure there is enough horizontal space. */
-body.both-sidebars {
+body.two-sidebars {
   /*min-width: 980px;*/
 }
 /* With 2 columsn, require a minimum width of 800px. */
@@ -35,15 +31,14 @@ body.sidebar-left, body.sidebar-right {
 }
 
 /* So we move the #main container over the sidebars to compensate */
-body.sidebar-left #main {
+body.sidebar-left #main,
+body.two-sidebars #main {
   margin-left: -210px;
 }
-body.sidebar-right #main {
+body.sidebar-right #main,
+body.two-sidebars #main {
   margin-right: -210px;
 }
-body.both-sidebars #main {
-  margin: 0 -210px;
-}
 
 #squeeze {
   position: relative;
@@ -51,35 +46,46 @@ body.both-sidebars #main {
 }
 
 /* And add blanks left and right for the sidebars to fill */
-body.sidebar-left #squeeze {
+body.sidebar-left #squeeze,
+body.two-sidebars #squeeze {
   margin-left: 210px;
 }
-body.sidebar-right #squeeze {
+body.sidebar-right #squeeze,
+body.two-sidebars #squeeze {
   margin-right: 210px;
 }
-body.both-sidebars #squeeze {
-  margin: 0 210px;
-}
 
 /* We ensure the sidebars are still clickable using z-index */
-#container .sidebar {
-  margin: 0 0 5em;
+#container #sidebar-left {
   width: 210px;
+}
+#container #sidebar-right {
+  width: 210px;
+}
+#container .sidebar {
+  margin: 0;
   float: left;
   z-index: 2;
   position: relative;
 }
 
+/* Ensure long text or wide images don't break IE6 layout. */
+#page, #header, #footer, #squeeze, #container .sidebar {
+  _overflow: hidden;
+  _overflow-y: visible;
+  word-wrap: break-word; /* A very nice CSS3 property */
+}
+
 #container .sidebar .block {
   margin: 0 0 1.5em 0;
 }
 
 #sidebar-left .block {
-  padding: 0 15px 0 0px;
+  padding: 0 15px 0 0;
 }
 
 #sidebar-right .block {
-  padding: 0 0px 0 15px;
+  padding: 0 0 0 15px;
 }
 
 .block .content {
@@ -91,18 +97,3 @@ body.both-sidebars #squeeze {
   clear: both;
   margin: 4em 0 -3em;
 }
-
-
-/*
-body.sidebar-left  #footer {
-  margin-left: -210px;
-}
-
-body.sidebar-right #footer {
-  margin-right: -210px;
-}
-
-body.both-sidebars #footer {
-  margin: 0 -210px;
-}
-
index 82585d8..0952c34 100644 (file)
@@ -1,24 +1,27 @@
-<div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?>" id="node-<?php print $node->nid; ?>">
+<div class="<?php print $node_classes ?>" id="node-<?php print $node->nid; ?>">
+
   <?php if ($page == 0): ?>
     <h2 class="title">
       <a href="<?php print $node_url; ?>"><?php print $title; ?></a>
     </h2>
   <?php endif; ?>
 
-  <?php if ($picture) print $picture; ?>  
-  
+  <?php if ($picture) print $picture; ?>
+
   <?php if ($submitted): ?>
-    <span class="submitted"><?php print t('Posted ') . date("F jS, Y", $node->created) . t(' by ') . theme('username', $node); ?></span> 
+    <div class="submitted">
+      <?php print $submitted; ?>
+    </div>
   <?php endif; ?>
-   
+
   <div class="content">
     <?php print $content; ?>
   </div>
-  
+
   <?php if ($links): ?>
     <div class="links">
       <?php print $links; ?>
     </div>
   <?php endif; ?>
-     
-</div>
\ No newline at end of file
+
+</div>
index dbd2534..d002500 100644 (file)
@@ -1,28 +1,31 @@
 <div class="<?php print $node_classes ?>" id="node-<?php print $node->nid; ?>">
+
   <?php if ($page == 0): ?>
     <h2 class="title">
-      <a href="<?php print $node_url ?>"><?php print $title; ?></a>
+      <a href="<?php print $node_url; ?>"><?php print $title; ?></a>
     </h2>
   <?php endif; ?>
 
-  <?php if ($picture) print $picture; ?>  
-  
+  <?php if ($picture) print $picture; ?>
+
   <?php if ($submitted): ?>
-    <span class="submitted"><?php print t('Posted ') . format_date($node->created, 'custom', "F jS, Y") . t(' by ') . theme('username', $node); ?></span> 
+    <div class="submitted">
+      <?php print $submitted; ?>
+    </div>
   <?php endif; ?>
 
   <?php if (count($taxonomy)): ?>
-    <div class="taxonomy"><?php print t(' in ') . $terms ?></div>
+    <div class="taxonomy"><?php print t(' in ') . $terms; ?></div>
   <?php endif; ?>
-  
+
   <div class="content">
     <?php print $content; ?>
   </div>
-  
+
   <?php if ($links): ?>
     <div class="links">
       <?php print $links; ?>
     </div>
   <?php endif; ?>
+
 </div>
index 1fe7755..bfdece0 100644 (file)
   <title><?php print $head_title; ?></title>
   <?php print $head; ?>
   <?php print $styles; ?>
+  <!--[if IE]>
+    <link rel="stylesheet" href="<?php print $base_path . $directory ?>/ie.css" type="text/css">
+    <?php if ($subtheme_directory && file_exists($subtheme_directory .'/ie.css')): ?>
+      <link rel="stylesheet" href="<?php print $base_path . $subtheme_directory ?>/ie.css" type="text/css">
+    <?php endif; ?>
+  <![endif]-->
   <?php print $scripts; ?>
 </head>
 
-<?php /* different ids allow for separate theming of the home page */ ?>
+<?php /* different classes allow for separate theming of the home page */ ?>
 <body class="<?php print $body_classes; ?>">
   <div id="page">
     <div id="header">
+
+      <div id="skip-nav"><a href="#content"><?php print t('Skip to Main Content'); ?></a></div>
+
       <div id="logo-title">
-      
-        <?php print $search_box; ?>      
-        <?php if ($logo): ?>
-          <a href="<?php print $base_path; ?>" title="<?php print t('Home'); ?>">
+
+        <?php print $search_box; ?>
+        <?php if (!empty($logo)): ?>
+          <a href="<?php print $base_path; ?>" title="<?php print t('Home'); ?>" rel="home">
             <img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" id="logo" />
           </a>
         <?php endif; ?>
-        
+
         <div id="name-and-slogan">
-        
-        <?php if ($site_name): ?>
-          <h1 id='site-name'>
-            <a href="<?php print $base_path ?>" title="<?php print t('Home'); ?>">
+
+        <?php if (!empty($site_name)): ?>
+          <div id='site-name'><strong>
+            <a href="<?php print $base_path ?>" title="<?php print t('Home'); ?>" rel="home">
               <?php print $site_name; ?>
             </a>
-          </h1>
+          </strong></div>
         <?php endif; ?>
-        
-        <?php if ($site_slogan): ?>
+
+        <?php if (!empty($site_slogan)): ?>
           <div id='site-slogan'>
             <?php print $site_slogan; ?>
           </div>
         <?php endif; ?>
-        
+
         </div> <!-- /name-and-slogan -->
-        
+
       </div> <!-- /logo-title -->
-     
-      
-      <div id="navigation" class="menu <?php if ($primary_links) { print "withprimary"; } if ($secondary_links) { print " withsecondary"; } ?> ">
-          <?php if ($primary_links): ?>
-            <div id="primary" class="clear-block">
-              <?php print theme('menu_links', $primary_links); ?>
-            </div>
-          <?php endif; ?>
-          
-          <?php if ($secondary_links): ?>
-            <div id="secondary" class="clear-block">
-              <?php print theme('menu_links', $secondary_links); ?>
-            </div>
-          <?php endif; ?>
+
+      <div id="navigation" class="menu<?php if ($primary_links) { print " withprimary"; } if ($secondary_links) { print " withsecondary"; } ?> ">
+        <?php if (!empty($primary_links)): ?>
+          <div id="primary" class="clear-block">
+            <?php print theme('links', $primary_links); ?>
+          </div>
+        <?php endif; ?>
+
+        <?php if (!empty($secondary_links)): ?>
+          <div id="secondary" class="clear-block">
+            <?php print theme('links', $secondary_links); ?>
+          </div>
+        <?php endif; ?>
       </div> <!-- /navigation -->
-      
-      <?php if ($header || $breadcrumb): ?>
+
+      <?php if (!empty($header) || !empty($breadcrumb)): ?>
         <div id="header-region">
           <?php print $breadcrumb; ?>
           <?php print $header; ?>
-        </div>
+        </div> <!-- /header-region -->
       <?php endif; ?>
-      
+
     </div> <!-- /header -->
 
     <div id="container" class="clear-block">
-                  
-      <?php if ($sidebar_left): ?>
+
+      <?php if (!empty($sidebar_left)): ?>
         <div id="sidebar-left" class="column sidebar">
           <?php print $sidebar_left; ?>
         </div> <!-- /sidebar-left -->
-      <?php endif; ?>  
-    
-      <div id="main" class="column"><div id="squeeze">
-        <?php if ($mission): ?><div id="mission"><?php print $mission; ?></div><?php endif; ?>
-        <?php if ($content_top):?><div id="content-top"><?php print $content_top; ?></div><?php endif; ?>
-        <?php if ($title): ?><h1 class="title"><?php print $title; ?></h1><?php endif; ?>
-        <?php if ($tabs): ?><div class="tabs"><?php print $tabs; ?></div><?php endif; ?>
-        <?php print $help; ?>
-        <?php print $messages; ?>
-        <?php print $content; ?>
-        <?php print $feed_icons; ?>
-        <?php if ($content_bottom): ?><div id="content-bottom"><?php print $content_bottom; ?></div><?php endif; ?>
+      <?php endif; ?>
+
+      <div id="main" class="column"><div id="squeeze" class="clear-block">
+        <?php if (!empty($mission)): ?>
+          <div id="mission"><?php print $mission; ?></div>
+        <?php endif; ?>
+        <?php if (!empty($content_top)):?>
+          <div id="content-top"><?php print $content_top; ?></div>
+        <?php endif; ?>
+        <div id="content">
+          <?php if (!empty($title)): ?>
+            <h1 class="title"><?php print $title; ?></h1>
+          <?php endif; ?>
+          <?php if (!empty($tabs)): ?>
+            <div class="tabs"><?php print $tabs; ?></div>
+          <?php endif; ?>
+          <?php print $help; ?>
+          <?php print $messages; ?>
+          <?php print $content; ?>
+          <?php if (!empty($feed_icons)): ?>
+            <div class="feed-icons"><?php print $feed_icons; ?></div>
+          <?php endif; ?>
+        </div> <!-- /content -->
+        <?php if (!empty($content_bottom)): ?>
+          <div id="content-bottom"><?php print $content_bottom; ?></div>
+        <?php endif; ?>
       </div></div> <!-- /squeeze /main -->
 
-      <?php if ($sidebar_right): ?>
+      <?php if (!empty($sidebar_right)): ?>
         <div id="sidebar-right" class="column sidebar">
           <?php print $sidebar_right; ?>
         </div> <!-- /sidebar-right -->
         <?php print $footer_message; ?>
       </div> <!-- /footer -->
     </div> <!-- /footer-wrapper -->
-    
+
     <?php print $closure; ?>
-    
+
   </div> <!-- /page -->
 
 </body>
diff --git a/print.css b/print.css
new file mode 100644 (file)
index 0000000..5d9f744
--- /dev/null
+++ b/print.css
@@ -0,0 +1,68 @@
+/* $Id$ */
+
+/* white background, black text, arial font, decent font size */
+body, node.content {
+  background-color: #fff;
+  color: #000;
+  font-family: Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
+  font-size: 12pt;
+  width: 100%;
+}
+
+#page {
+  margin: 0;
+  width: 90%;
+}
+
+#squeeze {
+  margin: 0;
+  width: 100%;
+}
+
+/* underline all links */
+a:link, a:visited {
+  color: #520;
+  background: transparent;
+  text-decoration: underline !important;
+}
+
+/* don't underline header */
+#header a:link, #header a:visited {
+  text-decoration: none !important;
+}
+
+/* CSS2 selector to add visible href after links */
+#main a:link:after, #main a:visited:after,
+.content a:link:after, .content a:visited:after {
+  content: " (" attr(href) ") ";
+  font-size: 80%;
+  font-weight: normal;
+}
+
+/* don't float floating things */
+#main, #container .sidebar {
+  float: none;
+  width: 100%;
+}
+
+.submitted {
+  color: #000;
+  font-family: "Times New Roman", "Bitstream Vera Serif", Garamond, serif;
+  font-size: 10pt;
+}
+
+html body {
+  background: transparent;
+  width: auto;
+}
+
+/* Hide sidebars and nav elements */
+#skip-nav, #primary, #secondary, #sidebar-left, #sidebar-right, #search, #tabs, #menu, #mission, #footer-wrapper,
+.book-navigation, .tabs, .links, .breadcrumb, .taxonomy, .pager, .feed-icon, .forum-topic-navigation {
+  visibility: hidden;
+  display: none;
+}
+
+#logo-title {
+  margin: 20pt 20pt 0 20pt;
+}
index bbf94f1..7f4ba0a 100644 (file)
--- a/style.css
+++ b/style.css
-@CHARSET "UTF-8";
-
-/**
-*   Zen CSS
-*
-*   $Id$
-*/
-
-/**
-*   IMPORT EXTERNAL STYLE SHEETS 
-*   We have separated out these styles because they are
-*   common to the zen template system.
-*/
-@import "layout.css";
-@import "icons.css";
-
-/**
-*   FONT STYLES 
-*
-*  Standardize font sizes and line-height across browsers 
-*/
-
-body {
-  font:13px arial,helvetica,clean,sans-serif;
-  *font-size:small;
-  *font:x-small;
-}
-
-table {
-  font-size:inherit;
-  font:100%;
-}
-select, input, textarea {
-  font:99% arial,helvetica,clean,sans-serif;
-}
-pre, code {
-  font:115% monospace;
-  *font-size:100%;
-}
-
-table tr.odd {
-  background: #ddd;
-}
-
-tr, td {
-  padding: .25em;
-}
-
-td.icon {
-  text-align: center;
-}
-
-
-/**
-*   LAYOUT STYLES 
-*
-*  Styles pertaining to minor layout adjustments, such as
-*   changing from fluid width to fixed width.  
-*   See layout.css for major adjustments.
-*/
-body {
-  margin: 0;
-  padding: 0;
-  min-width: 700px;      
-  /* 2x (left-side fullwidth + main padding) + right-side fullwidth */
-}
-
-#page {
-  /*width: 900px;  */             /* page width - optional */
-  /*margin: 0 auto;   */          /* center the page - optional */
-  /*border-left: 2px solid #AAA;*/
-  /*border-right: 2px solid #AAA;*/
-}
-
-
-/**
-*  OTHER STYLES
-*
-*  Styles that are specific to this theme.
-*/
-
-/* Common styles */
-body {
-  background: #fff;
-}
-
-#page {
-  font-family: Verdana, Arial, Helvetica, sans-serif;
-  color: #111;
-  line-height:1.5em;
-  background-color: #fff;
-}
-
-#container {
-  margin:0px 10px 10px 10px;
-}
-
-#main .node .content{
-  color: #333;
-}
-
-div.content, div.links {
-  font-size: 92%;
-}
-
-a, a:link, a:visited {
-  color: #2763A5;
-  text-decoration: none;
-}
-
-a:hover, a:focus {
-  color: #6191C5;
-  text-decoration: underline;
-}
-
-a:active, a.active { 
-  color: #89A3E4; 
-}
-               
-h1.title, h1.title a, h1.title a:hover {
-  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
-  font-weight: normal;
-  color: #6191C5;
-  font-size: 200%;
-  margin:0;
-  margin-bottom:0px;
-  line-height:normal;
-}
-
-h1, h1 a, h1 a:hover {
-  font-size: 140%;
-  color: #444;
-  font-family: Arial, Helvetica, sans-serif;
-  margin:.5em 0 .5em 0;
-}
-
-h2, h2 a, h2 a:hover, .block h3, .block h3 a {
-  font-size: 122%;
-  color: #444;
-  font-family: Arial, Helvetica, sans-serif;
-  margin:.5em 0 .5em 0;
-}
-
-h3 { 
-  font-size: 107%;
-  font-weight: bold; 
-  font-family: Arial, Helvetica, sans-serif;
-}
-
-h4, h5, h6 {
-  font-weight: bold;
-  font-family: Arial, Helvetica, sans-serif;
-}
-
-p, .book .body {
-  padding: 0 0 0.5em 0;
-  margin: 0;
-}
-
-pre {
-  background: #ddd;
-  border: 1px solid #aaa;
-  padding: 0.75em 1.5em;
-}
-
-blockquote {
-  border: 1px 0px #ccc solid;
-  margin: 0.5em 1em;
-  padding: 0.3em;
-  font-style: italic;
-}
-
-code {
-  font-size: 100%;
-  font-family: Profont, 'lucida console', 'Courier New', Monaco, monospace;
-}
-
-img { 
-  border: 0; 
-}
-
-ol, ul, dl { 
-  position: relative; 
-}
-
-/* Header styles */
-#logo-title {
-  margin: 10px 20px 0 20px;
-  position: relative;
-}
-
-#logo{
-  vertical-align: baseline;
-}
-
-#name-and-slogan {
-  display: inline;
-}
-
-#site-name {
-  margin: 0;
-  display: inline;
-}
-
-#site-name a, #site-name a:hover {
-  font-family: "Trebuchet MS", Arial, Verdana, Sans-serif;
-  font-weight: normal;
-  color: #6DA6E2;
-  font-size: 176%;
-  margin: 0;
-  padding: 0;
-}
-
-#site-slogan {
-  color: #aaa;
-  margin: 0;
-  font-size: 85%;
-  margin-left:20px;
-}
-
-#search {
-  position: absolute;
-  padding:0;
-  top: 0;
-  right: 0;
-}
-
-#mission {
-  color: #666;
-  font-weight:bold;
-  padding: 2em;
-  background: #D7E3F0 url(images/background.png);
-  margin-bottom:20px;
-  font-size: 85%;
-  border: solid 1px #B5C9D8;
-}
-
-.breadcrumb {
-  margin:0;
-  padding:0;
-  font-size: 85%;
-  margin-left:20px;
-}
-
-/* Menu styles */
-div.menu {
-  margin-top:15px;
-}
-
-#primary {
-  font-size: 85%;
-  line-height:normal;
-  padding:0px 0px 1px 20px;
-  border-bottom:4px solid #2763A5;
-}
-
-#primary ul {
-  padding:0;
-  margin:0;
-  list-style:none;
-}
-
-#primary li {
-  display:inline;
-}
-
-#primary a {
-  background:url(images/tabs.gif) repeat-x;
-  color:#FFF;
-  font-weight:bold;
-  display:block;
-  float:left;
-  padding:5px 14px 5px 14px;
-  margin: 0px 1px 0px 0px;
-  border: solid #6191C5 1px;
-  border-width: 1px 1px 0px 1px;
-}
-
-#primary a {
-  background-position:0% 0px;
-}
-
-#primary a:hover {
-  background-position:0% -42px;
-  text-decoration:none;
-}
-
-#primary a.active {
-  background-position: 0% -84px;
-}
-
-#secondary {
-  padding-left:20px;
-  background: #6DA6E2; /*#347FD2;*/
-  border-bottom: solid #2763A5 4px;
-}
-#secondary ul {
-  margin:0;
-  padding:0;
-  list-style:none;
-}
-#secondary li {
-  margin:0;
-  padding:0;
-  display:inline;
-}
-
-#secondary li a {
-  float:left;
-  display:block;
-  color: #fff;
-  font-size: 85%;
-  text-decoration:none;
-  padding:0px 5px 0px 5px;
-}
-
-#secondary a:hover {
-  background:#2763A5;
-}
-
-#secondary a.active {
-  font-weight:bold;
-}
-
-/* Link styles */
-ul.links {
-  text-align:left;
-}
-
-ul.links li {
-  border-left: 1px solid #9cf;
-}
-
-.taxonomy {
-  margin:0;
-  padding:0;
-  display:inline;
-}
-
-.taxonomy ul.links li {
-  border:none;
-  padding:0 .1em 0 .2em;
-}
-
-.taxonomy ul.links li:after {
-  content: ",";
-}
-
-.taxonomy ul.links li.last:after {
-  content: "";
-}
-
-ul.links li.first {
-  padding-left:0;
-  border: none;
-}
-
-.links {
-  color: #999;
-}
-.links a {
-  padding:0 .1em 0 .1em;
-}
-
-.submitted, .taxonomy { 
-  font-size: 85%;
-  color: #999; 
-}
-
-/* Form styles */      
-input, textarea, textfield {
-  margin:0;
-  color: #000;
-  font-family: arial;
-  padding:1px;
-  font-size: 100%;
-}
-
-fieldset {
-  border: solid #ccc 1px;
-}
-
-input.form-checkbox, input.form-radio {
-  border: none;
-}
-
-#search .form-text, #user-login-form .form-text {
-  color: #444;
-  border: 1px solid #6191C5;
-  padding: 2px;
-}
-
-.form-submit, .button {
-  padding: 1px;
-}
-
-#search .button, 
-#search .form-submit,
-#user-login-form .button,
-#user-login-form .form-submit {
-  background-color: #68A0D9;
-  color: #fff;
-  font-weight:bold;
-  border: 1px solid #4070A1;
-}
-
-#node-form, #node-form .node-form {
-  overflow:auto;
-}
-
-#user-login-form {
-  text-align:left;
-}
-
-#user-login-form .item-list ul {
-  margin-top:10px;
-}
-
-/* Alerts, Status, Help Messages  */
-.messages {
-  min-height: 32px;                 /* icon height */
-  padding: 1.3em 1em .3em 52px;
-  border: 2px solid #ddd;
-  background: #eee;
-  margin: 10px 0;
-}
-
-div.error {
-  border: 2px solid #F00;
-}
-
-.messages ul {
-  padding: 0 0 0 20px;
-  margin: 0;
-}
-
-/* Footer styles */
-#footer-wrapper {
-  margin:0;
-  margin-top: 15px;
-}
-
-#footer {
-  background-color: #2763A5;
-  border: solid 1px #004969;
-  color:#FFFFFF;
-  text-align: center;
-  margin:0;
-  font-size: 85%;
-  padding: 1em;
-}
-  
-#footer a {
-  color: #fff;
-  font-weight:bold;
-  border-bottom: 1px dotted #FFFFFF;
-}
-  
-#footer a:hover {
-  border-bottom: 1px solid #FFFFFF;
-}
-
-#footer img.drupal-powered {
-  position:relative;
-  top:.3em;
-}
-
-/* Administration styles */
-.admin-panel {
-  margin:0;
-  padding:0;
-}
-
-.admin-panel .body {
-  background-color: #eee;
-  border: solid #6191C5 1px;
-}
-
-.admin-panel .body dl, .admin-panel .body p {
-  padding:10px;
-}
-
-.admin-panel h3 {
-  margin-bottom:0;
-  padding:5px 5px 5px 30px;
-  font-family: verdana;
-  font-size: 122%;
-  color:#fff;
-  border-width: 0px 2px 2px 2px;
-}
-
-/* Comment styles */
-.comment {
-  margin:0px 0px 10px 0;
-  padding: 10px;
-  background: #EBF2F8;
-}
-
-.comment  h3.title, .comment  h3.title a {
-  font-size: 122%;
-  color: #2266AB;
-  font-weight:normal;
-  font-family: "Trebuchet MS", Arial, Verdana, Sans-serif;
-  margin-bottom:3px;
-  margin-top:0;
-}
-
-.comment .picture, .node .picture {
-  float:left;
-  margin-right:15px;
-}
-
-.comment-unpublished {
-  background: #FCE38E;
-}
-
-.comment .new {
-  color: #FFC600;
-  font-weight:bold;
-  font-family: "Trebuchet MS", Arial, Verdana, Sans-serif;
-}
-
-.comment .links {
-  text-align: right;
-}
-
-/* Poll styles */
-.poll .bar .foreground {
-  background: #2763A5;
-}
-
-.poll .bar {
-  padding:2px;
-  background: #BDCBDD;
-}
-
-/* Book styles */
-div.node div.content .book-navigation {
-  background: #eee;
-  margin:0;
-  padding:0;
-}
-
-div.node div.content .book-navigation ul.menu {
-  border:0;
-  border-top:1px solid #2763A5;
-  margin:0;
-  padding-bottom:10px;
-}
-
-div.node div.content .book-navigation .page-links {
-  background: #C1D4EA; /*#347FD2;*/
-  border:1px solid #2763A5;
-  border-width:1px 0 1px 0;
-  padding:5px;
-  margin:0;
-}
-
-/* Forum styles */
-#forum table {
-  width: 100%;
-}
-
-/* Pager styles */
-.pager {
-  text-align:center;
-  margin-top: 30px;
-}
-
-.pager  a, .pager-current {
-  padding:3px 8px 3px 8px;
-  margin:0 2px 0 2px;
-  color: #2763A5;
-  font-weight:bold;
-  border: solid 1px #eee;
-}
-
-.pager-current {
-  color: #fff;
-  background-color: #2763A5;  
-}
-
-/* Node, Block, Content styles */
-.node {
-  margin-bottom:15px;
-  padding-bottom:15px;
-}
-
-.node h2.title {
-  margin-bottom:.1em;
-}
-
-.node h2.title a {
-  color: #555;
-  font-size: 129%;
-  font-weight:normal;
-  font-family:verdana;
-  line-height:1.4em;
-}
-
-.node .content {
-  padding-top:10px;
-  padding-bottom:5px;
-}
-
-.sticky {
-  border-bottom: solid 3px #ddd;
-}
-
-.profile {
-  clear:none;
-}
-
-#sidebar-left .block, #sidebar-right .block {
-  border-bottom: solid #ddd 1px;
-  padding-bottom:15px;
-  margin-bottom:20px;
-}
-
-.block .item-list ul {
-  padding-left:0;
-}
\ No newline at end of file
+/* $Id$ */
+
+/*
+ * Zen CSS
+ *
+ * This space intentionally left blank.
+ *
+ * See zen.css for the main styles for this theme
+ *
+ * See template.php to see how Zen styles are added to the page.
+ */
diff --git a/tabs.css b/tabs.css
new file mode 100644 (file)
index 0000000..23d8b55
--- /dev/null
+++ b/tabs.css
@@ -0,0 +1,138 @@
+/* $Id$ */
+
+/*
+ * Tabs CSS
+ *
+ * Adds styles for the primary and secondary tabs.
+ *
+ * Compare this with default CSS found in the system module's stylesheet (a copy
+ * of which is in drupal5-reference.css, line 510.)
+ * 
+ */
+
+div.tabs
+{
+  margin: 0 0 1em 0;
+}
+
+ul.primary
+{
+  margin: 0;
+  padding: 0 0 0 10px;
+  border-width: 0;
+  list-style: none;
+  white-space: nowrap;
+  line-height: normal;
+  background: url(images/tab-bar.png) repeat-x left bottom;
+}
+
+ul.primary li
+{
+  float: left;
+  margin: 0;
+  padding: 0;
+}
+
+ul.primary li a
+{
+  display: block;
+  height: 24px;
+  margin: 0;
+  padding: 0 0 0 5px; /* width of tab-left.png */
+  border-width: 0;
+  font-weight: bold;
+  text-decoration: none;
+  color: #777;
+  background-color: transparent;
+  background: url(images/tab-left.png) no-repeat left -38px;
+}
+
+ul.primary li a .tab
+{
+  display: block;
+  height: 20px; /* 24px (parent) - 4px (padding) */
+  margin: 0;
+  padding: 4px 13px 0 6px;
+  border-width: 0;
+  line-height: 20px;
+  background: url(images/tab-right.png) no-repeat right -38px;
+}
+
+ul.primary li a:hover
+{
+  border-width: 0;
+  background-color: transparent;
+  background: url(images/tab-left.png) no-repeat left -76px;
+}
+
+ul.primary li a:hover .tab
+{
+  background: url(images/tab-right.png) no-repeat right -76px;
+}
+
+ul.primary li.active a,
+ul.primary li.active a:hover
+{
+  border-width: 0;
+  color: #000;
+  background-color: transparent;
+  background: url(images/tab-left.png) no-repeat left 0;
+}
+
+ul.primary li.active a .tab,
+ul.primary li.active a:hover .tab
+{
+  background: url(images/tab-right.png) no-repeat right 0;
+}
+
+ul.secondary
+{
+  margin: 0;
+  padding: 0 0 0 5px;
+  border-bottom: 1px solid #c0c0c0;
+  list-style: none;
+  white-space: nowrap;
+  background: url(images/tab-secondary-bg.png) repeat-x left bottom;
+}
+
+ul.secondary li
+{
+  float: left;
+  margin: 0 5px 0 0;
+  padding: 5px 0;
+  border-right: none;
+}
+
+ul.secondary a
+{
+  display: block;
+  height: 24px;
+  margin: 0;
+  padding: 0;
+  border: 1px solid #c0c0c0;
+  text-decoration: none;
+  color: #777;
+  background: url(images/tab-secondary.png) repeat-x left -56px;
+}
+
+ul.secondary a .tab
+{
+  display: block;
+  height: 18px; /* 24px (parent) - 6px (padding) */
+  margin: 0;
+  padding: 3px 8px;
+  line-height: 18px;
+}
+
+ul.secondary a:hover
+{
+  background: url(images/tab-secondary.png) repeat-x left bottom;
+}
+
+ul.secondary a.active,
+ul.secondary a.active:hover
+{
+  border: 1px solid #c0c0c0;
+  color: #000;
+  background: url(images/tab-secondary.png) repeat-x left top;
+}
index be919cc..622d170 100644 (file)
 /**
  * @file
  * File which contains theme overrides for the Zen theme.
- */
-
-/*
+ *
  * ABOUT
  *
- *  The template.php file is one of the most useful files when creating or modifying Drupal themes.
- *  You can add new regions for block content, modify or override Drupal's theme functions, 
- *  intercept or make additional variables available to your theme, and create custom PHP logic.
- *  For more information, please visit the Theme Developer's Guide on Drupal.org:
- *  http://drupal.org/node/509
+ * The template.php file is one of the most useful files when creating or
+ * modifying Drupal themes. You can add new regions for block content, modify or
+ * override Drupal's theme functions, intercept or make additional variables
+ * available to your theme, and create custom PHP logic. For more information,
+ * please visit the Theme Developer's Guide on Drupal.org:
+ * http://drupal.org/theme-guide
  */
 
-/*
- * MODIFYING OR CREATING REGIONS
- *
- * Regions are areas in your theme where you can place blocks.
- * The default regions used in themes  are "left sidebar", "right sidebar", "header", and "footer",  although you can create
- * as many regions as you want.  Once declared, they are made available to the page.tpl.php file as a variable.  
- * For instance, use <?php print $header ?> for the placement of the "header" region in page.tpl.php.
- * 
- * By going to  the administer > site building > blocks page you can choose which regions various blocks should be placed.
- * New regions you define here will automatically show up in the drop-down list by their human readable name.
- */
-/*
+
+/**
  * Declare the available regions implemented by this engine.
  *
+ * Regions are areas in your theme where you can place blocks. The default
+ * regions used in themes are "left sidebar", "right sidebar", "header", and
+ * "footer", although you can create as many regions as you want. Once declared,
+ * they are made available to the page.tpl.php file as a variable. For instance,
+ * use <?php print $header ?> for the placement of the "header" region in
+ * page.tpl.php.
+ *
+ * By going to the administer > site building > blocks page you can choose
+ * which regions various blocks should be placed. New regions you define here
+ * will automatically show up in the drop-down list by their human readable name.
+ *
  * @return
- *    An array of regions.  The first array element will be used as the default region for themes.
- *    Each array element takes the format: variable_name => t('human readable name')
+ *   An array of regions. The first array element will be used as the default
+ *   region for themes. Each array element takes the format:
+ *   variable_name => t('human readable name')
  */
 function zen_regions() {
+  // Allow a sub-theme to add/alter variables
+  global $theme_key;
+  if ($theme_key != 'zen') {
+    $function = str_replace('-', '_', $theme_key) .'_regions';
+    if (function_exists($function)) {
+      return call_user_func($function);
+    }
+  }
+
   return array(
        'left' => t('left sidebar'),
        'right' => t('right sidebar'),
        'content_top' => t('content top'),
        'content_bottom' => t('content bottom'),
        'header' => t('header'),
-       'footer' => t('footer')
+       'footer' => t('footer'),
   );
-} 
+}
+
 
 /*
  * OVERRIDING THEME FUNCTIONS
  *
- *  The Drupal theme system uses special theme functions to generate HTML output automatically.
- *  Often we wish to customize this HTML output.  To do this, we have to override the theme function.
- *  You have to first find the theme function that generates the output, and then "catch" it and modify it here.
- *  The easiest way to do it is to copy the original function in its entirety and paste it here, changing
- *  the prefix from theme_ to zen_.  For example:
+ * The Drupal theme system uses special theme functions to generate HTML output
+ * automatically. Often we wish to customize this HTML output. To do this, we
+ * have to override the theme function. You have to first find the theme
+ * function that generates the output, and then "catch" it and modify it here.
+ * The easiest way to do it is to copy the original function in its entirety and
+ * paste it here, changing the prefix from theme_ to zen_. For example:
  *
- *   original:  theme_breadcrumb() 
- *   theme override:   zen_breadcrumb()
+ *   original: theme_breadcrumb()
+ *   theme override: zen_breadcrumb()
  *
- *  See the following example. In this theme, we want to change all of the breadcrumb separator links from  >> to ::
+ * See the following example. In this theme, we want to change all of the
+ * breadcrumb separator links from >> to ::
+ */
+
+
+/**
+ * Return a themed breadcrumb trail.
  *
+ * @param $breadcrumb
+ *   An array containing the breadcrumb links.
+ * @return
+ *   A string containing the breadcrumb output.
  */
+function zen_breadcrumb($breadcrumb) {
+  if (!empty($breadcrumb)) {
+    return '<div class="breadcrumb">'. implode(' :: ', $breadcrumb) .'</div>';
+  }
+}
+
 
- /**
-  * Return a themed breadcrumb trail.
-  *
-  * @param $breadcrumb
-  *   An array containing the breadcrumb links.
-  * @return a string containing the breadcrumb output.
-  */
- function zen_breadcrumb($breadcrumb) {
-   if (!empty($breadcrumb)) {
-     return '<div class="breadcrumb">'. implode(' :: ', $breadcrumb) .'</div>';
-   }
- }
-/* 
+/*
  * CREATE OR MODIFY VARIABLES FOR YOUR THEME
  *
- *  The most powerful function available to themers is the _phptemplate_variables() function. It allows you
- *  to pass newly created variables to different template (tpl.php) files in your theme. Or even unset ones you don't want
- *  to use.
- *
- *  It works by switching on the hook, or name of the theme function, such as:
- *    - page
- *    - node
- *    - comment
- *    - block
+ * The most powerful function available to themers is _phptemplate_variables().
+ * It allows you to pass newly created variables to different template (tpl.php)
+ * files in your theme. Or even unset ones you don't want to use.
  *
- * By switching on this hook you can send different variables to page.tpl.php file, node.tpl.php
- * (and any other derivative node template file, like node-forum.tpl.php), comment.tpl.php, and block.tpl.php
+ * It works by switching on the hook, or name of the theme function, such as:
+ *   - page
+ *   - node
+ *   - comment
+ *   - block
  *
+ * By switching on this hook you can send different variables to page.tpl.php
+ * file, node.tpl.php (and any other derivative node template file, like
+ * node-forum.tpl.php), comment.tpl.php, and block.tpl.php.
  */
 
+
 /**
  * Intercept template variables
  *
@@ -105,96 +116,303 @@ function zen_regions() {
  * @param $vars
  *   A sequential array of variables passed to the theme function.
  */
-
 function _phptemplate_variables($hook, $vars = array()) {
+  // Get the currently logged in user
+  global $user;
+
+  // Set a new $is_admin variable. This is determined by looking at the
+  // currently logged in user and seeing if they are in the role 'admin'. The
+  // 'admin' role will need to have been created manually for this to work this
+  // variable is available to all templates.
+  $vars['is_admin'] = in_array('admin', $user->roles);
+
   switch ($hook) {
-    // Send a new variable, $logged_in, to page.tpl.php to tell us if the current user is logged in or out.
     case 'page':
-      // get the currently logged in user
-      global $user;
-      
-      // An anonymous user has a user id of zero.      
-      if ($user->uid > 0) {
-        // The user is logged in.
-        $vars['logged_in'] = TRUE;
-      }
-      else {
-        // The user has logged out.
-        $vars['logged_in'] = FALSE;
+      global $theme, $theme_key;
+
+      // If we're in the main theme
+      if ($theme == $theme_key) {
+        // These next lines add additional CSS files and redefine
+        // the $css and $styles variables available to your page template
+        // We had previously used @import declarations in the css files,
+        // but these are incompatible with the CSS caching in Drupal 5
+        drupal_add_css($vars['directory'] .'/layout.css', 'theme', 'all');
+        drupal_add_css($vars['directory'] .'/tabs.css', 'theme', 'all');
+        $vars['css'] = drupal_add_css($vars['directory'] .'/print.css', 'theme', 'print');
+        $vars['styles'] = drupal_get_css();
       }
-      
+
+      // Send a new variable, $logged_in, to page.tpl.php to tell us if the
+      // current user is logged in or out. An anonymous user has a user id of 0.
+      $vars['logged_in'] = ($user->uid > 0) ? TRUE : FALSE;
+
+      // Classes for body element. Allows advanced theming based on context
+      // (home page, node of certain type, etc.)
       $body_classes = array();
-      // classes for body element
-      // allows advanced theming based on context (home page, node of certain type, etc.)
       $body_classes[] = ($vars['is_front']) ? 'front' : 'not-front';
       $body_classes[] = ($vars['logged_in']) ? 'logged-in' : 'not-logged-in';
       if ($vars['node']->type) {
-        $body_classes[] = 'ntype-'. zen_id_safe($vars['node']->type);
-      }
-      switch (TRUE) {
-       case $vars['sidebar_left'] && $vars['sidebar_right'] :
-               $body_classes[] = 'both-sidebars';
-               break;
-       case $vars['sidebar_left'] :
-               $body_classes[] = 'sidebar-left';
-               break;
-       case $vars['sidebar_right'] :
-               $body_classes[] = 'sidebar-right';
-               break;
-      }
-      // implode with spaces
-      $vars['body_classes'] = implode(' ', $body_classes);
-      
+        // If on an individual node page, put the node type in the body classes
+        $body_classes[] = 'node-type-'. zen_id_safe($vars['node']->type);
+      }
+      if ($vars['sidebar_left'] && $vars['sidebar_right']) {
+        $body_classes[] = 'two-sidebars';
+      }
+      elseif ($vars['sidebar_left']) {
+        $body_classes[] = 'one-sidebar sidebar-left';
+      }
+      elseif ($vars['sidebar_right']) {
+        $body_classes[] = 'one-sidebar sidebar-right';
+      }
+      else {
+        $body_classes[] = 'no-sidebars';
+      }
+      $vars['body_classes'] = implode(' ', $body_classes); // implode with spaces
+
       break;
-      
+
     case 'node':
-      // get the currently logged in user
-      global $user;
+      if ($vars['submitted']) {
+        // We redefine the format for submitted.
+        $vars['submitted'] =
+          t('Posted <abbr class="created" title="!microdate">@date</abbr> by !username',
+            array(
+              '!username' => theme('username', $vars['node']),
+              '@date' => format_date($vars['node']->created,'custom', "F jS, Y"),
+              '!microdate' => format_date($vars['node']->created,'custom', "Y-m-d\TH:i:sO"),
+            )
+          );
+      }
+
+      // In this section you can also edit the following variables:
+      // $vars['links']
 
-      // set a new $is_admin variable
-      // this is determined by looking at the currently logged in user and seeing if they are in the role 'admin'
-      $vars['is_admin'] = in_array('admin', $user->roles);
-      
+      // Special classes for nodes
       $node_classes = array('node');
       if ($vars['sticky']) {
-       $node_classes[] = 'sticky';
+        $node_classes[] = 'sticky';
       }
       if (!$vars['node']->status) {
-       $node_classes[] = 'node-unpublished';
+        $node_classes[] = 'node-unpublished';
+      }
+      if ($vars['node']->uid && $vars['node']->uid == $user->uid) {
+        // Node is authored by current user
+        $node_classes[] = 'node-mine';
       }
-      $node_classes[] = 'ntype-'. zen_id_safe($vars['node']->type);
-      // implode with spaces
-      $vars['node_classes'] = implode(' ', $node_classes);
-      
+      // Class for node type: "node-type-page", "node-type-story", "node-type-my-custom-type", etc.
+      $node_classes[] = 'node-type-'. zen_id_safe($vars['node']->type);
+      $vars['node_classes'] = implode(' ', $node_classes); // implode with spaces
+
       break;
-      
+
     case 'comment':
-      // we load the node object that the current comment is attached to
+      // We load the node object that the current comment is attached to
       $node = node_load($vars['comment']->nid);
-      // if the author of this comment is equal to the author of the node, we set a variable
-      // then in our theme we can theme this comment differently to stand out
+      // If the author of this comment is equal to the author of the node, we
+      // set a variable so we can theme this comment uniquely.
       $vars['author_comment'] = $vars['comment']->uid == $node->uid ? TRUE : FALSE;
+
+      $comment_classes = array('comment');
+
+      // Odd/even handling
+      static $comment_odd = TRUE;
+      $comment_classes[] = $comment_odd ? 'odd' : 'even';
+      $comment_odd = !$comment_odd;
+
+      if ($vars['comment']->status == COMMENT_NOT_PUBLISHED) {
+        $comment_classes[] = 'comment-unpublished';
+      }
+      if ($vars['author_comment']) {
+        // Comment is by the node author
+        $comment_classes[] = 'comment-by-author';
+      }
+      if ($vars['comment']->uid == 0) {
+        // Comment is by an anonymous user
+        $comment_classes[] = 'comment-by-anon';
+      }
+      if ($user->uid && $vars['comment']->uid == $user->uid) {
+        // Comment was posted by current user
+        $comment_classes[] = 'comment-mine';
+      }
+      $vars['comment_classes'] = implode(' ', $comment_classes);
+
+      // If comment subjects are disabled, don't display 'em
+      if (variable_get('comment_subject_field', 1) == 0) {
+        $vars['title'] = '';
+      }
+
       break;
   }
-  
+
+  // Allow a sub-theme to add/alter variables
+  if (function_exists('zen_variables')) {
+    $vars = zen_variables($hook, $vars);
+  }
+
   return $vars;
 }
 
 /**
-* Converts a string to a suitable html ID attribute.
-* - Preceeds initial numeric with 'n' character.
-* - Replaces space and underscore with dash.
-* - Converts entire string to lowercase.
-* - Works for classes too!
-* 
-* @param string $string
-*  the string
-* @return
-*  the converted string
-*/
+ * Converts a string to a suitable html ID attribute.
+ *
+ * - Preceeds initial numeric with 'n' character.
+ * - Replaces space and underscore with dash.
+ * - Converts entire string to lowercase.
+ * - Works for classes too!
+ *
+ * @param string $string
+ *   The string
+ * @return
+ *   The converted string
+ */
 function zen_id_safe($string) {
   if (is_numeric($string{0})) {
+    // If the first character is numeric, add 'n' in front
     $string = 'n'. $string;
   }
   return strtolower(preg_replace('/[^a-zA-Z0-9-]+/', '-', $string));
-}
\ No newline at end of file
+}
+
+/*
+ * This bit allows the sub-theme to have its own template.php.
+ */
+if (path_to_subtheme()) {
+  // I'm being careful not to create variables in the global scope
+  if (file_exists(path_to_subtheme() .'/template.php')) {
+    include_once(path_to_subtheme() .'/template.php');
+  }
+}
+
+/*
+ * These next functions allow sub-themes to have their own page.tpl.php,
+ * node.tpl.php, node-type.tpl.php, etc.
+ */
+function _phptemplate_node($vars, $suggestions) {
+  array_unshift($suggestions, 'node'); // Not sure why I need to do this.
+  return _zen_default('node', $vars, $suggestions);
+}
+
+function _phptemplate_comment($vars, $suggestions) {
+  array_unshift($suggestions, 'comment'); // Not sure why I need to do this.
+  return _zen_default('comment', $vars, $suggestions);
+}
+
+function _phptemplate_page($vars, $suggestions) {
+  return _zen_default('page', $vars, $suggestions);
+}
+
+function _phptemplate_block($vars, $suggestions) {
+  return _zen_default('block', $vars, $suggestions);
+}
+
+function _phptemplate_box($vars, $suggestions) {
+  return _zen_default('box', $vars, $suggestions);
+}
+
+/**
+ * Return the path to the sub-theme directory or FALSE if there is no sub-theme.
+ */
+function path_to_subtheme() {
+  global $theme, $theme_key;
+  static $theme_path;
+  if (!isset($theme_path)) {
+    if ($theme != $theme_key) {
+      $themes = list_themes();
+      $theme_path = dirname($themes[$theme_key]->filename);
+    }
+    else {
+      $theme_path = FALSE;
+    }
+  }
+  return $theme_path;
+}
+
+/**
+ * This is an exact copy of _phptemplate_default() with the addition of the
+ * $theme_path and $parent_theme_path
+ */
+function _zen_default($hook, $variables, $suggestions = array(), $extension = '.tpl.php') {
+  global $theme_engine;
+  global $theme;
+  global $theme_key;
+
+  if ($theme_path = path_to_subtheme()) {
+    $parent_theme_path = path_to_theme();
+  }
+  else {
+    $theme_path = path_to_theme();
+  }
+
+  // Loop through any suggestions in FIFO order.
+  $suggestions = array_reverse($suggestions);
+  foreach ($suggestions as $suggestion) {
+    if (!empty($suggestion) && file_exists($theme_path .'/'. $suggestion . $extension)) {
+      $file = $theme_path .'/'. $suggestion . $extension;
+      break;
+    }
+    elseif (isset($parent_theme_path) && !empty($suggestion) && file_exists($parent_theme_path .'/'. $suggestion . $extension)) {
+      $file = $parent_theme_path .'/'. $suggestion . $extension;
+      break;
+    }
+  }
+
+  if (!isset($file)) {
+    if (file_exists($theme_path ."/$hook$extension")) {
+      $file = $theme_path ."/$hook$extension";
+    }
+    else {
+      if (in_array($hook, array('node', 'block', 'box', 'comment'))) {
+        $file = "themes/engines/$theme_engine/$hook$extension";
+      }
+      else {
+        $variables['hook'] = $hook;
+        watchdog('error', t('%engine.engine was instructed to override the %name theme function, but no valid template file was found.', array('%engine' => $theme_engine, '%name' => $hook)));
+        $file = "themes/engines/$theme_engine/default$extension";
+      }
+    }
+  }
+  if (isset($file)) {
+    return call_user_func('_'. $theme_engine .'_render', $file, $variables);
+  }
+}
+
+/**
+ * Generate the HTML representing a given menu item ID.
+ *
+ * An implementation of theme_menu_item_link()
+ *
+ * @param $item
+ *   array The menu item to render.
+ * @param $link_item
+ *   array The menu item which should be used to find the correct path.
+ * @return
+ *   string The rendered menu item.
+ */
+function phptemplate_menu_item_link($item, $link_item) {
+  $tab = ($item['type'] & MENU_IS_LOCAL_TASK) ? TRUE : FALSE;
+  return l(
+    $tab ? '<span class="tab">'. check_plain($item['title']) .'</span>' : $item['title'],
+    $link_item['path'],
+    !empty($item['description']) ? array('title' => $item['description']) : array(),
+    !empty($item['query']) ? $item['query'] : NULL,
+    !empty($link_item['fragment']) ? $link_item['fragment'] : NULL,
+    FALSE,
+    $tab
+  );
+}
+
+/**
+ * Returns the rendered local tasks (adds clear-block to tabs.)
+ */
+function phptemplate_menu_local_tasks() {
+  $output = '';
+
+  if ($primary = menu_primary_local_tasks()) {
+    $output .= '<ul class="tabs primary clear-block">'. $primary .'</ul>';
+  }
+  if ($secondary = menu_secondary_local_tasks()) {
+    $output .= '<ul class="tabs secondary clear-block">'. $secondary .'</ul>';
+  }
+
+  return $output;
+}
diff --git a/zen-fixed/screenshot.png b/zen-fixed/screenshot.png
deleted file mode 100644 (file)
index 09b570d..0000000
Binary files a/zen-fixed/screenshot.png and /dev/null differ
diff --git a/zen-fixed/style.css b/zen-fixed/style.css
deleted file mode 100644 (file)
index dc24ee3..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-@CHARSET "UTF-8";
-
-/**
-*   Zen Fixed
-*
-*   Provides CSS to make a fixed width version of the theme.
-*   $Id$
-*
-*/
-
-/* We need to grab the CSS files from the directory above*/
-@import "../layout.css";
-@import "../icons.css";
-@import "../style.css";
-
-body {
-  min-width: 800px;
-}
-
-#page {
-  width: 800px;              /* page width - optional */
-  margin: 10px auto;            /* center the page - optional */
-}
-
-#logo-title {
-  margin: 10px 0 0 0;
-}
\ No newline at end of file
similarity index 59%
rename from icons.css
rename to zen_classic/icons.css
index a01f50e..7f12807 100644 (file)
--- a/icons.css
@@ -1,22 +1,22 @@
-/*   $Id$ */
+/* $Id$ */
 
-/**
-*   ICON STYLES 
-*
-*  Puts all the references to icon images in one place.
-*/
+/*
+ * ICON STYLES
+ *
+ * Puts all the references to icon images in one place.
+ */
 
 /* Leaf, collapsed, and expanded icons used for navigation*/
 .block li.leaf, ul.menu li.leaf {
-  list-style-image: url(images/menu-leaf.gif);
+  list-style-image: url(images/menu-leaf.png);
 }
 
 .block li.collapsed, ul.menu li.collapsed {
-  list-style-image: url(images/menu-collapsed.gif);
+  list-style-image: url(images/menu-collapsed.png);
 }
 
 .block li.expanded, ul.menu li.expanded {
-  list-style-image: url(images/menu-expanded.gif);
+  list-style-image: url(images/menu-expanded.png);
 }
 
 .block li a.active {
 }
 
 .block ul li {
-  list-style-image: url(images/blue_bullet.gif);
+  list-style-image: url(images/bullet.png);
 }
 
 /* Forum posts and recent blog posts */
 .block-forum ul li {
-  list-style-type:none;
+  list-style-type: none;
   list-style-image: none;
-  margin:0;
-  padding:5px 0px 5px 20px;
-  background-image: url(images/page_text.gif);
+  margin: 0;
+  padding: 5px 0 5px 20px;
+  background-image: url(images/page.png);
   background-repeat: no-repeat;
   background-position: 0 .5em;
 }
 
 .block-blog ul li {
-  list-style-type:none;
+  list-style-type: none;
   list-style-image: none;
-  margin:0;
-  padding:5px 0px 5px 20px;
+  margin: 0;
+  padding: 5px 0 5px 20px;
   background-image: url(images/blog.png);
   background-repeat: no-repeat;
   background-position: 0 .7em;
 
 /* Who's new & Who's online*/
 #block-user-2 ul li, #block-user-3 ul li {
-  list-style-type:none;
+  list-style-type: none;
   list-style-image: none;
-  margin:0;
-  padding:5px 0px 5px 20px;
-  background-image: url(images/icon_user.gif);
+  margin: 0;
+  padding: 5px 0 5px 20px;
+  background-image: url(images/user.png);
   background-repeat: no-repeat;
   background-position: 0 .5em;
 }
 
 /* Status and Error icons */
 div.status {
-  background-image: url(images/dialog-information_i.gif);
+  background-image: url(images/dialog-information.png);
   background-repeat: no-repeat;
   background-position: .5em 50%;
 }
 
 div.error {
-  background-image: url(images/dialog-warning.gif);
+  background-image: url(images/dialog-warning.png);
   background-repeat: no-repeat;
   background-position: .5em 50%;
 }
 
 /* Node links such as add comments, User's blog, etc */
 #main .node div.links {
-  padding:5px 0px 5px 13px;
-  background: url(images/links.gif) no-repeat 0 .93em;
+  padding: 5px 0 5px 13px;
+  background: url(images/links.png) no-repeat 0 .93em;
 }
 
 /* Administration panel */
similarity index 100%
rename from images/blog.png
rename to zen_classic/images/blog.png
diff --git a/zen_classic/images/bullet.png b/zen_classic/images/bullet.png
new file mode 100644 (file)
index 0000000..26ec757
Binary files /dev/null and b/zen_classic/images/bullet.png differ
diff --git a/zen_classic/images/cog.png b/zen_classic/images/cog.png
new file mode 100644 (file)
index 0000000..a8ebe53
Binary files /dev/null and b/zen_classic/images/cog.png differ
diff --git a/zen_classic/images/dialog-information.png b/zen_classic/images/dialog-information.png
new file mode 100644 (file)
index 0000000..b64f025
Binary files /dev/null and b/zen_classic/images/dialog-information.png differ
diff --git a/zen_classic/images/dialog-warning.png b/zen_classic/images/dialog-warning.png
new file mode 100644 (file)
index 0000000..531d28e
Binary files /dev/null and b/zen_classic/images/dialog-warning.png differ
diff --git a/zen_classic/images/links.png b/zen_classic/images/links.png
new file mode 100644 (file)
index 0000000..bd02ff9
Binary files /dev/null and b/zen_classic/images/links.png differ
diff --git a/zen_classic/images/menu-collapsed.png b/zen_classic/images/menu-collapsed.png
new file mode 100644 (file)
index 0000000..a6ad5b7
Binary files /dev/null and b/zen_classic/images/menu-collapsed.png differ
diff --git a/zen_classic/images/menu-expanded.png b/zen_classic/images/menu-expanded.png
new file mode 100644 (file)
index 0000000..6cbd44c
Binary files /dev/null and b/zen_classic/images/menu-expanded.png differ
diff --git a/zen_classic/images/menu-leaf.png b/zen_classic/images/menu-leaf.png
new file mode 100644 (file)
index 0000000..29b1999
Binary files /dev/null and b/zen_classic/images/menu-leaf.png differ
diff --git a/zen_classic/images/page.png b/zen_classic/images/page.png
new file mode 100644 (file)
index 0000000..f823350
Binary files /dev/null and b/zen_classic/images/page.png differ
diff --git a/zen_classic/images/tabs.png b/zen_classic/images/tabs.png
new file mode 100644 (file)
index 0000000..ffe6990
Binary files /dev/null and b/zen_classic/images/tabs.png differ
diff --git a/zen_classic/images/unpublished.png b/zen_classic/images/unpublished.png
new file mode 100644 (file)
index 0000000..a3cdbb5
Binary files /dev/null and b/zen_classic/images/unpublished.png differ
diff --git a/zen_classic/images/user.png b/zen_classic/images/user.png
new file mode 100644 (file)
index 0000000..0d80d8e
Binary files /dev/null and b/zen_classic/images/user.png differ
similarity index 100%
rename from zen-fixed/logo.png
rename to zen_classic/logo.png
diff --git a/zen_classic/page.tpl.php b/zen_classic/page.tpl.php
new file mode 100644 (file)
index 0000000..bfdece0
--- /dev/null
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language ?>" xml:lang="<?php print $language ?>">
+
+<head>
+  <title><?php print $head_title; ?></title>
+  <?php print $head; ?>
+  <?php print $styles; ?>
+  <!--[if IE]>
+    <link rel="stylesheet" href="<?php print $base_path . $directory ?>/ie.css" type="text/css">
+    <?php if ($subtheme_directory && file_exists($subtheme_directory .'/ie.css')): ?>
+      <link rel="stylesheet" href="<?php print $base_path . $subtheme_directory ?>/ie.css" type="text/css">
+    <?php endif; ?>
+  <![endif]-->
+  <?php print $scripts; ?>
+</head>
+
+<?php /* different classes allow for separate theming of the home page */ ?>
+<body class="<?php print $body_classes; ?>">
+  <div id="page">
+    <div id="header">
+
+      <div id="skip-nav"><a href="#content"><?php print t('Skip to Main Content'); ?></a></div>
+
+      <div id="logo-title">
+
+        <?php print $search_box; ?>
+        <?php if (!empty($logo)): ?>
+          <a href="<?php print $base_path; ?>" title="<?php print t('Home'); ?>" rel="home">
+            <img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" id="logo" />
+          </a>
+        <?php endif; ?>
+
+        <div id="name-and-slogan">
+
+        <?php if (!empty($site_name)): ?>
+          <div id='site-name'><strong>
+            <a href="<?php print $base_path ?>" title="<?php print t('Home'); ?>" rel="home">
+              <?php print $site_name; ?>
+            </a>
+          </strong></div>
+        <?php endif; ?>
+
+        <?php if (!empty($site_slogan)): ?>
+          <div id='site-slogan'>
+            <?php print $site_slogan; ?>
+          </div>
+        <?php endif; ?>
+
+        </div> <!-- /name-and-slogan -->
+
+      </div> <!-- /logo-title -->
+
+      <div id="navigation" class="menu<?php if ($primary_links) { print " withprimary"; } if ($secondary_links) { print " withsecondary"; } ?> ">
+        <?php if (!empty($primary_links)): ?>
+          <div id="primary" class="clear-block">
+            <?php print theme('links', $primary_links); ?>
+          </div>
+        <?php endif; ?>
+
+        <?php if (!empty($secondary_links)): ?>
+          <div id="secondary" class="clear-block">
+            <?php print theme('links', $secondary_links); ?>
+          </div>
+        <?php endif; ?>
+      </div> <!-- /navigation -->
+
+      <?php if (!empty($header) || !empty($breadcrumb)): ?>
+        <div id="header-region">
+          <?php print $breadcrumb; ?>
+          <?php print $header; ?>
+        </div> <!-- /header-region -->
+      <?php endif; ?>
+
+    </div> <!-- /header -->
+
+    <div id="container" class="clear-block">
+
+      <?php if (!empty($sidebar_left)): ?>
+        <div id="sidebar-left" class="column sidebar">
+          <?php print $sidebar_left; ?>
+        </div> <!-- /sidebar-left -->
+      <?php endif; ?>
+
+      <div id="main" class="column"><div id="squeeze" class="clear-block">
+        <?php if (!empty($mission)): ?>
+          <div id="mission"><?php print $mission; ?></div>
+        <?php endif; ?>
+        <?php if (!empty($content_top)):?>
+          <div id="content-top"><?php print $content_top; ?></div>
+        <?php endif; ?>
+        <div id="content">
+          <?php if (!empty($title)): ?>
+            <h1 class="title"><?php print $title; ?></h1>
+          <?php endif; ?>
+          <?php if (!empty($tabs)): ?>
+            <div class="tabs"><?php print $tabs; ?></div>
+          <?php endif; ?>
+          <?php print $help; ?>
+          <?php print $messages; ?>
+          <?php print $content; ?>
+          <?php if (!empty($feed_icons)): ?>
+            <div class="feed-icons"><?php print $feed_icons; ?></div>
+          <?php endif; ?>
+        </div> <!-- /content -->
+        <?php if (!empty($content_bottom)): ?>
+          <div id="content-bottom"><?php print $content_bottom; ?></div>
+        <?php endif; ?>
+      </div></div> <!-- /squeeze /main -->
+
+      <?php if (!empty($sidebar_right)): ?>
+        <div id="sidebar-right" class="column sidebar">
+          <?php print $sidebar_right; ?>
+        </div> <!-- /sidebar-right -->
+      <?php endif; ?>
+
+    </div> <!-- /container -->
+
+    <div id="footer-wrapper">
+      <div id="footer">
+        <?php print $footer_message; ?>
+      </div> <!-- /footer -->
+    </div> <!-- /footer-wrapper -->
+
+    <?php print $closure; ?>
+
+  </div> <!-- /page -->
+
+</body>
+</html>
\ No newline at end of file
diff --git a/zen_classic/screenshot-drupal.org.png b/zen_classic/screenshot-drupal.org.png
new file mode 100644 (file)
index 0000000..64df655
Binary files /dev/null and b/zen_classic/screenshot-drupal.org.png differ
diff --git a/zen_classic/screenshot.large.png b/zen_classic/screenshot.large.png
new file mode 100644 (file)
index 0000000..8d9af92
Binary files /dev/null and b/zen_classic/screenshot.large.png differ
diff --git a/zen_classic/screenshot.png b/zen_classic/screenshot.png
new file mode 100644 (file)
index 0000000..6d54b54
Binary files /dev/null and b/zen_classic/screenshot.png differ
diff --git a/zen_classic/style.css b/zen_classic/style.css
new file mode 100644 (file)
index 0000000..ab6b423
--- /dev/null
@@ -0,0 +1,11 @@
+/* $Id$ */
+
+/*
+ * Zen CSS
+ *
+ * This space intentionally left blank.
+ *
+ * See zen-classic.css for the main styles for this theme
+ *
+ * See template.php to see how Zen styles are added to the page.
+ */
diff --git a/zen_classic/template.php b/zen_classic/template.php
new file mode 100644 (file)
index 0000000..01f82d9
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ *
+ * The Zen theme allows its sub-themes to have their own template.php files. The
+ * only restriction with these files is that they cannot redefine any of the
+ * functions that are already defined in Zen's main template.php file.
+ *
+ * Also remember that the "main" theme is still Zen, so your theme functions
+ * should be named as such:
+ *  theme_block()  becomes  zen_block()
+ *  theme_feed_icon() becomes zen_feed_icon() as well
+ *
+ * For a sub-theme to define its own regions, use the function name
+ *   THEMENAME_regions()
+ * where THEMENAME is replaced with the name of your sub-theme (with dashes
+ * replaced with underscores). For example, the zen_classic theme would define
+ * a zen_classic_regions() function.
+ *
+ * For a sub-theme to add its own variables, use the function name
+ *   zen_variables($hook, $vars)
+ */
+
+
+/*
+ * Sub-themes with their own page.tpl.php files are seen by PHPTemplate as their
+ * own theme (seperate from Zen). So we need to re-connect those sub-themes
+ * with the main Zen theme.
+ */
+include_once 'zen-subtheme.php';
+
+
+/*
+ * Initialize theme settings
+ */
+include 'theme-settings-init.php';
+
+
+/**
+ * Intercept 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 zen_variables($hook, $vars) {
+  $vars['subtheme_directory'] = path_to_subtheme();
+
+  switch ($hook) {
+    case 'page':
+      // Add main Zen styles.
+      drupal_add_css($vars['directory'] .'/layout.css', 'theme', 'all');
+      drupal_add_css($vars['directory'] .'/tabs.css', 'theme', 'all');
+      drupal_add_css($vars['directory'] .'/print.css', 'theme', 'print');
+      // Then add styles for this sub-theme.
+      drupal_add_css($vars['subtheme_directory'] .'/zen-classic.css', 'theme', 'all');
+      drupal_add_css($vars['subtheme_directory'] .'/icons.css', 'theme', 'all');
+      // Optionally add the fixed width CSS file.
+      if (theme_get_setting('zen_classic_fixed')) {
+        drupal_add_css($vars['subtheme_directory'] .'/zen-fixed.css', 'theme', 'all');
+      }
+      $vars['css'] = drupal_add_css();
+      $vars['styles'] = drupal_get_css();
+  }
+  return $vars;
+}
diff --git a/zen_classic/theme-settings-init.php b/zen_classic/theme-settings-init.php
new file mode 100644 (file)
index 0000000..cfb5ef2
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+// $Id$
+
+if (is_null(theme_get_setting('zen_classic_fixed'))) {
+  global $theme_key;
+  // Save default theme settings
+  $defaults = array(
+    'zen_classic_fixed' => 0,
+  );
+  variable_set(
+    str_replace('/', '_', 'theme_'. $theme_key .'_settings'),
+    array_merge($defaults, theme_get_settings($theme_key))
+  );
+  // Force refresh of Drupal internals
+  theme_get_setting('', TRUE);
+}
diff --git a/zen_classic/theme-settings.php b/zen_classic/theme-settings.php
new file mode 100644 (file)
index 0000000..3c11593
--- /dev/null
@@ -0,0 +1,34 @@
+<?php
+// $Id$
+
+/**
+ * Implementation of THEMEHOOK_settings() function.
+ *
+ * @param $saved_settings
+ *   array An array of saved settings for this theme.
+ * @return
+ *   array A form array.
+ */
+function phptemplate_settings($saved_settings) {
+
+  // The default values for the theme variables
+  $defaults = array(
+    'zen_classic_fixed' => 0,
+  );
+
+  // Merge the saved variables and their default values
+  $settings = array_merge($defaults, $saved_settings);
+
+  /*
+   * Create the form using Form API
+   */
+  $form['zen_classic_fixed'] = array(
+    '#type'          => 'checkbox',
+    '#title'         => t('Use fixed width for theme'),
+    '#default_value' => $settings['zen_classic_fixed'],
+    '#description'   => 'The theme should be centered and fixed at 960 pixels wide.',
+  );
+
+  // Return the form
+  return $form;
+}
diff --git a/zen_classic/zen-classic.css b/zen_classic/zen-classic.css
new file mode 100644 (file)
index 0000000..3456556
--- /dev/null
@@ -0,0 +1,690 @@
+/* $Id$ */
+
+/*
+ * FONT STYLES
+ *
+ * Standardize font sizes and line-height across browsers
+ */
+
+body {
+  font: 13px Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
+}
+/* IE 5 and 6 can't resize text that is specified in pixels. */
+* html body {
+  font-size: x-small; /* IE5 will get this value */
+  f\ont-size: small; /* IE6 will get this value */
+}
+
+table {
+  font-size: 100%; /* Forces font size inheritance in IE5 */
+  f\ont-size: inherit;
+}
+select, input, textarea {
+  font: 99% Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
+}
+pre, code {
+  font: 115% "Bitstream Vera Sans Mono", "Courier New", monospace;
+}
+
+table tr.odd {
+  background: #ddd;
+}
+
+tr, td {
+  padding: .25em;
+}
+
+td.icon {
+  text-align: center;
+}
+
+
+/*
+ * LAYOUT STYLES
+ *
+ * Styles pertaining to minor layout adjustments, such as
+ * changing from fluid width to fixed width.
+ * See layout.css for major adjustments.
+ */
+body {
+  margin: 0;
+  padding: 0;
+  min-width: 700px;
+  /* 2x (left-side fullwidth + main padding) + right-side fullwidth */
+}
+
+#page {
+  /*width: 900px;  */             /* page width - optional */
+  /*margin: 0 auto;   */          /* center the page - optional */
+  /*border-left: 2px solid #AAA;*/
+  /*border-right: 2px solid #AAA;*/
+}
+
+
+/*
+ * OTHER STYLES
+ *
+ * Styles that are specific to this theme.
+ */
+
+/* Common styles */
+body {
+  background: #fff;
+}
+
+#page {
+  font-family: Verdana, "Bitstream Vera Sans", Arial, Helvetica, sans-serif;
+  color: #111;
+  line-height: 1.5em;
+  background-color: #fff;
+}
+
+#container {
+  margin: 0 10px 10px 10px;
+}
+
+#main .node .content{
+  color: #333;
+}
+
+div.content, div.links {
+  font-size: 92%;
+}
+
+a, a:link, a:visited {
+  color: #2763A5;
+  text-decoration: none;
+}
+
+a:hover, a:focus {
+  color: #6191C5;
+  text-decoration: underline;
+}
+
+a:active, a.active {
+  color: #89A3E4;
+}
+
+h1.title {
+  font-size: 200%;
+}
+
+h1.title, h1.title a, h1.title a:hover {
+  font-family: "Trebuchet MS", "Bitstream Vera Sans", Verdana, Arial, Helvetica, sans-serif;
+  font-weight: normal;
+  color: #6191C5;
+  margin: 0;
+  margin-bottom: 0;
+  line-height: normal;
+}
+
+h1 {
+  font-size: 140%;
+}
+
+h1, h1 a, h1 a:hover {
+  color: #444;
+  font-family: Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
+  margin: .5em 0 .5em 0;
+}
+
+h2, .block h3 {
+  font-size: 122%;
+}
+
+h2, h2 a, h2 a:hover, .block h3, .block h3 a {
+  color: #444;
+  font-family: Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
+  margin: .5em 0 .5em 0;
+}
+
+h3 {
+  font-size: 107%;
+  font-weight: bold;
+  font-family: Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
+}
+
+h4, h5, h6 {
+  font-weight: bold;
+  font-family: Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
+}
+
+p, .book .body {
+  padding: 0 0 0.5em 0;
+  margin: 0;
+}
+
+pre {
+  background: #ddd;
+  border: 1px solid #aaa;
+  padding: 0.75em 1.5em;
+}
+
+blockquote {
+  border: 1px #ccc solid;
+  margin: 0.5em 1em;
+  padding: 0.3em;
+  font-style: italic;
+}
+
+img {
+  border: 0;
+}
+
+ol, ul, dl {
+  position: relative;
+}
+
+abbr.created {
+  border-bottom: none;
+  text-decoration: none;
+}
+
+/* Header styles */
+
+#logo-title {
+  margin: 10px 20px 0 20px;
+  position: relative;
+}
+
+#logo{
+  vertical-align: baseline;
+}
+
+#name-and-slogan {
+  display: inline;
+}
+
+#site-name {
+  margin: 0;
+  display: inline;
+  font-size: 246%;
+}
+
+#site-name a, #site-name a:hover {
+  font-family: "Trebuchet MS", "Bitstream Vera Sans", Verdana, Arial, Helvetica, sans-serif;
+  font-weight: normal;
+  color: #6DA6E2;
+  margin: 0;
+  padding: 0;
+}
+
+#site-slogan {
+  color: #aaa;
+  margin: 0;
+  font-size: 85%;
+  margin-left: 20px;
+}
+
+
+#search {
+  position: absolute;
+  padding: 0;
+  top: 0;
+  right: 0;
+}
+
+#mission {
+  color: #666;
+  font-weight: bold;
+  padding: 2em;
+  background: #D7E3F0 url(images/background.png);
+  margin-bottom: 20px;
+  font-size: 85%;
+  border: solid 1px #B5C9D8;
+}
+
+.breadcrumb {
+  margin: 0;
+  padding: 0;
+  font-size: 85%;
+  margin-left: 20px;
+}
+
+/* "Skip to Main Content" link
+ *
+ * This link useful for both blind people and people with mobility impairments
+ * who cannot use a mouse.
+ */
+
+#skip-nav {
+  margin: 0 !important;
+  padding-left: 20px;
+  font-size: 0.8em;
+  line-height: 1;
+}
+#skip-nav a {
+  padding: 1px 10px;
+}
+#skip-nav a:link, #skip-nav a:visited {
+  color: #ffffff; /* same as background color */
+}
+#skip-nav a:hover, #skip-nav a:active, #skip-nav a:focus {
+  color: #ffffff;
+  background: #2763A5;
+  text-decoration: none;
+}
+/* Alternatively, the skip-nav link can be completely hidden until a user tabs
+   to the link. Un-comment the following CSS to use this technique. */
+/*
+#skip-nav a, #skip-nav a:hover, #skip-nav a:visited {
+  position: absolute;
+  left: 0;
+  top: -500px;
+  width: 1px;
+  height: 1px;
+  overflow: hidden;
+}
+#skip-nav a:active, #skip-nav a:focus {
+  position: static;
+  width: auto;
+  height: auto;
+}
+#logo-title {
+  margin: 10px 20px 0 20px;
+}
+*/
+
+/* Menu styles */
+div.menu {
+  margin-top: 15px;
+}
+
+#primary {
+  font-size: 85%;
+  line-height: normal;
+  padding: 0 0 1px 20px;
+  border-bottom: 4px solid #2763A5;
+}
+
+#primary ul {
+  padding: 0;
+  margin: 0;
+  list-style: none;
+}
+
+#primary ul.links li,
+#secondary ul.links li {
+  display: inline;
+  border-left: none;
+  margin: 0;
+  padding: 0;
+}
+
+#primary a {
+  background: #6DA6E2 url(images/tabs.png) repeat-x;
+  color: #FFF;
+  font-weight: bold;
+  display: block;
+  float: left;
+  padding: 5px 14px 5px 14px;
+  margin: 0 1px 0 0;
+  border: solid #6191C5 1px;
+  border-width: 1px 1px 0 1px;
+}
+
+#primary a {
+  background-position: 0% 0;
+}
+
+#primary a:hover {
+  background-position: 0% -42px;
+  text-decoration: none;
+}
+
+#primary a.active {
+  background-position: 0% -84px;
+}
+
+#secondary {
+  padding-left: 20px;
+  background: #6DA6E2; /*#347FD2;*/
+  border-bottom: solid #2763A5 4px;
+}
+#secondary ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+
+#secondary li a {
+  float: left;
+  display: block;
+  color: #fff;
+  font-size: 85%;
+  text-decoration: none;
+  padding: 0 5px 0 5px;
+}
+
+#secondary a:hover {
+  background: #2763A5;
+}
+
+#secondary a.active {
+  font-weight: bold;
+}
+
+/* Link styles */
+ul.links {
+  text-align: left;
+}
+
+ul.links li {
+  border-left: 1px solid #9cf;
+}
+
+.taxonomy {
+  margin: 0;
+  padding: 0;
+  display: inline;
+}
+
+.taxonomy ul.links li {
+  border: none;
+  padding: 0 .1em 0 .2em;
+}
+
+.taxonomy ul.links li:after {
+  content: ",";
+}
+
+.taxonomy ul.links li.last:after {
+  content: "";
+}
+
+ul.links li.first {
+  padding-left: 0;
+  border: none;
+}
+
+.links {
+  color: #999;
+}
+.links a {
+  padding: 0 .1em 0 .1em;
+}
+
+.submitted, .taxonomy {
+  font-size: 85%;
+  color: #999;
+}
+
+/* Form styles */
+input, textarea, textfield {
+  margin: 0;
+  color: #000;
+  font-family: Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
+  padding: 1px;
+  font-size: 100%;
+}
+
+fieldset {
+  border: solid #ccc 1px;
+}
+
+input.form-checkbox, input.form-radio {
+  border: none;
+}
+
+#search .form-text, #user-login-form .form-text {
+  color: #444;
+  border: 1px solid #6191C5;
+  padding: 2px;
+}
+
+.form-submit, .button {
+  padding: 1px;
+}
+
+#search .button,
+#search .form-submit,
+#user-login-form .button,
+#user-login-form .form-submit {
+  background-color: #68A0D9;
+  color: #fff;
+  font-weight: bold;
+  border: 1px solid #4070A1;
+}
+
+#user-login-form {
+  text-align: left;
+}
+
+#user-login-form .item-list ul {
+  margin-top: 10px;
+}
+
+/* Alerts, Status, Help Messages  */
+.messages {
+  min-height: 32px;                 /* icon height */
+  padding: 1.3em 1em .3em 52px;
+  border: 2px solid #ddd;
+  background: #eee;
+  margin: 10px 0;
+}
+
+div.error {
+  border: 2px solid #F00;
+}
+
+.messages ul {
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+
+/* Footer styles */
+#footer-wrapper {
+  margin: 0;
+  margin-top: 15px;
+}
+
+#footer {
+  background-color: #2763A5;
+  border: solid 1px #004969;
+  color: #FFFFFF;
+  text-align: center;
+  margin: 0;
+  font-size: 85%;
+  padding: 1em;
+}
+
+#footer a {
+  color: #fff;
+  font-weight: bold;
+  border-bottom: 1px dotted #FFFFFF;
+}
+
+#footer a:hover {
+  border-bottom: 1px solid #FFFFFF;
+}
+
+#footer img.drupal-powered {
+  position: relative;
+  top: .3em;
+}
+
+/* Administration styles */
+.admin-panel {
+  margin: 0;
+  padding: 0;
+}
+
+.admin-panel .body {
+  background-color: #eee;
+  border: solid #6191C5 1px;
+}
+
+.admin-panel .body dl, .admin-panel .body p {
+  padding: 10px;
+}
+
+.admin-panel h3 {
+  margin-bottom: 0;
+  padding: 5px 5px 5px 30px;
+  font-family: Verdana, "Bitstream Vera Sans", Arial, Helvetica, sans-serif;
+  font-size: 122%;
+  color: #fff;
+  border-width: 0 2px 2px 2px;
+}
+
+/* Comment styles */
+.comment {
+  margin: 0 0 10px 0;
+  padding: 10px;
+  background: #EBF2F8;
+}
+
+.comment-unpublished {
+  background-color: #FFF;
+  background-image: url(images/unpublished.png);
+  background-position: center 20px;
+  background-repeat: no-repeat;
+}
+
+.comment-by-author {
+  background: none;
+  border: 1px solid #6191C5;
+}
+
+.comment  h3.title {
+  font-size: 122%;
+}
+
+.comment  h3.title, .comment  h3.title a {
+  color: #2266AB;
+  font-weight: normal;
+  font-family: "Trebuchet MS", "Bitstream Vera Sans", Verdana, Arial, Helvetica, sans-serif;
+  margin-bottom: 3px;
+  margin-top: 0;
+}
+
+.comment .picture, .node .picture {
+  float: left;
+  margin-right: 15px;
+}
+
+.comment .new {
+  color: #FFC600;
+  font-weight: bold;
+  font-family: "Trebuchet MS", "Bitstream Vera Sans", Verdana, Arial, Helvetica, sans-serif;
+}
+
+.comment .links {
+  text-align: right;
+}
+
+/* Poll styles */
+.poll .bar .foreground {
+  background: #2763A5;
+}
+
+.poll .bar {
+  padding: 2px;
+  background: #BDCBDD;
+}
+
+/* Book styles */
+div.node div.content .book-navigation {
+  background: #eee;
+  margin: 0;
+  padding: 0;
+}
+
+div.node div.content .book-navigation ul.menu {
+  border: 0;
+  border-top: 1px solid #2763A5;
+  margin: 0;
+  padding-bottom: 10px;
+}
+
+div.node div.content .book-navigation .page-links {
+  background: #C1D4EA; /*#347FD2;*/
+  border: 1px solid #2763A5;
+  border-width: 1px 0 1px 0;
+  padding: 5px;
+  margin: 0;
+}
+
+/* Forum styles */
+#forum table {
+  width: 100%;
+}
+
+/* Pager styles */
+.pager {
+  text-align: center;
+  margin-top: 30px;
+}
+
+.pager  a, .pager-current {
+  padding: 3px 8px 3px 8px;
+  margin: 0 2px 0 2px;
+  color: #2763A5;
+  font-weight: bold;
+  border: solid 1px #eee;
+}
+
+.pager-current {
+  color: #fff;
+  background-color: #2763A5;
+}
+
+/* Node, Block, Content styles */
+.node {
+  margin-bottom: 15px;
+  padding-bottom: 15px;
+}
+
+.node-unpublished {
+  background-image: url(images/unpublished.png);
+  background-position: center 20px;
+  background-repeat: no-repeat;
+}
+
+.node h2.title {
+  margin-bottom: .1em;
+}
+
+.node h2.title a {
+  color: #555;
+  font-size: 129%;
+  font-weight: normal;
+  font-family: Verdana, Tahoma, Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
+  line-height: 1.4em;
+}
+
+.node .content {
+  padding-top: 10px;
+  padding-bottom: 5px;
+}
+
+.sticky {
+  border-bottom: solid 3px #ddd;
+}
+
+#sidebar-left .block, #sidebar-right .block {
+  border-bottom: solid #ddd 1px;
+  padding-bottom: 15px;
+  margin-bottom: 20px;
+}
+
+.block .item-list ul {
+  padding-left: 0;
+}
+
+/*
+ * Status report colors.
+ */
+table.system-status-report tr.error, table.system-status-report tr.error th {
+  background-color: #fcc;
+  border-color: #ebb;
+  color: #200;
+}
+table.system-status-report tr.warning, table.system-status-report tr.warning th {
+  background-color: #ffd;
+  border-color: #eeb;
+}
+table.system-status-report tr.ok, table.system-status-report tr.ok th {
+  background-color: #dfd;
+  border-color: #beb;
+}
diff --git a/zen_classic/zen-fixed.css b/zen_classic/zen-fixed.css
new file mode 100644 (file)
index 0000000..2d30896
--- /dev/null
@@ -0,0 +1,14 @@
+/* $Id$ */
+
+body {
+  min-width: 960px;
+}
+
+#page {
+  width: 960px;      /* page width  */
+  margin: 10px auto; /* center the page */
+}
+
+#logo-title {
+  margin: 10px 0 0 0;
+}
diff --git a/zen_classic/zen-subtheme.php b/zen_classic/zen-subtheme.php
new file mode 100644 (file)
index 0000000..7e78803
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+// $Id$
+
+/*
+ * If your sub-theme has its own page.tpl.php file, copy this file to your
+ * sub-theme's directory and include it using this line of code:
+ *
+ *   include_once('zen-subtheme.php');
+ *
+ * Sub-themes with their own page.tpl.php files are seen by PHPTemplate as their
+ * own theme (seperate from Zen). So we need to re-connect those sub-themes with
+ * the base Zen theme.
+ */
+global $theme, $theme_key;
+if ($theme != 'zen' && $theme == $theme_key) {
+
+  // Extract current files from database.
+  $themes = list_themes();
+
+  // Update database
+  $parent_path = $themes['zen']->filename;
+  $subtheme_path = str_replace('page.tpl.php', 'style.css', $themes[$theme]->filename);
+  db_query("UPDATE {system} SET description='%s', filename='%s' WHERE name='%s'", $parent_path, $subtheme_path, $theme);
+
+  // Refresh Drupal internals.
+  $theme = 'zen';
+  $themes = list_themes(TRUE);
+
+  $zen_path = dirname($parent_path);
+  if (file_exists($zen_path .'/template.php')) {
+    include_once($zen_path .'/template.php');
+  }
+}