summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.txt41
-rw-r--r--block.tpl.php17
-rw-r--r--box.tpl.php14
-rw-r--r--comment.tpl.php35
-rw-r--r--drupal5-reference.css987
-rw-r--r--ie.css52
-rw-r--r--images/blue_bullet.gifbin105 -> 0 bytes
-rw-r--r--images/cog.pngbin1114 -> 0 bytes
-rw-r--r--images/dialog-information_i.gifbin394 -> 0 bytes
-rw-r--r--images/dialog-warning.gifbin1209 -> 0 bytes
-rw-r--r--images/icon_user.gifbin246 -> 0 bytes
-rw-r--r--images/links.gifbin104 -> 0 bytes
-rw-r--r--images/menu-collapsed.gifbin104 -> 0 bytes
-rw-r--r--images/menu-expanded.gifbin102 -> 0 bytes
-rw-r--r--images/menu-leaf.gifbin104 -> 0 bytes
-rw-r--r--images/page_text.gifbin276 -> 0 bytes
-rw-r--r--images/tab-bar.pngbin0 -> 160 bytes
-rw-r--r--images/tab-left-ie6.pngbin0 -> 331 bytes
-rw-r--r--images/tab-left.pngbin0 -> 303 bytes
-rw-r--r--images/tab-right-ie6.pngbin0 -> 473 bytes
-rw-r--r--images/tab-right.pngbin0 -> 685 bytes
-rw-r--r--images/tab-secondary-bg.pngbin0 -> 166 bytes
-rw-r--r--images/tab-secondary.pngbin0 -> 195 bytes
-rw-r--r--images/tabs.gifbin3120 -> 0 bytes
-rw-r--r--layout.css75
-rw-r--r--node-forum.tpl.php19
-rw-r--r--node.tpl.php19
-rw-r--r--page.tpl.php122
-rw-r--r--print.css68
-rw-r--r--style.css634
-rw-r--r--tabs.css138
-rw-r--r--template.php466
-rw-r--r--zen-fixed/screenshot.pngbin8497 -> 0 bytes
-rw-r--r--zen-fixed/style.css27
-rw-r--r--zen_classic/favicon.ico (renamed from zen-fixed/favicon.ico)bin15086 -> 15086 bytes
-rw-r--r--zen_classic/icons.css (renamed from icons.css)50
-rw-r--r--zen_classic/images/background.png (renamed from images/background.png)bin243 -> 243 bytes
-rw-r--r--zen_classic/images/blog.png (renamed from images/blog.png)bin350 -> 350 bytes
-rw-r--r--zen_classic/images/bullet.pngbin0 -> 194 bytes
-rw-r--r--zen_classic/images/cog.pngbin0 -> 1235 bytes
-rw-r--r--zen_classic/images/dialog-information.pngbin0 -> 418 bytes
-rw-r--r--zen_classic/images/dialog-warning.pngbin0 -> 1129 bytes
-rw-r--r--zen_classic/images/links.pngbin0 -> 190 bytes
-rw-r--r--zen_classic/images/menu-collapsed.pngbin0 -> 205 bytes
-rw-r--r--zen_classic/images/menu-expanded.pngbin0 -> 202 bytes
-rw-r--r--zen_classic/images/menu-leaf.pngbin0 -> 188 bytes
-rw-r--r--zen_classic/images/page.pngbin0 -> 365 bytes
-rw-r--r--zen_classic/images/tabs.pngbin0 -> 878 bytes
-rw-r--r--zen_classic/images/unpublished.pngbin0 -> 1427 bytes
-rw-r--r--zen_classic/images/user.pngbin0 -> 339 bytes
-rw-r--r--zen_classic/logo.png (renamed from zen-fixed/logo.png)bin3427 -> 3427 bytes
-rw-r--r--zen_classic/page.tpl.php129
-rw-r--r--zen_classic/screenshot-drupal.org.pngbin0 -> 44017 bytes
-rw-r--r--zen_classic/screenshot.large.pngbin0 -> 63591 bytes
-rw-r--r--zen_classic/screenshot.pngbin0 -> 11076 bytes
-rw-r--r--zen_classic/style.css11
-rw-r--r--zen_classic/template.php69
-rw-r--r--zen_classic/theme-settings-init.php16
-rw-r--r--zen_classic/theme-settings.php34
-rw-r--r--zen_classic/zen-classic.css690
-rw-r--r--zen_classic/zen-fixed.css14
-rw-r--r--zen_classic/zen-subtheme.php33
62 files changed, 2834 insertions, 926 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
new file mode 100644
index 0000000..620f531
--- /dev/null
+++ b/CHANGELOG.txt
@@ -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.
diff --git a/block.tpl.php b/block.tpl.php
index b2dfa8a..e9e49da 100644
--- a/block.tpl.php
+++ b/block.tpl.php
@@ -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 -->
diff --git a/box.tpl.php b/box.tpl.php
index a66bd27..63088b0 100644
--- a/box.tpl.php
+++ b/box.tpl.php
@@ -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>
diff --git a/comment.tpl.php b/comment.tpl.php
index 974638b..75bc827 100644
--- a/comment.tpl.php
+++ b/comment.tpl.php
@@ -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
index 0000000..c9a3880
--- /dev/null
+++ b/drupal5-reference.css
@@ -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
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
index 9a90542..0000000
--- a/images/blue_bullet.gif
+++ /dev/null
Binary files differ
diff --git a/images/cog.png b/images/cog.png
deleted file mode 100644
index 81e1597..0000000
--- a/images/cog.png
+++ /dev/null
Binary files differ
diff --git a/images/dialog-information_i.gif b/images/dialog-information_i.gif
deleted file mode 100644
index ab90ccc..0000000
--- a/images/dialog-information_i.gif
+++ /dev/null
Binary files differ
diff --git a/images/dialog-warning.gif b/images/dialog-warning.gif
deleted file mode 100644
index 6f14786..0000000
--- a/images/dialog-warning.gif
+++ /dev/null
Binary files differ
diff --git a/images/icon_user.gif b/images/icon_user.gif
deleted file mode 100644
index dcb5c2a..0000000
--- a/images/icon_user.gif
+++ /dev/null
Binary files differ
diff --git a/images/links.gif b/images/links.gif
deleted file mode 100644
index bc28da8..0000000
--- a/images/links.gif
+++ /dev/null
Binary files differ
diff --git a/images/menu-collapsed.gif b/images/menu-collapsed.gif
deleted file mode 100644
index 4cd16b8..0000000
--- a/images/menu-collapsed.gif
+++ /dev/null
Binary files differ
diff --git a/images/menu-expanded.gif b/images/menu-expanded.gif
deleted file mode 100644
index 7438d23..0000000
--- a/images/menu-expanded.gif
+++ /dev/null
Binary files differ
diff --git a/images/menu-leaf.gif b/images/menu-leaf.gif
deleted file mode 100644
index 506c11c..0000000
--- a/images/menu-leaf.gif
+++ /dev/null
Binary files differ
diff --git a/images/page_text.gif b/images/page_text.gif
deleted file mode 100644
index c1132e4..0000000
--- a/images/page_text.gif
+++ /dev/null
Binary files differ
diff --git a/images/tab-bar.png b/images/tab-bar.png
new file mode 100644
index 0000000..0b380be
--- /dev/null
+++ b/images/tab-bar.png
Binary files differ
diff --git a/images/tab-left-ie6.png b/images/tab-left-ie6.png
new file mode 100644
index 0000000..5c512ae
--- /dev/null
+++ b/images/tab-left-ie6.png
Binary files differ
diff --git a/images/tab-left.png b/images/tab-left.png
new file mode 100644
index 0000000..dd925f7
--- /dev/null
+++ b/images/tab-left.png
Binary files differ
diff --git a/images/tab-right-ie6.png b/images/tab-right-ie6.png
new file mode 100644
index 0000000..1c00281
--- /dev/null
+++ b/images/tab-right-ie6.png
Binary files differ
diff --git a/images/tab-right.png b/images/tab-right.png
new file mode 100644
index 0000000..9ed9cb2
--- /dev/null
+++ b/images/tab-right.png
Binary files differ
diff --git a/images/tab-secondary-bg.png b/images/tab-secondary-bg.png
new file mode 100644
index 0000000..a5a617e
--- /dev/null
+++ b/images/tab-secondary-bg.png
Binary files differ
diff --git a/images/tab-secondary.png b/images/tab-secondary.png
new file mode 100644
index 0000000..bf4e8d2
--- /dev/null
+++ b/images/tab-secondary.png
Binary files differ
diff --git a/images/tabs.gif b/images/tabs.gif
deleted file mode 100644
index 28f0510..0000000
--- a/images/tabs.gif
+++ /dev/null
Binary files differ
diff --git a/layout.css b/layout.css
index ca6384d..cbe7b70 100644
--- a/layout.css
+++ b/layout.css
@@ -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;
-}
-
diff --git a/node-forum.tpl.php b/node-forum.tpl.php
index 82585d8..0952c34 100644
--- a/node-forum.tpl.php
+++ b/node-forum.tpl.php
@@ -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>
diff --git a/node.tpl.php b/node.tpl.php
index dbd2534..d002500 100644
--- a/node.tpl.php
+++ b/node.tpl.php
@@ -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>
diff --git a/page.tpl.php b/page.tpl.php
index 1fe7755..bfdece0 100644
--- a/page.tpl.php
+++ b/page.tpl.php
@@ -5,87 +5,109 @@
<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 -->
@@ -98,9 +120,9 @@
<?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
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;
+}
diff --git a/style.css b/style.css
index bbf94f1..7f4ba0a 100644
--- a/style.css
+++ b/style.css
@@ -1,623 +1,11 @@
-@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
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;
+}
diff --git a/template.php b/template.php
index be919cc..622d170 100644
--- a/template.php
+++ b/template.php
@@ -4,99 +4,110 @@
/**
* @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
index 09b570d..0000000
--- a/zen-fixed/screenshot.png
+++ /dev/null
Binary files differ
diff --git a/zen-fixed/style.css b/zen-fixed/style.css
deleted file mode 100644
index dc24ee3..0000000
--- a/zen-fixed/style.css
+++ /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
diff --git a/zen-fixed/favicon.ico b/zen_classic/favicon.ico
index 0f9909a..0f9909a 100644
--- a/zen-fixed/favicon.ico
+++ b/zen_classic/favicon.ico
Binary files differ
diff --git a/icons.css b/zen_classic/icons.css
index a01f50e..7f12807 100644
--- a/icons.css
+++ b/zen_classic/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 {
@@ -24,25 +24,25 @@
}
.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;
@@ -50,32 +50,32 @@
/* 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 */
diff --git a/images/background.png b/zen_classic/images/background.png
index 937c972..937c972 100644
--- a/images/background.png
+++ b/zen_classic/images/background.png
Binary files differ
diff --git a/images/blog.png b/zen_classic/images/blog.png
index 420cad2..420cad2 100644
--- a/images/blog.png
+++ b/zen_classic/images/blog.png
Binary files differ
diff --git a/zen_classic/images/bullet.png b/zen_classic/images/bullet.png
new file mode 100644
index 0000000..26ec757
--- /dev/null
+++ b/zen_classic/images/bullet.png
Binary files differ
diff --git a/zen_classic/images/cog.png b/zen_classic/images/cog.png
new file mode 100644
index 0000000..a8ebe53
--- /dev/null
+++ b/zen_classic/images/cog.png
Binary files differ
diff --git a/zen_classic/images/dialog-information.png b/zen_classic/images/dialog-information.png
new file mode 100644
index 0000000..b64f025
--- /dev/null
+++ b/zen_classic/images/dialog-information.png
Binary files differ
diff --git a/zen_classic/images/dialog-warning.png b/zen_classic/images/dialog-warning.png
new file mode 100644
index 0000000..531d28e
--- /dev/null
+++ b/zen_classic/images/dialog-warning.png
Binary files differ
diff --git a/zen_classic/images/links.png b/zen_classic/images/links.png
new file mode 100644
index 0000000..bd02ff9
--- /dev/null
+++ b/zen_classic/images/links.png
Binary files differ
diff --git a/zen_classic/images/menu-collapsed.png b/zen_classic/images/menu-collapsed.png
new file mode 100644
index 0000000..a6ad5b7
--- /dev/null
+++ b/zen_classic/images/menu-collapsed.png
Binary files differ
diff --git a/zen_classic/images/menu-expanded.png b/zen_classic/images/menu-expanded.png
new file mode 100644
index 0000000..6cbd44c
--- /dev/null
+++ b/zen_classic/images/menu-expanded.png
Binary files differ
diff --git a/zen_classic/images/menu-leaf.png b/zen_classic/images/menu-leaf.png
new file mode 100644
index 0000000..29b1999
--- /dev/null
+++ b/zen_classic/images/menu-leaf.png
Binary files differ
diff --git a/zen_classic/images/page.png b/zen_classic/images/page.png
new file mode 100644
index 0000000..f823350
--- /dev/null
+++ b/zen_classic/images/page.png
Binary files differ
diff --git a/zen_classic/images/tabs.png b/zen_classic/images/tabs.png
new file mode 100644
index 0000000..ffe6990
--- /dev/null
+++ b/zen_classic/images/tabs.png
Binary files differ
diff --git a/zen_classic/images/unpublished.png b/zen_classic/images/unpublished.png
new file mode 100644
index 0000000..a3cdbb5
--- /dev/null
+++ b/zen_classic/images/unpublished.png
Binary files differ
diff --git a/zen_classic/images/user.png b/zen_classic/images/user.png
new file mode 100644
index 0000000..0d80d8e
--- /dev/null
+++ b/zen_classic/images/user.png
Binary files differ
diff --git a/zen-fixed/logo.png b/zen_classic/logo.png
index bcc4532..bcc4532 100644
--- a/zen-fixed/logo.png
+++ b/zen_classic/logo.png
Binary files differ
diff --git a/zen_classic/page.tpl.php b/zen_classic/page.tpl.php
new file mode 100644
index 0000000..bfdece0
--- /dev/null
+++ b/zen_classic/page.tpl.php
@@ -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
index 0000000..64df655
--- /dev/null
+++ b/zen_classic/screenshot-drupal.org.png
Binary files differ
diff --git a/zen_classic/screenshot.large.png b/zen_classic/screenshot.large.png
new file mode 100644
index 0000000..8d9af92
--- /dev/null
+++ b/zen_classic/screenshot.large.png
Binary files differ
diff --git a/zen_classic/screenshot.png b/zen_classic/screenshot.png
new file mode 100644
index 0000000..6d54b54
--- /dev/null
+++ b/zen_classic/screenshot.png
Binary files differ
diff --git a/zen_classic/style.css b/zen_classic/style.css
new file mode 100644
index 0000000..ab6b423
--- /dev/null
+++ b/zen_classic/style.css
@@ -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
index 0000000..01f82d9
--- /dev/null
+++ b/zen_classic/template.php
@@ -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
index 0000000..cfb5ef2
--- /dev/null
+++ b/zen_classic/theme-settings-init.php
@@ -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
index 0000000..3c11593
--- /dev/null
+++ b/zen_classic/theme-settings.php
@@ -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
index 0000000..3456556
--- /dev/null
+++ b/zen_classic/zen-classic.css
@@ -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
index 0000000..2d30896
--- /dev/null
+++ b/zen_classic/zen-fixed.css
@@ -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
index 0000000..7e78803
--- /dev/null
+++ b/zen_classic/zen-subtheme.php
@@ -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');
+ }
+}