summaryrefslogtreecommitdiff
path: root/blog/themes/else-lightning
diff options
context:
space:
mode:
authorBertrand Jacquin (Beber) <beber.mailing@gmail.com>2006-05-07 23:44:47 +0200
committerbeber <beber@meathook.melee>2006-05-07 23:44:47 +0200
commitd9be784dfc304b7d69011c66aa0e18089a28fc96 (patch)
tree1b40831d00c6687a464309bfe1e7870407174018 /blog/themes/else-lightning
parentadd eric website theme as else-default... (diff)
downloadweb-d9be784dfc304b7d69011c66aa0e18089a28fc96.tar.xz
Move web_site/ to blog/
Diffstat (limited to 'blog/themes/else-lightning')
-rw-r--r--blog/themes/else-lightning/404.php11
-rw-r--r--blog/themes/else-lightning/comments.php111
-rw-r--r--blog/themes/else-lightning/footer.php12
-rw-r--r--blog/themes/else-lightning/functions.php47
-rw-r--r--blog/themes/else-lightning/gpl.txt340
-rw-r--r--blog/themes/else-lightning/header.php30
-rw-r--r--blog/themes/else-lightning/images/bg.gifbin0 -> 146 bytes
-rw-r--r--blog/themes/else-lightning/images/bullet.gifbin0 -> 889 bytes
-rw-r--r--blog/themes/else-lightning/images/comment.gifbin0 -> 917 bytes
-rw-r--r--blog/themes/else-lightning/images/commentalt.gifbin0 -> 1006 bytes
-rw-r--r--blog/themes/else-lightning/images/comments.gifbin0 -> 959 bytes
-rw-r--r--blog/themes/else-lightning/images/content.gifbin0 -> 5399 bytes
-rw-r--r--blog/themes/else-lightning/images/deco.gifbin0 -> 1074 bytes
-rw-r--r--blog/themes/else-lightning/images/footer.gifbin0 -> 2097 bytes
-rw-r--r--blog/themes/else-lightning/images/footer.pngbin0 -> 4788 bytes
-rw-r--r--blog/themes/else-lightning/images/header.gifbin0 -> 38068 bytes
-rw-r--r--blog/themes/else-lightning/images/perma.gifbin0 -> 917 bytes
-rw-r--r--blog/themes/else-lightning/images/sidebar-bottom.gifbin0 -> 2701 bytes
-rw-r--r--blog/themes/else-lightning/images/sidebar-bottomb.gifbin0 -> 2367 bytes
-rw-r--r--blog/themes/else-lightning/images/sidebar-top.gifbin0 -> 4972 bytes
-rw-r--r--blog/themes/else-lightning/images/sidebar-topb.gifbin0 -> 3792 bytes
-rw-r--r--blog/themes/else-lightning/images/sidebar.gifbin0 -> 4958 bytes
-rw-r--r--blog/themes/else-lightning/images/sidebar2-else.pngbin0 -> 130 bytes
-rw-r--r--blog/themes/else-lightning/images/sidebar2.gifbin0 -> 895 bytes
-rw-r--r--blog/themes/else-lightning/images/sidebar2b.gifbin0 -> 878 bytes
-rw-r--r--blog/themes/else-lightning/images/wrapper.gifbin0 -> 1338 bytes
-rw-r--r--blog/themes/else-lightning/index.php51
-rw-r--r--blog/themes/else-lightning/page.php16
-rw-r--r--blog/themes/else-lightning/screenshot.pngbin0 -> 21862 bytes
-rw-r--r--blog/themes/else-lightning/searchform.php6
-rw-r--r--blog/themes/else-lightning/sidebar.php56
-rw-r--r--blog/themes/else-lightning/single.php34
-rw-r--r--blog/themes/else-lightning/style.css348
-rw-r--r--blog/themes/else-lightning/themetoolkit.php389
34 files changed, 1451 insertions, 0 deletions
diff --git a/blog/themes/else-lightning/404.php b/blog/themes/else-lightning/404.php
new file mode 100644
index 0000000..2b44e37
--- /dev/null
+++ b/blog/themes/else-lightning/404.php
@@ -0,0 +1,11 @@
+<?php get_header(); ?>
+
+<h2><?php _e('Not Found'); ?></h2>
+
+<p><?php _e('Sorry, but the page you requested cannot be found.'); ?></p>
+
+<?php include (TEMPLATEPATH . "/searchform.php"); ?>
+
+<?php get_sidebar(); ?>
+
+<?php get_footer(); ?> \ No newline at end of file
diff --git a/blog/themes/else-lightning/comments.php b/blog/themes/else-lightning/comments.php
new file mode 100644
index 0000000..1b8d25c
--- /dev/null
+++ b/blog/themes/else-lightning/comments.php
@@ -0,0 +1,111 @@
+<?php // Do not delete these lines
+ if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
+ die ('Please do not load this page directly. Thanks!');
+
+ if (!empty($post->post_password)) { // if there's a password
+ if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
+ ?>
+
+ <p><?php _e("This post is password protected. Enter the password to view comments."); ?><p>
+
+ <?php
+ return;
+ }
+ }
+
+ /* This variable is for alternating comment background, thanks Kubrick */
+ $oddcomment = 'alt';
+?>
+
+<!-- You can start editing here. -->
+
+<?php if ($comments) : ?>
+
+ <h2 id="comments">
+ <?php comments_number(__('Comments'), __('1 Comment'), __('% Comments')); ?>
+ <?php if ( comments_open() ) : ?>
+ <a href="#postcomment" title="<?php _e('Jump to the comments form'); ?>">&raquo;</a>
+ <?php endif; ?>
+ </h2>
+
+ <ol id="commentlist">
+
+ <?php foreach ($comments as $comment) : ?>
+
+ <li class="comment<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">
+ <p class="commentauthor"><?php comment_author_link() ?> <?php _e('said'); ?>,</p>
+ <p class="commentmeta"><?php comment_date('F j, Y') ?> <?php _e('at'); ?> <a href="#comment-<?php comment_ID() ?>" title="<?php _e('Permanent link to this comment'); ?>"><?php comment_time() ?></a> <?php edit_comment_link(__("Edit"), ' &#183; ', ''); ?></p>
+
+ <?php comment_text() ?>
+ </li>
+
+ <?php if ('alt' == $oddcomment) $oddcomment = ''; else $oddcomment = 'alt'; ?>
+
+ <?php endforeach; ?>
+
+ </ol>
+
+<?php else : // This is displayed if there are no comments so far ?>
+
+ <?php if ('open' == $post-> comment_status) : ?>
+ <?php /* No comments yet */ ?>
+
+ <?php else : // comments are closed ?>
+ <?php /* Comments are closed */ ?>
+ <p><?php _e('Comments are closed.'); ?></p>
+
+ <?php endif; ?>
+
+<?php endif; ?>
+
+<?php if ('open' == $post-> comment_status) : ?>
+
+ <h2 id="postcomment"><?php _e('Leave a Comment'); ?></h2>
+
+ <?php if ( get_option('comment_registration') && !$user_ID ) : ?>
+
+ <p><?php _e('You must be'); ?> <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>"><?php _e('logged in'); ?></a> <?php _e('to post a comment.'); ?></p>
+
+ <?php else : ?>
+
+ <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
+
+ <?php if ( $user_ID ) : ?>
+
+ <p><?php _e('Logged in as'); ?> <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="<?php _e('Log out of this account') ?>"><?php _e('Logout'); ?> &raquo;</a></p>
+
+ <?php else : ?>
+
+ <p>
+ <input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="30" tabindex="1" />
+ <label for="author"><?php _e('Name'); ?> <?php if ($req) _e('(required)'); ?></label>
+ </p>
+
+ <p>
+ <input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="30" tabindex="2" />
+ <label for="email"><?php _e('E-mail'); ?> <?php if ($req) _e('(required)'); ?></label>
+ </p>
+
+ <p>
+ <input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="30" tabindex="3" />
+ <label for="url"><abbr title="<?php _e('Uniform Resource Identifier'); ?>"><?php _e('URI'); ?></abbr></label>
+ </p>
+
+ <?php endif; ?>
+
+ <p>
+ <textarea name="comment" id="comment" cols="70" rows="10" tabindex="4"></textarea>
+ </p>
+
+ <p>
+ <input name="submit" type="submit" id="submit" tabindex="5" value="<?php _e('Submit Comment'); ?>" />
+ <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
+ </p>
+
+ <?php do_action('comment_form', $post->ID); ?>
+
+ </form>
+
+ <?php endif; // If registration required and not logged in ?>
+
+<?php endif; // if you delete this the sky will fall on your head ?>
diff --git a/blog/themes/else-lightning/footer.php b/blog/themes/else-lightning/footer.php
new file mode 100644
index 0000000..5e4c715
--- /dev/null
+++ b/blog/themes/else-lightning/footer.php
@@ -0,0 +1,12 @@
+<div id="footer">
+<!--<p>
+<?php /*_e('Design by'); ?> <a href="http://else-team.org" title="<?php _e('Theme designed by'); */?> ELSE">ELSE</a>
+</p>-->
+</div>
+
+</div>
+
+<?php do_action('wp_footer'); ?>
+
+</body>
+</html>
diff --git a/blog/themes/else-lightning/functions.php b/blog/themes/else-lightning/functions.php
new file mode 100644
index 0000000..aa86a5f
--- /dev/null
+++ b/blog/themes/else-lightning/functions.php
@@ -0,0 +1,47 @@
+<?php
+
+if ( function_exists('register_sidebar') )
+ register_sidebar(array(
+ 'before_widget' => '<li id="%1$s" class="widget %2$s"><div>',
+ 'after_widget' => "</div></li>\n",
+ 'before_title' => '<h2>',
+ 'after_title' => "</h2>\n",
+ ));
+
+include(dirname(__FILE__).'/themetoolkit.php');
+
+themetoolkit(
+ 'else',
+ array(
+ 'sidebar' => 'Sidebar transparency {radio|transparent|Transparent|opaque|Opaque}',
+ ),
+ __FILE__
+);
+
+function else_sidebar() {
+ global $else;
+ if ($else->option['sidebar'] == "opaque") {
+ echo '#sidebar ul {
+ background: url('; bloginfo('template_directory'); echo '/images/sidebar2b.gif) repeat-y;
+ }
+ #sidebar ul li {
+ background: url('; bloginfo('template_directory'); echo '/images/sidebar-bottomb.gif) no-repeat bottom left;
+ }
+ #sidebar h2 {
+ background: url('; bloginfo('template_directory'); echo '/images/sidebar-topb.gif) no-repeat;
+ }
+ #sidebar #search p, .widget_search div div {
+ background: url('; bloginfo('template_directory'); echo '/images/sidebar-top.gif) no-repeat;
+ }
+ #calendar div {
+ background: url('; bloginfo('template_directory'); echo '/images/sidebar-top.gif) no-repeat;
+ }';
+ }
+}
+
+if (!$else->is_installed()) {
+ $set_defaults['sidebar'] = 'transparent';
+ $result = $else->store_options($set_defaults);
+}
+
+?>
diff --git a/blog/themes/else-lightning/gpl.txt b/blog/themes/else-lightning/gpl.txt
new file mode 100644
index 0000000..b860267
--- /dev/null
+++ b/blog/themes/else-lightning/gpl.txt
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/blog/themes/else-lightning/header.php b/blog/themes/else-lightning/header.php
new file mode 100644
index 0000000..00a8663
--- /dev/null
+++ b/blog/themes/else-lightning/header.php
@@ -0,0 +1,30 @@
+<?php include_once(dirname(__FILE__) . '/functions.php'); ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head profile="http://gmpg.org/xfn/11">
+ <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
+ <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats please -->
+ <title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
+ <style type="text/css" media="screen">
+ @import url( <?php bloginfo('stylesheet_url'); ?> );
+ <?php else_sidebar(); ?>
+ </style>
+ <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
+ <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />
+ <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" />
+ <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
+ <?php wp_get_archives('type=monthly&format=link'); ?>
+ <?php wp_head(); ?>
+</head>
+
+<body>
+
+<div id="wrapper">
+
+<div id="header">
+<!--<h1><a href="<?php/* bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1>
+<p><?php bloginfo('description'); */?></p>-->
+</div>
+
+<div id="content">
diff --git a/blog/themes/else-lightning/images/bg.gif b/blog/themes/else-lightning/images/bg.gif
new file mode 100644
index 0000000..3dea2e8
--- /dev/null
+++ b/blog/themes/else-lightning/images/bg.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/bullet.gif b/blog/themes/else-lightning/images/bullet.gif
new file mode 100644
index 0000000..ab05d8a
--- /dev/null
+++ b/blog/themes/else-lightning/images/bullet.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/comment.gif b/blog/themes/else-lightning/images/comment.gif
new file mode 100644
index 0000000..14e75f4
--- /dev/null
+++ b/blog/themes/else-lightning/images/comment.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/commentalt.gif b/blog/themes/else-lightning/images/commentalt.gif
new file mode 100644
index 0000000..36cf01a
--- /dev/null
+++ b/blog/themes/else-lightning/images/commentalt.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/comments.gif b/blog/themes/else-lightning/images/comments.gif
new file mode 100644
index 0000000..204a250
--- /dev/null
+++ b/blog/themes/else-lightning/images/comments.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/content.gif b/blog/themes/else-lightning/images/content.gif
new file mode 100644
index 0000000..f490316
--- /dev/null
+++ b/blog/themes/else-lightning/images/content.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/deco.gif b/blog/themes/else-lightning/images/deco.gif
new file mode 100644
index 0000000..cd6c82e
--- /dev/null
+++ b/blog/themes/else-lightning/images/deco.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/footer.gif b/blog/themes/else-lightning/images/footer.gif
new file mode 100644
index 0000000..28f6367
--- /dev/null
+++ b/blog/themes/else-lightning/images/footer.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/footer.png b/blog/themes/else-lightning/images/footer.png
new file mode 100644
index 0000000..abd14a2
--- /dev/null
+++ b/blog/themes/else-lightning/images/footer.png
Binary files differ
diff --git a/blog/themes/else-lightning/images/header.gif b/blog/themes/else-lightning/images/header.gif
new file mode 100644
index 0000000..fb52f2d
--- /dev/null
+++ b/blog/themes/else-lightning/images/header.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/perma.gif b/blog/themes/else-lightning/images/perma.gif
new file mode 100644
index 0000000..5b29b06
--- /dev/null
+++ b/blog/themes/else-lightning/images/perma.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/sidebar-bottom.gif b/blog/themes/else-lightning/images/sidebar-bottom.gif
new file mode 100644
index 0000000..8b50f2f
--- /dev/null
+++ b/blog/themes/else-lightning/images/sidebar-bottom.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/sidebar-bottomb.gif b/blog/themes/else-lightning/images/sidebar-bottomb.gif
new file mode 100644
index 0000000..ba03ed0
--- /dev/null
+++ b/blog/themes/else-lightning/images/sidebar-bottomb.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/sidebar-top.gif b/blog/themes/else-lightning/images/sidebar-top.gif
new file mode 100644
index 0000000..620b92a
--- /dev/null
+++ b/blog/themes/else-lightning/images/sidebar-top.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/sidebar-topb.gif b/blog/themes/else-lightning/images/sidebar-topb.gif
new file mode 100644
index 0000000..bdfb377
--- /dev/null
+++ b/blog/themes/else-lightning/images/sidebar-topb.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/sidebar.gif b/blog/themes/else-lightning/images/sidebar.gif
new file mode 100644
index 0000000..fde5391
--- /dev/null
+++ b/blog/themes/else-lightning/images/sidebar.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/sidebar2-else.png b/blog/themes/else-lightning/images/sidebar2-else.png
new file mode 100644
index 0000000..850a777
--- /dev/null
+++ b/blog/themes/else-lightning/images/sidebar2-else.png
Binary files differ
diff --git a/blog/themes/else-lightning/images/sidebar2.gif b/blog/themes/else-lightning/images/sidebar2.gif
new file mode 100644
index 0000000..b8eaa8e
--- /dev/null
+++ b/blog/themes/else-lightning/images/sidebar2.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/sidebar2b.gif b/blog/themes/else-lightning/images/sidebar2b.gif
new file mode 100644
index 0000000..df5fc4c
--- /dev/null
+++ b/blog/themes/else-lightning/images/sidebar2b.gif
Binary files differ
diff --git a/blog/themes/else-lightning/images/wrapper.gif b/blog/themes/else-lightning/images/wrapper.gif
new file mode 100644
index 0000000..3f64657
--- /dev/null
+++ b/blog/themes/else-lightning/images/wrapper.gif
Binary files differ
diff --git a/blog/themes/else-lightning/index.php b/blog/themes/else-lightning/index.php
new file mode 100644
index 0000000..ddd5dbe
--- /dev/null
+++ b/blog/themes/else-lightning/index.php
@@ -0,0 +1,51 @@
+<?php get_header(); ?>
+
+ <?php if (have_posts()) : ?>
+
+ <?php while (have_posts()) : the_post(); ?>
+
+ <div class="post">
+
+ <?php the_date('m.d.y', '<h1 class="storydate">', '</h1>'); ?>
+ <h2 id="post-<?php the_ID(); ?>" class="storytitle"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php _e('Permanent link to'); ?> <?php the_title(); ?>"><?php the_title(); ?></a></h2>
+ <p class="meta"><?php _e('Posted in'); ?> <?php the_category(', ') ?> <?php _e('at'); ?> <?php the_time(); ?> <?php _e('by'); ?> <?php the_author(); ?></p>
+
+ <?php if (is_search()) { ?>
+ <?php the_excerpt() ?>
+ <?php } else { ?>
+ <?php the_content(__('Read the rest of this entry &raquo;')); ?>
+ <?php } ?>
+
+ <p class="feedback">
+ <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php _e('Permanent link to'); ?> <?php the_title(); ?>" class="permalink"><?php _e('Permalink'); ?></a>
+ <?php comments_popup_link(__('Comments'), __('1 Comment'), __('% Comments'), 'commentslink', __('Comments off')); ?>
+ <?php edit_post_link(__('Edit'), ' &#183; ', ''); ?>
+ </p>
+
+ <!--
+ <?php trackback_rdf(); ?>
+ -->
+
+ </div>
+
+ <?php endwhile; ?>
+
+ <p>
+ <?php posts_nav_link('', __(''), __('&laquo; Previous entries')); ?>
+ <?php posts_nav_link(' &#183; ', __(''), __('')); ?>
+ <?php posts_nav_link('', __('Next entries &raquo;'), __('')); ?>
+ </p>
+
+ <?php else : ?>
+
+ <h2><?php _e('Not Found'); ?></h2>
+
+ <p><?php _e('Sorry, but no posts matched your criteria.'); ?></p>
+
+ <?php include (TEMPLATEPATH . "/searchform.php"); ?>
+
+ <?php endif; ?>
+
+<?php get_sidebar(); ?>
+
+<?php get_footer(); ?>
diff --git a/blog/themes/else-lightning/page.php b/blog/themes/else-lightning/page.php
new file mode 100644
index 0000000..0a18190
--- /dev/null
+++ b/blog/themes/else-lightning/page.php
@@ -0,0 +1,16 @@
+<?php get_header(); ?>
+
+ <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
+
+ <h2 id="post-<?php the_ID(); ?>"><?php the_title(); ?></h2>
+
+ <?php the_content(__('Read the rest of this page &raquo;')); ?>
+ <?php wp_link_pages(); ?>
+
+ <?php edit_post_link(__('Edit'), '<p>', '</p>'); ?>
+
+ <?php endwhile; endif; ?>
+
+<?php get_sidebar(); ?>
+
+<?php get_footer(); ?>
diff --git a/blog/themes/else-lightning/screenshot.png b/blog/themes/else-lightning/screenshot.png
new file mode 100644
index 0000000..e2572be
--- /dev/null
+++ b/blog/themes/else-lightning/screenshot.png
Binary files differ
diff --git a/blog/themes/else-lightning/searchform.php b/blog/themes/else-lightning/searchform.php
new file mode 100644
index 0000000..2ad29fb
--- /dev/null
+++ b/blog/themes/else-lightning/searchform.php
@@ -0,0 +1,6 @@
+<form method="get" id="searchform" action="<?php echo $_SERVER['PHP_SELF']; ?>">
+<p>
+<input type="text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" /><br />
+<input type="submit" id="searchsubmit" value="<?php _e('Search'); ?>" />
+</p>
+</form> \ No newline at end of file
diff --git a/blog/themes/else-lightning/sidebar.php b/blog/themes/else-lightning/sidebar.php
new file mode 100644
index 0000000..9883d2c
--- /dev/null
+++ b/blog/themes/else-lightning/sidebar.php
@@ -0,0 +1,56 @@
+</div>
+
+<div id="sidebar">
+<ul>
+<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
+
+ <li id="search">
+ <?php include (TEMPLATEPATH . '/searchform.php'); ?>
+ </li>
+
+ <?php wp_list_pages('title_li=<h2>' . __('Pages') . '</h2>' ); ?>
+
+ <li id="archives">
+ <h2><?php _e('Archives'); ?></h2>
+ <ul>
+ <?php wp_get_archives('type=monthly'); ?>
+ </ul>
+ </li>
+
+ <?php /* Uncomment this to display the calendar */?>
+ <li id="calendar"><div>
+ <?php get_calendar(); ?>
+ </div></li>
+
+
+ <li id="categories">
+ <h2><?php _e('Categories'); ?></h2>
+ <ul>
+ <?php wp_list_cats(); ?>
+ </ul>
+ </li>
+
+ <?php if (function_exists('wp_theme_switcher')) { ?>
+ <li>
+ <h2><?php _e('Themes'); ?></h2>
+ <?php wp_theme_switcher(); ?>
+ </li>
+ <?php } ?>
+
+ <?php if (is_home()) { get_links_list(); } ?>
+
+ <li id="meta">
+ <h2><?php _e('Meta'); ?></h2>
+ <ul>
+ <?php wp_register(); ?>
+ <li><?php wp_loginout(); ?></li>
+ <li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php _e('Syndicate this site using RSS'); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
+ <li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php _e('The latest comments to all posts in RSS'); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
+ <li><a href="http://wordpress.org" title="<?php _e('Powered by Wordpress, state-of-the-art semantic personal publishing platform.'); ?>">Wordpress</a></li>
+ <?php wp_meta(); ?>
+ </ul>
+ </li>
+
+<?php endif; ?>
+</ul>
+</div>
diff --git a/blog/themes/else-lightning/single.php b/blog/themes/else-lightning/single.php
new file mode 100644
index 0000000..27954c3
--- /dev/null
+++ b/blog/themes/else-lightning/single.php
@@ -0,0 +1,34 @@
+<?php get_header(); ?>
+
+ <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
+
+ <div class="post">
+
+ <?php the_date('m.d.y', '<h1 class="storydate">', '</h1>'); ?>
+ <h2 id="post-<?php the_ID(); ?>" class="storytitle"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php _e('Permanent link to'); ?> <?php the_title(); ?>"><?php the_title(); ?></a></h2>
+ <p class="meta"><?php _e('Posted in'); ?> <?php the_category(', ') ?> <?php _e('at'); ?> <?php the_time(); ?> <?php _e('by'); ?> <?php the_author(); ?></p>
+
+ <?php the_content(__('Read the rest of this entry &raquo;')); ?>
+ <?php wp_link_pages(); ?>
+
+ <p class="feedback">
+ <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php _e('Permanent link to'); ?> <?php the_title(); ?>" class="permalink"><?php _e('Permalink'); ?></a>
+ <?php edit_post_link(__('Edit'), ' &#183; ', ''); ?>
+ </p>
+
+ </div>
+
+ <?php comments_template(); ?>
+
+ <?php endwhile; else: ?>
+
+ <h2><?php _e('Not Found'); ?></h2>
+ <p><?php _e('Sorry, but the page you requested cannot be found.'); ?></p>
+ <?php include (TEMPLATEPATH . "/searchform.php"); ?>
+
+ <?php endif; ?>
+
+<?php get_sidebar(); ?>
+
+<?php get_footer(); ?>
+
diff --git a/blog/themes/else-lightning/style.css b/blog/themes/else-lightning/style.css
new file mode 100644
index 0000000..fc7de31
--- /dev/null
+++ b/blog/themes/else-lightning/style.css
@@ -0,0 +1,348 @@
+/*
+Theme Name: Else Team
+Theme URI: http://beccary.com/goodies/wordpress-themes/
+Description: The Else team web site theme.
+Version: 0.1
+Author: Else
+Author URI: http://else-team.org
+*/
+
+/* Basics */
+
+body {
+ margin: 0;
+ padding: 0;
+ /*background: #E6EEEE url(images/bg.gif) repeat-x;*/
+ color: #333;
+ font-size: 78%;
+ font-family: "Lucida Sans Unicode", Tahoma, Geneva, sans-serif;
+ text-align: center;
+}
+p {
+ font-size: 1em;
+ line-height: 1.5em;
+ margin: 1.2em 0;
+}
+ol, ul {
+ font-size: 1em;
+ line-height: 1.5em;
+ margin: 1.2em 0 1.2em 2em;
+ padding: 0;
+}
+h1, h2, h3, h4, h5, h6 {
+ margin: 1.2em 0;
+ font-family: Georgia, serif;
+ color: #534B48;
+}
+h1, h2 {
+ font-size: 1.4em;
+}
+h3 {
+ font-size: 1.3em;
+}
+h4 {
+ font-size: 1.2em;
+}
+h5 {
+ font-size: 1.1em;
+}
+h6 {
+ font-size: 1em;
+}
+a:link {
+ color: #59708C;
+}
+a:visited {
+ color: #5C6C7D;
+}
+a:hover, a:active {
+ color: #8CA0B4;
+ text-decoration: none;
+}
+blockquote {
+ margin: 0 20px;
+ padding: 0.05em 20px;
+ border-top: 1px solid #CCC;
+ border-bottom: 1px solid #CCC;
+ background: url(images/commentalt.gif) repeat-y;
+ font-size: 0.9em;
+}
+code {
+ color: #666;
+}
+input, textarea, select {
+ background-color: #FFF;
+ color: #333;
+ font-size: 1em;
+ font-family: "Lucida Sans Unicode", Tahoma, Geneva, sans-serif;
+}
+form, img {
+ border: 0;
+ margin: 0;
+ padding: 0;
+}
+
+/* Layout */
+
+#wrapper {
+ margin-left: auto;
+ margin-right: auto;
+ width: 800px;
+ /*background: #FFF url(images/wrapper.gif) repeat-y;*/
+ text-align: left;
+}
+#header {
+ width: 800px;
+ height: 132px;
+ background: url(images/header.gif) no-repeat;
+}
+
+ /* Header styles */
+ #header h1 {
+ margin: 0;
+ padding: 35px 0 0 40px;
+ font-size: 2em;
+ line-height: 40px;
+ }
+ #header h1 a {
+ text-decoration: none;
+ }
+ #header p {
+ margin: 0;
+ padding: 5px 0 0 40px;
+ }
+
+#content {
+ float: right;
+ margin-top: -12px;
+ padding: 0 10px 0 40px;
+ width: 520px;
+ min-height: 268px;
+ /*background: url(images/content.gif) no-repeat;*/
+ overflow: visible;
+ voice-family: "\"}\"";
+ voice-family: inherit;
+ width: 470px;
+}
+html>body #content {
+ width: 470px;
+}
+#sidebar {
+ float: left;
+ width: 240px;
+ background: url(images/sidebar.gif) no-repeat top right;
+ font-size: 0.9em;
+}
+
+ /* Sidebar styles */
+ #sidebar ul {
+ margin: 0;
+ padding: 0;
+ list-style-type: none;
+ background: url(images/sidebar2-else.png) repeat-y;
+ }
+ #sidebar ul li {
+ margin: 0;
+ padding: 0 0 1.5em 0;
+ background: url(images/sidebar-bottom.gif) no-repeat bottom left;
+ overflow: visible;
+ }
+ #sidebar h2 {
+ margin: 0;
+ padding: 1.2em 40px 0 20px;
+ font-size: 1.1em;
+ background: url(images/sidebar-top.gif) no-repeat;
+ }
+ /* Fix our list and paragraph styles */
+ #sidebar p, #sidebar ul ul, #sidebar ul ol {
+ margin: 1em 0 0 0;
+ padding: 0 40px 0 20px;
+ }
+ #sidebar ul ol {
+ margin: 1em 0 0 20px;
+ }
+ #sidebar ul ol li {
+ padding: 0;
+ background: url(images/bullet.gif) no-repeat 2000px 0;
+ /* IE goes buggy with background: none; */
+ }
+ #sidebar ul ul {
+ background: none;
+ }
+ #sidebar ul ul ul {
+ margin: 0;
+ padding: 0 0 0 0.8em;
+ background: none;
+ }
+ #sidebar ul ul li {
+ padding: 0 0 0 1.5em;
+ background: url(images/bullet.gif) no-repeat 0 0.2em;
+ }
+
+* html #content, * html #sidebar {
+ overflow: hidden; /* For IE */
+}
+#footer {
+ clear: both;
+ width: 800px;
+ height: 40px;
+ padding: 0px 4px 0 4px;
+ background: url(images/footer.png) no-repeat;
+}
+
+ /* Footer styles */
+ #footer p {
+ margin: 0;
+ padding: 0.5em 20px;
+ background-color: #999;
+ font-size: 0.9em;
+ }
+ #footer a:hover, #footer a:active {
+ color: #5C6C7D;
+ text-decoration: none;
+ }
+
+/* Blog */
+
+.pagetitle {
+ margin: 1.2em 0 0 0;
+}
+.post {
+ padding: 1.2em 0 0 0;
+}
+.storydate {
+ float: left;
+ margin: 0 0.5em 0 0;
+ padding: 0 0.5em 0 0;
+ border-right: 1px solid #CCC;
+ font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Geneva, sans-serif;
+ font-weight: normal;
+ color: #999;
+}
+.storytitle {
+ float: left;
+ margin: 0;
+}
+.meta {
+ margin: 0;
+ padding: 0.5em 0 0 3em;
+}
+.feedback {
+ padding: 0 0 0 3em;
+}
+.meta, .feedback {
+ clear: both;
+ font-size: 0.9em;
+ color: #999;
+ background: url(images/deco.gif) no-repeat bottom left;
+}
+.permalink {
+ margin: 0 1.5em 0 0;
+ padding: 0 0 0 1.2em;
+ background: url(images/perma.gif) no-repeat center left;
+}
+.commentslink {
+ padding: 0 0 0 1.5em;
+ background: url(images/comments.gif) no-repeat center left;
+}
+.storytitle a, .meta a, .feedback a, .commentauthor a, .commentmeta a, #comments a {
+ text-decoration: none;
+}
+
+/* Comments */
+
+#commentlist {
+ margin: 1.2em 0;
+ padding: 0;
+ list-style-type: none;
+}
+#commentlist li {
+ margin: 1em 0;
+ padding: 0 20px;
+ border-top: 1px solid #CCC;
+ border-bottom: 1px solid #CCC;
+ background: url(images/comment.gif) repeat-y;
+}
+.commentalt {
+ background: url(images/commentalt.gif) repeat-y !important;
+}
+.commentauthor {
+ margin: 1em 0 0 0;
+}
+.commentauthor a {
+ font-weight: bold;
+}
+.commentmeta {
+ margin-top: 0;
+ font-size: 0.9em;
+}
+#comment {
+ width: 98%;
+}
+
+/* Widgets and Etc */
+
+#sidebar #search p, .widget_search div div {
+ margin: 0 0 0.3em 0;
+ padding: 2em 0 0 20px;
+ background: url(images/sidebar-top.gif) no-repeat;
+}
+#s {
+ margin-bottom: 2px;
+ width: 175px;
+}
+
+/* Calendar */
+
+#calendar div {
+ padding: 0 40px 0 20px;
+ background: url(images/sidebar-top.gif) no-repeat;
+}
+#wp-calendar {
+ margin: 0;
+ width: 180px;
+ border: 1px solid #CCC;
+ background: #F4F4F4;
+ line-height: 1.2em;
+ text-align: center;
+ voice-family: "\"}\"";
+ voice-family: inherit;
+ width: 178px;
+}
+html>body #wp-calendar {
+ width: 178px;
+}
+#wp-calendar caption {
+ margin: 0;
+ padding: 1.4em 0 0.6em 0;
+ color: #534B48;
+ font-size: 1.1em;
+ font-family: Georgia, serif;
+ font-weight: bold;
+ text-align: left;
+}
+#wp-calendar td {
+ margin: 2px;
+ background: #FFF;
+}
+#wp-calendar td a {
+ display: block;
+ width: 100%;
+}
+#wp-calendar td.pad {
+ background: transparent;
+}
+#wp-calendar td#next, #wp-calendar td#prev {
+ padding: 0.1em 2px;
+ background: transparent;
+}
+#wp-calendar td#next a, #wp-calendar td#prev a {
+ display: inline;
+}
+#wp-calendar td#next {
+ text-align: right;
+}
+#wp-calendar td#prev {
+ text-align: left;
+}
+
diff --git a/blog/themes/else-lightning/themetoolkit.php b/blog/themes/else-lightning/themetoolkit.php
new file mode 100644
index 0000000..a2bf31d
--- /dev/null
+++ b/blog/themes/else-lightning/themetoolkit.php
@@ -0,0 +1,389 @@
+<?php
+/*
+Hack Name: Wordpress Theme Toolkit
+Plugin URI: http://frenchfragfactory.net/ozh/my-projects/wordpress-theme-toolkit-admin-menu/
+Description: Helps theme authors set up an admin menu. Helps theme users customise the theme.
+Version: 1.12
+Author: Ozh
+Author URI: http://planetOzh.com/
+*/
+
+/************************************************************************************
+* DO NOT MODIFY THIS FILE !
+************************************************************************************/
+
+/* RELEASE HISTORY :
+* 1.0 : initial release
+* 1.1 : update for Wordpress 2.0 compatibility
+* 1.11 : added {separator} template
+* 1.12 : more or less minor bug fixing (one when no plugin activated, other with rare mod_security issue) and better compliancy with WP 2.0 roles
+*/
+
+if (!function_exists('themetoolkit')) {
+ function themetoolkit($theme='',$array='',$file='') {
+ global ${$theme};
+ if ($theme == '' or $array == '' or $file == '') {
+ die ('No theme name, theme option, or parent defined in Theme Toolkit');
+ }
+ ${$theme} = new ThemeToolkit($theme,$array,$file);
+ }
+}
+
+if (!class_exists('ThemeToolkit')) {
+ class ThemeToolkit{
+
+ var $option, $infos;
+
+ function ThemeToolkit($theme,$array,$file){
+
+ global $wp_version;
+ // is it WP 2.0+ and do we have plugins like "../themes/foo/functions.php" running ?
+ if ( $wp_version >= 2 and count(@preg_grep('#^\.\./themes/[^/]+/functions.php$#', get_settings('active_plugins'))) > 0 ) {
+ wp_cache_flush();
+ $this->upgrade_toolkit();
+ }
+
+ $this->infos['path'] = '../themes/' . basename(dirname($file));
+
+ /* Create some vars needed if an admin menu is to be printed */
+ if ($array['debug']) {
+ if ((basename($file)) == $_GET['page']) $this->infos['debug'] = 1;
+ unset($array['debug']);
+ }
+ if ((basename($file)) == $_GET['page']){
+ $this->infos['menu_options'] = $array;
+ $this->infos['classname'] = $theme;
+ }
+ $this->option=array();
+
+ /* Check this file is registered as a plugin, do it if needed */
+ $this->pluginification();
+
+ /* Get infos about the theme and particularly its 'shortname'
+ * which is used to name the entry in wp_options where data are stored */
+ $this->do_init();
+
+ /* Read data from options table */
+ $this->read_options();
+
+ /* Are we in the admin area ? Add a menu then ! */
+ $this->file = $file;
+ add_action('admin_menu', array(&$this, 'add_menu'));
+ }
+
+
+ /* Add an entry to the admin menu area */
+ function add_menu() {
+ global $wp_version;
+ if ( $wp_version >= 2 ) {
+ $level = 'edit_themes';
+ } else {
+ $level = 9;
+ }
+ //add_submenu_page('themes.php', 'Configure ' . $this->infos[theme_name], $this->infos[theme_name], 9, $this->infos['path'] . '/functions.php', array(&$this,'admin_menu'));
+ add_theme_page('Configure ' . $this->infos['theme_name'], $this->infos['theme_name'], 'edit_themes', basename($this->file), array(&$this,'admin_menu'));
+ /* Thank you MCincubus for opening my eyes on the last parameter :) */
+ }
+
+ /* Get infos about this theme */
+ function do_init() {
+ $themes = get_themes();
+ $shouldbe= basename($this->infos['path']);
+ foreach ($themes as $theme) {
+ $current= basename($theme['Template Dir']);
+ if ($current == $shouldbe) {
+ if (get_settings('template') == $current) {
+ $this->infos['active'] = TRUE;
+ } else {
+ $this->infos['active'] = FALSE;
+ }
+ $this->infos['theme_name'] = $theme['Name'];
+ $this->infos['theme_shortname'] = $current;
+ $this->infos['theme_site'] = $theme['Title'];
+ $this->infos['theme_version'] = $theme['Version'];
+ $this->infos['theme_author'] = preg_replace("#>\s*([^<]*)</a>#", ">\\1</a>", $theme['Author']);
+ }
+ }
+ }
+
+ /* Read theme options as defined by user and populate the array $this->option */
+ function read_options() {
+ $options = get_option('theme-'.$this->infos['theme_shortname'].'-options');
+ $options['_________junk-entry________'] = 'ozh is my god';
+ foreach ($options as $key=>$val) {
+ $this->option["$key"] = stripslashes($val);
+ }
+ array_pop($this->option);
+ return $this->option;
+ /* Curious about this "junk-entry" ? :) A few explanations then.
+ * The problem is that get_option always return an array, even if
+ * no settings has been previously saved in table wp_options. This
+ * junk entry is here to populate the array with at least one value,
+ * removed afterwards, so that the foreach loop doesn't go moo. */
+ }
+
+ /* Write theme options as defined by user in database */
+ function store_options($array) {
+ update_option('theme-'.$this->infos['theme_shortname'].'-options','');
+ if (update_option('theme-'.$this->infos['theme_shortname'].'-options',$array)) {
+ return "Options successfully stored";
+ } else {
+ return "Could not save options !";
+ }
+ }
+
+ /* Delete options from database */
+ function delete_options() {
+ /* Remove entry from database */
+ delete_option('theme-'.$this->infos['theme_shortname'].'-options');
+ /* Unregister this file as a plugin (therefore remove the admin menu) */
+ $this->depluginification();
+ /* Revert theme back to Kubrick if this theme was activated */
+ if ($this->infos['active']) {
+ update_option('template', 'default');
+ update_option('stylesheet', 'default');
+ do_action('switch_theme', 'Default');
+ }
+ /* Go back to Theme admin */
+ print '<meta http-equiv="refresh" content="0;URL=themes.php?activated=true">';
+ echo "<script> self.location(\"themes.php?activated=true\");</script>";
+ exit;
+ }
+
+ /* Check if the theme has been loaded at least once (so that this file has been registered as a plugin) */
+ function is_installed() {
+ global $wpdb;
+ $where = 'theme-'.$this->infos['theme_shortname'].'-options';
+ $check = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->options WHERE option_name = '$where'");
+ if ($check == 0) {
+ return FALSE;
+ } else {
+ return TRUE;
+ }
+ }
+
+ /* Theme used for the first time (create blank entry in database) */
+ function do_firstinit() {
+ global $wpdb;
+ $options = array();
+ foreach(array_keys($this->option) as $key) {
+ $options["$key"]='';
+ }
+ add_option('theme-'.$this->infos['theme_shortname'].'-options',$options, 'Options for theme '.$this->infos['theme_name']);
+ return "Theme options added in database (1 entry in table '". $wpdb->options ."')";
+ }
+
+ /* The mother of them all : the Admin Menu printing func */
+ function admin_menu () {
+ global $cache_settings, $wpdb;
+
+ /* Process things when things are to be processed */
+ if (@$_POST['action'] == 'store_option') {
+ unset($_POST['action']);
+ $msg = $this->store_options($_POST);
+ } elseif (@$_POST['action'] == 'delete_options') {
+ $this->delete_options();
+ } elseif (!$this->is_installed()) {
+ $msg = $this->do_firstinit();
+ }
+
+ if (@$msg) print "<div class='updated'><p><b>" . $msg . "</b></p></div>\n";
+
+ echo '<div class="wrap"><h2>Thank you !</h2>';
+ echo '<p>Thank you for installing ' . $this->infos['theme_site'] . ', a theme for Wordpress. This theme was made by '.$this->infos['theme_author'].'. </p>';
+
+ if (!$this->infos['active']) { /* theme is not active */
+ echo '<p>(Please note that this theme is currently <strong>not activated</strong> on your site as the default theme.)</p>';
+ }
+
+ $cache_settings = '';
+ $check = $this->read_options();
+
+ echo "<h2>Configure ${$this->infos['theme_name']} </h2>";
+ echo '<p>This theme allows you to configure some variables to suit your blog, which are :</p>
+ <form action="" method="post">
+ <input type="hidden" name="action" value="store_option">
+ <table cellspacing="2" cellpadding="5" border="0" width=100% class="editform">';
+
+ /* Print form, here comes the fun part :) */
+ foreach ($this->infos['menu_options'] as $key=>$val) {
+ $items='';
+ preg_match('/\s*([^{#]*)\s*({([^}]*)})*\s*([#]*\s*(.*))/', $val, $matches);
+ if ($matches[3]) {
+ $items = split("\|", $matches[3]);
+ }
+
+ print "<tr valign='top'><th scope='row' width='33%'>\n";
+ if (@$items) {
+ $type = array_shift($items);
+ switch ($type) {
+ case 'separator':
+ print '<h3>'.$matches[1]."</h3></th>\n<td>&nbsp;</td>";
+ break;
+ case 'radio':
+ print $matches[1]."</th>\n<td>";
+ while ($items) {
+ $v=array_shift($items);
+ $t=array_shift($items);
+ $checked='';
+ if ($v == $this->option[$key]) $checked='checked';
+ print "<label for='${key}${v}'><input type='radio' id='${key}${v}' name='$key' value='$v' $checked /> $t</label>";
+ if (@$items) print "<br />\n";
+ }
+ break;
+ case 'textarea':
+ $rows=array_shift($items);
+ $cols=array_shift($items);
+ print "<label for='$key'>".$matches[1]."</label></th>\n<td>";
+ print "<textarea name='$key' id='$key' rows='$rows' cols='$cols'>" . $this->option[$key] . "</textarea>";
+ break;
+ case 'checkbox':
+ print $matches[1]."</th>\n<td>";
+ while ($items) {
+ $k=array_shift($items);
+ $v=array_shift($items);
+ $t=array_shift($items);
+ $checked='';
+ if ($v == $this->option[$k]) $checked='checked';
+ print "<label for='${k}${v}'><input type='checkbox' id='${k}${v}' name='$k' value='$v' $checked /> $t</label>";
+ if (@$items) print "<br />\n";
+ }
+ break;
+ }
+ } else {
+ print "<label for='$key'>".$matches[1]."</label></th>\n<td>";
+ print "<input type='text' name='$key' id='$key' value='" . $this->option[$key] . "' />";
+ }
+
+ if ($matches[5]) print '<br/>'. $matches[5];
+ print "</td></tr>\n";
+ }
+ echo '</table>
+ <p class="submit"><input type="submit" value="Store Options" /></p>
+ </form>';
+
+ if ($this->infos['debug'] and $this->option) {
+ $g = '<span style="color:#006600">';
+ $b = '<span style="color:#0000CC">';
+ $o = '<span style="color:#FF9900">';
+ $r = '<span style="color:#CC0000">';
+ echo '<h2>Programmer\'s corner</h2>';
+ echo '<p>The array <em>$'. $this->infos['classname'] . '->option</em> is actually populated with the following keys and values :</p>
+ <p><pre class="updated">';
+ $count = 0;
+ foreach ($this->option as $key=>$val) {
+ $val=str_replace('<','&lt;',$val);
+ if ($val) {
+ print '<span class="ttkline">'.$g.'$'.$this->infos['classname'].'</span>'.$b.'-></span>'.$g.'option</span>'.$b.'[</span>'.$g.'\'</span>'.$r.$key.'</span>'.$g.'\'</span>'.$b.']</span>'.$g.' = "</span>'. $o.$val.'</span>'.$g."\"</span></span>\n";
+ $count++;
+ }
+ }
+ if (!$count) print "\n\n";
+ echo '</pre><p>To disable this report (for example before packaging your theme and making it available for download), remove the line "&nbsp;<em>\'debug\' => \'debug\'</em>&nbsp;" in the array you edited at the beginning of this file.</p>';
+ }
+
+ echo '<h2>Delete Theme options</h2>
+ <p>To completely remove these theme options from your database (reminder: they are all stored in a single entry, in Wordpress options table <em>'. $wpdb->options. '</em>), click on
+ the following button. You will be then redirected to the <a href="themes.php">Themes admin interface</a>';
+ if ($this->infos['active']) {
+ echo ' and the Default theme will have been activated';
+ }
+ echo '.</p>
+ <p><strong>Special notice for people allowing their readers to change theme</strong> (i.e. using a Theme Switcher on their blog)<br/>
+ Unless you really remove the theme files from your server, this theme will still be available to users, and therefore will self-install again as soon as someone selects it. Also, all custom variables as defined in the above menu will be blank, this could lead to unexpected behaviour.
+ Press "Delete" only if you intend to remove the theme files right after this.</p>
+ <form action="" method="post">
+ <input type="hidden" name="action" value="delete_options">
+ <p class="submit"><input type="submit" value="Delete Options" onclick="return confirm(\'Are you really sure you want to delete ?\');"/></p>
+ </form>';
+
+ ob_start(array(&$this,'footercut'));
+
+ echo '<h2>Credits</h2>';
+ echo '<p>'.$this->infos['theme_site'].' has been created by '.$this->infos['theme_author'].'. ';
+ echo 'This administration menu uses <a href="http://frenchfragfactory.net/ozh/my-projects/wordpress-theme-toolkit-admin-menu/" title="Wordpress Theme Toolkit : create a admin menu for your own theme as easily as editing 3 lines">Wordpress Theme Toolkit</a> by <a href="http://frenchfragfactory.net/ozh/" title="planetOzh">Ozh</a>. And everything was made possible thanks to <a href="http://wordpress.org/" title="Best. Blogware. Ever.">Wordpress</a>.</p>
+ </div>
+ <div id="footer"><div style="float:right;margin-left:-180px;padding-right:5%"><p><a href="http://frenchfragfactory.net/ozh/my-projects/wordpress-theme-toolkit-admin-menu/">Theme Toolkit</a> by<br />
+ <a href="http://planetOzh.com/"><img src="http://frenchfragfactory.net/ozh/wp-images/btn_planetozh.png" border="0" alt="planetOzh.com" /></a><br />';
+ echo 'for '.$this->infos['theme_site']."</p></div>\n";
+ echo '</div><!-- footercut -->';
+ }
+
+ /* Make this footer part of the real #footer DIV of Wordpress admin area */
+ function footercut($string) {
+ return preg_replace('#</div><!-- footercut -->.*<div id="footer">#m', '', $string);
+ }
+
+
+ /***************************************
+ * Self-Pluginification (TM)(R)(C) . © ®
+ *
+ * The word "Self-Pluginification" and
+ * any future derivatives are licensed,
+ * patented and trademarked under the
+ * terms of the OHYEAHSURE agreement.
+ * Hmmmmmkey ? Fine.
+ **************************************/
+ function pluginification () {
+ global $wp_version;
+ if ($wp_version<2) {
+ $us = $this->infos['path'].'/functions.php';
+ $them = get_settings('active_plugins');
+ /* Now, are we members of the PPC (Plugins Private Club) yet ? */
+ if (!in_array($us,$them)) {
+ /* No ? Jeez, claim member card ! */
+ $them[]=$us;
+ update_option('active_plugins',$them);
+ /* Wow. We're l33t now. */
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+ }
+ }
+
+ /***************************************
+ * De-Pluginification (TM)(R)(C) . © ®
+ *
+ * Same legal notice. It's not that I
+ * really like it, but my lawyer asked
+ * for it. I swear.
+ **************************************/
+ function depluginification () {
+ global $wp_version;
+ if ($wp_version<2) {
+ $us = $this->infos['path'].'/functions.php';
+ $them = get_settings('active_plugins');
+ if (in_array($us,$them)) {
+ $here = array_search($us,$them);
+ unset($them[$here]);
+ update_option('active_plugins',$them);
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+ }
+ }
+
+ /***************************************
+ * Really, the whole plugin management
+ * system is really neat in WP, and very
+ * easy to use.
+ **************************************/
+
+ /* Clean plugins lists in order to work with Wordpress 2.0 */
+ function upgrade_toolkit () {
+ $plugins=get_settings('active_plugins');
+ $delete=@preg_grep('#^\.\./themes/[^/]+/functions.php$#', $plugins);
+ $result=array_diff($plugins,$delete);
+ $temp = array();
+ foreach($result as $item) $temp[]=$item;
+ $result = $temp;
+ update_option('active_plugins',$result);
+ wp_cache_flush;
+ }
+
+ }
+}
+
+?> \ No newline at end of file