2.8.2.6 fresh upload

Signed-off-by: Philip M. Hofer (Frumph) <frumph_dragon@yahoo.com>
This commit is contained in:
Philip M. Hofer (Frumph) 2009-11-13 08:00:25 -08:00
parent 1a56733824
commit 5c1e3c5794
255 changed files with 13930 additions and 0 deletions

18
404.php Normal file
View File

@ -0,0 +1,18 @@
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<h2 class="pagetitle"><?php _e('Page Not Found','comicpress'); ?></h2>
<p><a href="<?php bloginfo('wpurl') ?>"><?php _e('Click here to return to the home page','comicpress'); ?></a> <?php _e('or try a search:','comicpress'); ?></p>
<p><?php include (get_template_directory() . '/searchform.php') ?></p>
<br class="clear-margins" />
</div>
<div class="post-page-foot"></div>
</div>
</div>
</div>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

18
README Normal file
View File

@ -0,0 +1,18 @@
ComicPress is the WordPress Comic Pubishing Theme.
Copyright 2005-2009 Tyler Martin
Copyright 2008-2009 John Bintz
Copyright 2009 Philip M. Hofer
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 3 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, see <http://www.gnu.org/licenses/>.

162
archive-comic-calendar.php Normal file
View File

@ -0,0 +1,162 @@
<?php
/*
Template Name: Comic Calendar Archive
*/
?>
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<?php remove_filter('pre_get_posts','comicpress_members_filter'); ?>
<?php
$dayWidth = 22; //set to .cpcal-day total width in pixels including: width, left & right border, left & right margin, left & right padding
if (isset($_GET['archive_year'])) {
$archive_year = (int)$_GET['archive_year'];
} else {
$latest_comic = get_terminal_post_in_category(get_all_comic_categories_as_cat_string(),true);
$archive_year = get_post_time('Y', false, $latest_comic, true);
}
if (empty($archive_year)) $archive_year = date('Y');
$firstDayMargins = array();
for ($i = 1; $i <= 12; ++$i) {
$dateInfo = getdate(mktime(0,0,0,$i,1,$archive_year));
$firstDayMargins[$i] = $dateInfo['wday'] * $dayWidth;
}
$tempPost = $post;
$comicArchive = new WP_Query(); $comicArchive->query('&showposts=1000&cat='.get_all_comic_categories_as_cat_string().'&year='.$archive_year);
while ($comicArchive->have_posts()) : $comicArchive->the_post();
$calTitle = get_the_title();
$calLink = get_permalink();
$calDay = get_the_time('j');
$calMonth = get_the_time('F');
$calComic[$calMonth.$calDay] = array('link' => $calLink, 'title' => $calTitle);
endwhile;
$post = $tempPost;
function leapYear($yr) {
if ($yr % 4 != 0) {
return 28;
} else {
if ($yr % 100 != 0) {
return 29;
} else {
if ($yr % 400 != 0) {
return 28;
} else {
return 29;
}
}
}
}
$leapYear = leapYear($archive_year);
$month['1'] = array('month' => __('January','comicpress'), 'days' => '31');
$month['2'] = array('month' => __('February','comicpress'), 'days' => $leapYear);
$month['3'] = array('month' => __('March','comicpress'), 'days' => '31');
$month['4'] = array('month' => __('April','comicpress'), 'days' => '30');
$month['5'] = array('month' => __('May','comicpress'), 'days' => '31');
$month['6'] = array('month' => __('June','comicpress'), 'days' => '30');
$month['7'] = array('month' => __('July','comicpress'), 'days' => '31');
$month['8'] = array('month' => __('August','comicpress'), 'days' => '31');
$month['9'] = array('month' => __('September','comicpress'), 'days' => '30');
$month['10'] = array('month' => __('October','comicpress'), 'days' => '31');
$month['11'] = array('month' => __('November','comicpress'), 'days' => '30');
$month['12'] = array('month' => __('December','comicpress'), 'days' => '31');
?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<?php while (have_posts()) : the_post() ?>
<div class="entry">
<h2 class="pagetitle"><?php the_title() ?> <span class="page-archive-year"> <?php echo $archive_year; ?></span></h2>
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<div class="archive-yearlist">|
<?php $years = $wpdb->get_col("SELECT DISTINCT YEAR(post_date) FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_date ASC");
foreach ( $years as $year ) {
if ($year != (0) ) { ?>
<a href="<?php echo add_query_arg('archive_year', $year) ?>"><strong><?php echo $year ?></strong></a> |
<?php } } ?>
</div>
<div class="cpcal-cals">
<?php $i=1; while($i<=12) {
$calendar_directory = get_option('comicpress-calendar_directory');
if (!empty($calendar_directory) && $calendar_directory != 'none') { ?>
<div class="cpcal-month" style="height: 257px;" id="<?php echo $month[$i]['month'] ?>">
<?php if (file_exists(get_stylesheet_directory() . '/images/cal') && $calendar_directory != 'default') { ?>
<?php if (file_exists(get_stylesheet_directory().'/images/cal/'.$calendar_directory.'/'.$archive_year)) { ?>
<?php if (count($monthfile = glob(get_stylesheet_directory().'/images/cal/'.$calendar_directory.'/'.$archive_year.'/'.strtolower($month[$i]['month']).'.*')) > 0) {
if (is_array($monthfile)) $monthfile = reset($monthfile); ?>
<img class="cpcal-image" src="<?php echo get_stylesheet_directory_uri(); ?>/images/cal/<?php echo $calendar_directory; ?>/<?php echo $archive_year; ?>/<?php echo basename($monthfile); ?>" alt="<?php echo $month[$i]['month'] ?>" title="<?php echo $month[$i]['month'] ?>" />
<?php } else { ?>
<img class="cpcal-image" src="<?php echo get_stylesheet_directory_uri(); ?>/images/cal/default.png" alt="<?php echo $month[$i]['month'] ?>" title="<?php echo $month[$i]['month'] ?>" />
<?php } ?>
<?php } else { ?>
<?php if (count($monthfile = glob(get_stylesheet_directory().'/images/cal/'.$calendar_directory.'/'.strtolower($month[$i]['month']).'.*')) > 0) {
if (is_array($monthfile)) $monthfile = reset($monthfile); ?>
<img class="cpcal-image" src="<?php echo get_stylesheet_directory_uri(); ?>/images/cal/<?php echo $calendar_directory; ?>/<?php echo basename($monthfile); ?>" alt="<?php echo $month[$i]['month'] ?>" title="<?php echo $month[$i]['month'] ?>" />
<?php } else { ?>
<img class="cpcal-image" src="<?php echo get_stylesheet_directory_uri(); ?>/images/cal/default.png" alt="<?php echo $month[$i]['month'] ?>" title="<?php echo $month[$i]['month'] ?>" />
<?php } ?>
<?php } ?>
<?php } else { ?>
<?php if (file_exists(get_template_directory().'/images/cal/'.$calendar_directory.'/'.$archive_year)) { ?>
<?php if (count($monthfile = glob(get_template_directory().'/images/cal/'.$calendar_directory.'/'.$archive_year.'/'.strtolower($month[$i]['month']).'.*')) > 0) {
if (is_array($monthfile)) $monthfile = reset($monthfile); ?>
<img class="cpcal-image" src="<?php echo get_template_directory_uri(); ?>/images/cal/<?php echo $calendar_directory; ?>/<?php echo $archive_year; ?>/<?php echo basename($monthfile); ?>" alt="<?php echo $month[$i]['month'] ?>" title="<?php echo $month[$i]['month'] ?>" />
<?php } else { ?>
<img class="cpcal-image" src="<?php echo get_template_directory_uri(); ?>/images/cal/default.png" alt="<?php echo $month[$i]['month'] ?>" title="<?php echo $month[$i]['month'] ?>" />
<?php } ?>
<?php } else { ?>
<?php if (count($monthfile = glob(get_template_directory().'/images/cal/'.$calendar_directory.'/'.strtolower($month[$i]['month']).'.*')) > 0) {
if (is_array($monthfile)) $monthfile = reset($monthfile); ?>
<img class="cpcal-image" src="<?php echo get_template_directory_uri(); ?>/images/cal/<?php echo $calendar_directory; ?>/<?php echo basename($monthfile); ?>" alt="<?php echo $month[$i]['month'] ?>" title="<?php echo $month[$i]['month'] ?>" />
<?php } else { ?>
<img class="cpcal-image" src="<?php echo get_template_directory_uri(); ?>/images/cal/default.png" alt="<?php echo $month[$i]['month'] ?>" title="<?php echo $month[$i]['month'] ?>" />
<?php } ?>
<?php } ?>
<?php } ?>
<?php } else { ?>
<div class="cpcal-month" style="height: 137px;" id="<?php echo $month[$i]['month'] ?>">
<?php } ?>
<div class="cpcal-monthtitle"><?php echo $month[$i]['month']." ".$archive_year ?></div>
<?php foreach(array("S", "M", "T", "W", "T", "F", "S") as $dow) { ?>
<div class="cpcal-dayletter"><?php echo $dow ?></div>
<?php } ?>
<div class="clear"></div>
<?php $day=1; while($day<=$month[$i]['days']) {
if ($day == 1) { ?>
<div style="width:<?php echo $firstDayMargins[$i]; ?>px;height:15px;float:left;"></div>
<?php } ?>
<div class="cpcal-day">
<?php if (isset($calComic[$month[$i]['month'].$day])) { ?>
<a href="<?php echo $calComic[$month[$i]['month'].$day]['link'] ?>" title="<?php echo $calComic[$month[$i]['month'].$day]['title'] ?>"><?php echo $day ?></a>
<?php } else {
echo $day." ";
} ?>
</div>
<?php ++$day;
}
++$i ?>
</div>
<?php } ?>
</div>
</div>
<div class="post-page-foot"></div>
</div>
<?php if ('open' == $post->comment_status) { comments_template('', true); } ?>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

45
archive-comic-month.php Normal file
View File

@ -0,0 +1,45 @@
<?php
/*
Template Name: Month at a glance
*/
?>
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<?php while (have_posts()) : the_post() ?>
<div class="entry">
<h2 class="pagetitle"><?php the_title() ?></h2>
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<?php
//based on Austin Matzko's code from wp-hackers email list
function filter_where($where = '') {
//posts in the last 30 days
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
// $where .= " AND post_date >= '2009-03-01' AND post_date < '2009-03-16'";
return $where;
}
add_filter('posts_where', 'filter_where');
$posts = query_posts('&show_posts=-1&posts_per_page=-1&cat='.get_all_comic_categories_as_cat_string());
?>
<?php if (have_posts()) : while (have_posts()) : the_post() ?>
<div class="comicthumbwrap">
<div class="comicarchiveframe">
<a href="<?php the_permalink() ?>"><img src="<?php the_comic_mini() ?>" alt="<?php the_title() ?>" title="<?php the_title() ?>" style="width: <?php echo $mini_comic_width; ?>px" /></a><br />
</div>
</div>
<?php endwhile; endif; ?>
<br class="clear-margins" />
</div>
<div class="post-page-foot"></div>
</div>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

View File

@ -0,0 +1,75 @@
<?php
/*
Template Name: Comic Storyline with Thumbs
*/
?>
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<?php while (have_posts()) : the_post() ?>
<div class="entry">
<h2 class="pagetitle"><?php the_title() ?></h2>
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<ul id="storyline" class="level-0">
<?php if (get_option('comicpress-enable-storyline-support') == 1) {
if (($result = get_option("comicpress-storyline-category-order")) !== false) {
$categories_by_id = get_all_category_objects_by_id();
$current_depth = 0;
$storyline_root = " class=\"storyline-root\"";
foreach (explode(",", $result) as $node) {
$parts = explode("/", $node);
$target_depth = count($parts) - 2;
$category_id = end($parts);
$category = $categories_by_id[$category_id];
$description = $category->description;
$first_comic_in_category = get_terminal_post_in_category($category_id,true);
$first_comic_permalink = get_permalink($first_comic_in_category->ID);
$archive_image = null;
foreach (array("mini", "archive", "rss", "comic") as $type) {
if (($requested_archive_image = get_comic_url($type, $first_comic_in_category)) !== false) {
$archive_image = $requested_archive_image; break;
}
}
if ($target_depth < $current_depth) {
echo str_repeat("</ul></li>", ($current_depth - $target_depth));
}
if ($target_depth > $current_depth) {
for ($i = $current_depth; $i < $target_depth; ++$i) {
$next_i = $i + 1;
echo "<li><ul class=\"level-${next_i}\">";
}
} ?>
<li id="storyline-<?php echo $category->category_nicename ?>"<?php echo $storyline_root; $storyline_root = null ?>>
<?php if (!empty($first_comic_in_category)) { ?>
<a href="<?php echo $first_comic_permalink ?>" title="<?php _e('First comic in','comicpress'); ?> <?php echo $category->cat_name ?>."><img src="<?php echo $archive_image ?>" style="width: <?php echo $mini_comic_width; ?>px" /></a>
<?php } ?>
<a href="<?php echo get_category_link($category_id) ?>" class="storyline-title"><?php echo $category->cat_name ?></a>
<?php if (!empty($description)) { ?>
<div class="storyline-description"><?php echo $description ?></div>
<?php } ?>
<div class="storyline-foot"></div>
</li>
<?php $current_depth = $target_depth;
}
if ($current_depth > 0) {
echo str_repeat("</ul></li>", $current_depth);
}
}
} else { ?>
<li><h3><?php _e('Storyline Support is not currently enabled on this site.','comicpress'); ?></h3><br /><br /><strong><?php _e('Note to the Administrator:','comicpress'); ?></strong><br /> <?php _e('To enable storyline support and manage storyline categories make sure you are running the latest version of the ','comicpress'); ?><a href="http://wordpress.org/extend/plugins/comicpress-manager/">ComicPress Manager</a> <?php _e('plugin and check your storyline settings from it\'s administration menu.','comicpress'); ?></h3></li>
<?php } ?>
</ul>
<br class="clear-margins" />
</div>
<div class="post-page-foot"></div>
</div>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

View File

@ -0,0 +1,77 @@
<?php
/*
Template Name: Comic Storyline Archive
*/
?>
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<?php while (have_posts()) : the_post() ?>
<div class="entry">
<h2 class="pagetitle"><?php the_title() ?></h2>
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<ul id="storyline" class="level-0">
<?php if (get_option('comicpress-enable-storyline-support') == 1) {
if (($result = get_option("comicpress-storyline-category-order")) !== false) {
$categories_by_id = get_all_category_objects_by_id();
$current_depth = 0;
$storyline_root = " class=\"storyline-root\"";
foreach (explode(",", $result) as $node) {
$parts = explode("/", $node);
$target_depth = count($parts) - 2;
$category_id = end($parts);
$category = $categories_by_id[$category_id];
$description = $category->description;
$first_comic_in_category = get_terminal_post_in_category($category_id);
$first_comic_permalink = get_permalink($first_comic_in_category->ID);
$archive_image = null;
foreach (array("mini", "archive", "rss", "comic") as $type) {
if (($requested_archive_image = get_comic_url($type, $first_comic_in_category)) !== false) {
$archive_image = $requested_archive_image; break;
}
}
if ($target_depth < $current_depth) {
echo str_repeat("</ul></li>", ($current_depth - $target_depth));
}
if ($target_depth > $current_depth) {
for ($i = $current_depth; $i < $target_depth; ++$i) {
$next_i = $i + 1;
echo "<li><ul class=\"level-${next_i}\">";
}
} ?>
<li id="storyline-<?php echo $category->category_nicename ?>"<?php echo $storyline_root; $storyline_root = null ?>>
<a href="<?php echo get_category_link($category_id) ?>" class="storyline-title"><?php echo $category->cat_name ?></a>
<div class="storyline-description">
<?php if (!empty($description)) { ?>
<?php echo $description ?>
<?php } ?>
<?php if (!empty($first_comic_in_category)) { ?>
<?php _e('Begins with &ldquo;','comicpress'); ?><a href="<?php echo $first_comic_permalink ?>"><?php echo $first_comic_in_category->post_title ?></a><?php _e('&rdquo;','comicpress'); ?>
<?php } ?>
</div>
<div class="storyline-foot"></div>
</li>
<?php $current_depth = $target_depth;
}
if ($current_depth > 0) {
echo str_repeat("</ul></li>", $current_depth);
}
}
} else { ?>
<li><h3><?php _e('Storyline Support is not currently enabled on this site.','comicpress'); ?></h3><br /><br /><strong><?php _e('Note to the Administrator:','comicpress'); ?></strong><br /> <?php _e('To enable storyline support and manage storyline categories make sure you are running the latest version of the ','comicpress'); ?><a href="http://wordpress.org/extend/plugins/comicpress-manager/">ComicPress Manager</a> <?php _e('plugin and check your storyline settings from it\'s administration menu.','comicpress'); ?></h3></li>
<?php } ?>
</ul>
<br class="clear-margins" />
</div>
<div class="post-page-foot"></div>
</div>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

51
archive-comic-year.php Normal file
View File

@ -0,0 +1,51 @@
<?php
/*
Template Name: Comic Year Archive
*/
?>
<?php get_header(); ?>
<?php remove_filter('pre_get_posts','comicpress_members_filter'); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<?php
if (isset($_REQUEST['archive_year'])) {
$archive_year = $_REQUEST['archive_year'];
} else {
$latest_comic = get_terminal_post_in_category(get_all_comic_categories_as_cat_string(),true);
$archive_year = get_post_time('Y', false, $latest_comic, true);
}
if (empty($archive_year) || $archive_year == '') $archive_year = date('Y');
?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<?php while (have_posts()) : the_post() ?>
<div class="entry">
<h2 class="pagetitle"><?php the_title() ?> <span class="page-archive-year"> <?php echo $archive_year; ?></span></h2>
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<div class="archive-yearlist">|
<?php $years = $wpdb->get_col("SELECT DISTINCT YEAR(post_date) FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_date ASC");
foreach ( $years as $year ) {
if ($year != (0) ) { ?>
<a href="<?php echo add_query_arg('archive_year', $year) ?>"><strong><?php echo $year ?></strong></a> |
<?php } } ?>
</div>
<table class="month-table">
<?php $comicArchive = new WP_Query(); $comicArchive->query('&showposts=-1&cat='.get_all_comic_categories_as_cat_string().'&year='.$archive_year);
while ($comicArchive->have_posts()) : $comicArchive->the_post() ?>
<tr><td class="archive-date"><?php the_time('M j') ?></td><td class="archive-title"><a href="<?php echo get_permalink($post->ID) ?>" rel="bookmark" title="<?php _e('Permanent Link:','comicpress'); ?> <?php the_title() ?>"><?php the_title() ?></a></td></tr>
<?php endwhile; ?>
</table>
<br class="clear-margins" />
</div>
<div class="post-page-foot"></div>
</div>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

39
archive-comic.php Normal file
View File

@ -0,0 +1,39 @@
<?php
/*
Template Name: Comic Archive
*/
?>
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<?php while (have_posts()) : the_post() ?>
<div class="entry">
<h2 class="pagetitle"><?php the_title() ?></h2>
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<?php $years = $wpdb->get_col("SELECT DISTINCT YEAR(post_date) FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_date DESC");
foreach ( $years as $year ) {
if ($year != (0) ) { ?>
<h3><?php echo $year ?></h3>
<table class="month-table">
<?php $comicArchive = new WP_Query(); $comicArchive->query('showposts=10000&cat='.get_all_comic_categories_as_cat_string().'&year='.$year);
while ($comicArchive->have_posts()) : $comicArchive->the_post() ?>
<tr><td class="archive-date"><?php the_time('M j') ?></td><td class="archive-title"><a href="<?php echo get_permalink($post->ID) ?>" rel="bookmark" title="<?php _e('Permanent Link:','comicpress'); ?> <?php the_title() ?>"><?php the_title() ?></a></td></tr>
<?php endwhile; ?>
</table>
<?php } } ?>
<br class="clear-margins" />
</div>
<div class="post-page-foot"></div>
</div>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

155
archive.php Normal file
View File

@ -0,0 +1,155 @@
<?php
get_header(); global $category_thumbnail_postcount;
remove_filter('pre_get_posts','comicpress_members_filter');
include(get_template_directory() . '/layout-head.php');
global $archive_display_order;
if (empty($archive_display_order)) $archive_display_order = 'desc';
$tmp_search = new WP_Query($query_string.'&order='.$archive_display_order.'&show_posts=-1&posts_per_page=-1');
$count = $tmp_search->post_count;
if (!$count) $count = "no";
?>
<?php if (have_posts()) : ?>
<?php
if (is_category() && in_comic_category()) {
$posts = query_posts($query_string.'&showposts='.$category_thumbnail_postcount.'&order='.$archive_display_order);
} else {
$posts = query_posts($query_string.'&order='.$archive_display_order);
} ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<div class="content">
<?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
<?php /* Category Archive */ if (is_category()) { ?>
<h2 class="pagetitle"><?php _e('Archive for &#8216;','comicpress'); ?><?php single_cat_title() ?>&#8217;</h2>
<?php /* Tag Archive */ } elseif( is_tag() ) { ?>
<h2 class="pagetitle"><?php _e('Posts Tagged &#8216;','comicpress'); ?><?php single_tag_title() ?>&#8217;</h2>
<?php /* Daily Archive */ } elseif (is_day()) { ?>
<h2 class="pagetitle"><?php _e('Archive for','comicpress'); ?> <?php the_time('F jS, Y') ?></h2>
<?php /* Monthly Archive */ } elseif (is_month()) { ?>
<h2 class="pagetitle"><?php _e('Archive for','comicpress'); ?> <?php the_time('F, Y') ?></h2>
<?php /* Yearly Archive */ } elseif (is_year()) { ?>
<h2 class="pagetitle"><?php _e('Archive for','comicpress'); ?> <?php the_time('Y') ?></h2>
<?php /* Author Archive */ } elseif (is_author()) { ?>
<h2 class="pagetitle"><?php _e('Author Archive','comicpress'); ?></h2>
<?php /* Paged Archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
<h2 class="pagetitle"><?php _e('Archives','comicpress'); ?></h2>
<?php } ?>
<div class="searchresults"><?php printf(__ngettext("%d item.", "%d items.", $count,'comicpress'),$count); ?></div>
</div>
<br class="clear-margins" />
</div>
<div class="post-page-foot"></div>
</div>
<?php while (have_posts()) : the_post() ?>
<?php if (is_category() && in_comic_category()) { ?>
<div class="comicthumbwrap">
<div class="comicarchiveframe" style="width: <?php echo $mini_comic_width; ?>px">
<a href="<?php the_permalink() ?>"><img src="<?php the_comic_mini() ?>" alt="<?php the_title() ?>" title="<?php the_title() ?>" /></a>
</div>
</div>
<?php } else { ?>
<?php global $archive_comic_width; if (in_comic_category()) { ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-comic-head"></div>
<div class="post-comic">
<div class="post-info">
<?php if ($enable_comic_post_author_gravatar == 'yes') { ?>
<div class="post-author-gravatar"><?php echo str_replace("alt='", "alt='".get_the_author_meta('display_name')."' title='".get_the_author_meta('display_name'),comicpress_get_avatar(get_the_author_meta('email'), 64)); ?></div>
<?php } ?>
<?php if (function_exists('comicpress_show_mood_in_post')) comicpress_show_mood_in_post(); ?>
<?php if ($enable_comic_post_calendar == 'yes') { ?>
<div class="post-date">
<div class="date"><span><?php the_time('M') ?></span> <?php the_time('d') ?></div>
</div>
<?php } ?>
<div class="post-text">
<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
<small> <?php _e('By','comicpress'); ?> <?php the_author_posts_link(); ?> <?php _e('on','comicpress'); ?> <?php the_time('F jS, Y'); ?> <?php edit_post_link(__('Edit Post','comicpress'), ' [ ', ' ] '); ?></small><br />
<?php if (get_option('comicpress-enable-storyline-support') == 1) { ?>
<ul class="storyline-cats"><li class="storyline-root"><?php the_category(' &raquo; </li><li>', multiple) ?></li></ul>
<?php } else { ?>
<?php if ($disable_categories_in_posts != 'yes') { ?>
<small> <?php _e('Posted In:','comicpress'); ?> <?php the_category(','); ?></small><br />
<?php } ?>
<?php } ?>
<?php if(function_exists('the_ratings')) { the_ratings(); } ?>
</div>
<div class="clear"></div>
</div>
<div class="comicarchiveframe" style="width:<?php echo $archive_comic_width; ?>px;">
<a href="<?php the_permalink() ?>"><img src="<?php the_comic_archive() ?>" alt="<?php the_title() ?>" title="Click for full size." width="<?php echo $archive_comic_width ?>" /></a><br />
</div>
<br class="clear-margins" />
</div>
<div class="post-comic-foot"></div>
</div>
<?php } else { ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-head"></div>
<div <?php post_class(); ?>>
<div class="post-info">
<?php if ($enable_post_author_gravatar == 'yes') { ?>
<div class="post-author-gravatar"><?php echo str_replace("alt='", "alt='".get_the_author_meta('display_name')."' title='".get_the_author_meta('display_name'),comicpress_get_avatar(get_the_author_meta('email'), 64)); ?></div>
<?php } ?>
<?php if (function_exists('comicpress_show_mood_in_post')) comicpress_show_mood_in_post(); ?>
<?php if ($enable_post_calendar == 'yes') { ?>
<div class="post-date">
<div class="date"><span><?php the_time('M') ?></span> <?php the_time('d') ?></div>
</div>
<?php } ?>
<div class="post-text">
<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php _e('Permanent Link to','comicpress'); ?> <?php the_title(); ?>"><?php the_title(); ?></a></h2>
<small> <?php _e('By','comicpress'); ?> <?php the_author_posts_link(); ?> <?php _e('on','comicpress'); ?> <?php the_time('F jS, Y'); ?> <?php edit_post_link(__('Edit Post','comicpress'), ' [ ', ' ] '); ?></small><br />
<?php if ($disable_categories_in_posts != 'yes') { ?>
<small> <?php _e('Posted In:','comicpress'); ?> <?php the_category(','); ?></small><br />
<?php } ?>
<?php if(function_exists('the_ratings')) { the_ratings(); } ?>
</div>
<div class="clear"></div>
</div>
<?php global $excerpt_or_content_archive;
if ($excerpt_or_content_archive != 'excerpt') {
the_content(__('&darr; Read the rest of this entry...','comicpress'));
} else {
the_excerpt();
} ?>
<br class="clear-margins" />
<div class="post-extras">
<div class="tags">
<?php the_tags(__('&#9492; Tags:','comicpress'),'','','<br />'); ?>
</div>
<div class="clear"></div>
</div>
</div>
<div class="post-foot"></div>
</div>
<?php } ?>
<?php } ?>
<?php endwhile; ?>
<div class="clear"></div>
<?php else : ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-head"></div>
<div class="post">
<h3><?php _e('No posts found.','comicpress'); ?></h3>
<p><?php _e('Try another search?','comicpress'); ?></p>
<p><?php include(get_template_directory() . '/searchform.php') ?></p>
<br class="clear-margins" />
</div>
<div class="post-foot"></div>
</div>
<?php endif; ?>
<?php comicpress_pagination(); ?>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

24
archives.php Normal file
View File

@ -0,0 +1,24 @@
<?php
/*
Template Name: Archives
*/
?>
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<div id="archivepage">
<h2><?php _e('Archives by Month:','comicpress'); ?></h2>
<ul><?php wp_get_archives('type=monthly') ?></ul>
<h2><?php _e('Archives by Subject:','comicpress'); ?></h2>
<ul><?php wp_list_categories() ?></ul>
<br class="clear-margins" />
</div>
</div>
<div class="post-page-foot"></div>
</div>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

70
author.php Normal file
View File

@ -0,0 +1,70 @@
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<?php
if(get_query_var('author_name') ) {
// NOTE: 2.0 bug requires: get_userdatabylogin(get_the_author_login());
$curauth = get_userdatabylogin(get_query_var('author_name'));
} else {
$curauth = get_userdata(get_query_var('author'));
}
if (empty($curauth)) { ?>
<h2><?php _e('No such author.','comicpress'); ?></h2>
<?php } else { ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<div class="userpage-avatar">
<?php echo str_replace("alt='", "alt='".wp_specialchars($curauth->display_name, 1)."' title='".wp_specialchars($curauth->display_name, 1), comicpress_get_avatar($curauth->user_email, 64)); ?>
</div>
<div class="userpage-info">
<div class="userpage-bio">
<?php
if($curauth->display_name)
$authorname = $curauth->display_name;
elseif($curauth->user_nickname)
$authorname = $curauth->nickname;
elseif($curauth->user_nicename)
$authorname = $curauth->user_nicename;
else
$authorname = $curauth->user_login;
?>
<cite><?php echo $authorname; ?></cite><br />
<?php _e('Registered on','comicpress'); ?> <?php echo date('l \\t\h\e jS \o\f M, Y',strtotime($curauth->user_registered)); ?><br />
<br />
<?php if (!empty($curauth->user_url)) { ?><?php _e('Website:','comicpress'); ?> <a href="<?php echo $curauth->user_url; ?>" target="_blank"><?php echo $curauth->user_url; ?></a><br /><?php } ?>
<?php if (!empty($curauth->aim)) { ?><?php _e('AIM:','comicpress'); ?> <a href="<?php echo $curauth->user_aim; ?>" target="_blank"><?php echo $curauth->aim; ?></a><br /><?php } ?>
<?php if (!empty($curauth->jabber)) { ?><?php _e('Jabber/Google Talk:','comicpress'); ?> <a href="<?php echo $curauth->jabber; ?>" target="_blank"><?php echo $curauth->jabber; ?></a><br /><?php } ?>
<?php if (!empty($curauth->yim)) { ?><?php _e('Yahoo IM:','comicpress'); ?> <a href="<?php echo $curauth->jabber; ?>" target="_blank"><?php echo $curauth->jabber; ?></a><br /><?php } ?>
</div>
<?php if (!empty($curauth->description)) { ?>
<div class="userpage-desc">
<?php echo $curauth->description; ?>
</div>
<?php } ?>
</div>
<div class="clear"></div>
<div class="userpage-posts">
<?php if (have_posts()) { ?>
<h3><?php _e('Posts by','comicpress'); ?> <?php echo $authorname; ?> (<?php echo get_usernumposts($curauth->ID); ?>) &not;</h3>
<?php // this area is a loop that shows what posts the person has done. ?>
<ol>
<table class="month-table">
<?php while (have_posts()) : the_post() ?>
<tr><td class="archive-date" align="right"><?php the_time('M j, Y') ?></td><td class="archive-title"><a href="<?php the_permalink(); ?>"><?php the_title() ?></a></td>
<?php endwhile; ?>
</table>
</ol>
<?php comicpress_pagination(); ?>
<?php } ?>
</div>
</div>
<div class="post-page-foot"></div>
</div>
<?php } ?>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

54
blog.php Normal file
View File

@ -0,0 +1,54 @@
<?php
/*
Template Name: Blog
*/
?>
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<?php global $blog_postcount;
if ($split_column_in_two != 'yes') {
$blog_query = 'showposts='.$blog_postcount.'&cat="-'.exclude_comic_categories().'"&paged='.$paged;
$posts = query_posts($blog_query);
if (have_posts()) {
while (have_posts()) : the_post();
display_blog_post();
endwhile;
}
comicpress_pagination();
} else { ?>
<div id="dualcolumns">
<div class="column_one">
<div class="column_one_header"></div>
<?php $blog_query = 'showposts='.$blog_postcount.'&cat="-'.exclude_comic_categories().'"&author='.$author_column_one.'&paged='.$paged;
$posts = query_posts($blog_query);
if (have_posts()) {
while (have_posts()) : the_post();
display_blog_post();
endwhile;
} ?>
<span class="viewpostsbyone">View all posts by: <?php the_author_posts_link(); ?><span><br />
</div>
<div class="column_two">
<div class="column_two_header"></div>
<?php $blog_query = 'showposts='.$blog_postcount.'&cat="-'.exclude_comic_categories().'"&author='.$author_column_two;
$posts = query_posts($blog_query);
if (have_posts()) {
while (have_posts()) : the_post();
display_blog_post();
endwhile;
} ?>
<span class="viewpostsbytwo">View all posts by: <?php the_author_posts_link(); ?></span><br />
</div>
<div class="clear"></div>
</div>
<?php } ?>
<?php get_sidebar('underblog'); ?>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

116
buystrip.php Normal file
View File

@ -0,0 +1,116 @@
<?php
/*
Template Name: Buy Print
Template Author: Philip M. Hofer (Frumph)
Template URL: http://webcomicplanet.com/forum/
Template Author Email: philip@frumph.net
Template Version: 2.14
*/
if (isset($_REQUEST['comic'])) $comicnum = (int)$_REQUEST['comic'];
?>
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<?php if (!empty($comicnum)): ?>
<?php $temppost = $post; ?>
<?php $post = & get_post( $comicnum ); ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<div style="float:right;">
<br />
<img src="<?php echo get_template_directory_uri(); ?>/images/paypal.png" alt="<?php _e('Powered by Paypal','comicpress'); ?>" /><br />
</div>
<div style="float:left;">
<h2 class="pagetitle"><?php _e('Buy Print!','comicpress'); ?></h2>
</div>
<div class="clear"></div>
<?php _e('Comic ID','comicpress'); ?> - #<?php echo $comicnum; ?><br />
<?php _e('Title:','comicpress'); ?> <?php echo the_title(); ?><br />
<br />
<?php $post = & get_post( $comicnum ); ?>
<?php
foreach (array("archive", "rss", "comic", "mini") as $type) {
if (($requested_image = get_comic_url($type, $post)) !== false) {
$image = $requested_image; break;
}
}
?>
<center>
<img src="<?php echo $image; ?>" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" /><br />
<br />
<table>
<tr>
<td align="left" valign="center">
<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="add" value="1">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="item_name" value="<?php _e('Print','comicpress'); ?>">
<input type="hidden" name="return" value="<?php echo bloginfo('wpurl'); ?>">
<input type="hidden" name="amount" value="<?php echo $buy_print_us_amount; ?>">
<input type="hidden" name="item_number" value="<?php _e('Comic ID','comicpress'); ?> (<?php echo $comicnum; ?>) - <?php echo the_title(); ?>">
<input type="hidden" name="business" value="<?php echo $buy_print_email; ?>">
<?php if ($buy_print_add_shipping == 'yes') { ?>
<input type="hidden" name="shipping" value="<?php echo $buy_print_us_ship; ?>">
US/Canada<br>
$<?php echo $buy_print_us_amount; ?> + $<?php echo $buy_print_us_ship; ?> <?php _e('shipping','comicpress'); ?><br />
<?php } else { ?>
US/Canada<br>
$<?php echo $buy_print_us_amount; ?><br />
<?php } ?>
<input type="image" src="<?php echo get_template_directory_uri(); ?>/images/buynow_paypal.png" name="submit32" alt="<?php _e('Make payments with PayPal - it is fast, free and secure!','comicpress'); ?>" />
</form>
</td>
<td width="40">
</td>
<td align="left" valign="center">
<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="add" value="1">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="item_name" value="<?php _e('Print','comicpress'); ?>">
<input type="hidden" name="return" value="<?php echo bloginfo('wpurl'); ?>">
<input type="hidden" name="amount" value="<?php echo $buy_print_int_amount; ?>">
<input type="hidden" name="item_number" value="<?php _e('Comic ID','comicpress'); ?> (<?php echo $comicnum; ?>) - <?php echo the_title(); ?>">
<input type="hidden" name="business" value="<?php echo $buy_print_email; ?>">
<?php if ($buy_print_add_shipping == 'yes') { ?>
<input type="hidden" name="shipping" value="<?php echo $buy_print_int_ship; ?>">
International<br>
$<?php echo $buy_print_int_amount; ?> + $<?php echo $buy_print_int_ship; ?> <?php _e('shipping','comicpress'); ?><br />
<?php } else { ?>
International<br>
$<?php echo $buy_print_int_amount; ?><br />
<?php } ?>
<input type="image" src="<?php echo get_template_directory_uri(); ?>/images/buynow_paypal.png" name="submit32" alt="<?php _e('Make payments with PayPal - it is fast, free and secure!','comicpress'); ?>" />
</form>
</td>
</tr>
</table>
<br />
<?php _e('The purchase of this strip is based on availability. A Print of this strip is what you are purchasing.','comicpress'); ?><br />
</center>
<br />
<?php $post = $temppost; ?>
<div class="clear"></div>
</div>
<div class="post-page-foot"></div>
</div>
<?php else: ?>
<?php if (have_posts()) : while (have_posts()) : the_post() ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page" id="post-<?php the_ID() ?>">
<h2 class="pagetitle"><?php the_title() ?></h2>
<div class="entry">
<?php the_content() ?>
<?php wp_link_pages(array('before' => '<p><strong>'.__('Pages:','comicpress').'</strong> ', 'after' => '</p>', 'next_or_number' => 'number')) ?>
</div>
<?php edit_post_link(__('Edit this page.','comicpress'), '<p>', '</p>') ?>
<br class="clear-margins" />
</div>
<div class="post-page-foot"></div>
</div>
<?php endwhile; endif; ?>
<?php endif; ?>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

19
chrome_style.css Normal file
View File

@ -0,0 +1,19 @@
/* ComicPress Custom CSS over-rides for [ chrome ]: ComicPress - 2.8 */
html { overflow-y: scroll; }
.comicarchiveframe {
opacity:0.99; /* firefox, opera, safari, chrome */
}
.comicarchiveframe:hover {
opacity:0.70; /* firefox, opera, safari, chrome */
}
.imagenav-link img {
opacity:0.5; /* firefox, opera, safari, chrome */
}
.imagenav-link img:hover {
opacity:0.5; /* firefox, opera, safari, chrome */
}

View File

@ -0,0 +1,111 @@
<?php
class ComicPressDBInterface {
var $_non_comic_categories = array(), $_all_categories = array();
function ComicPressDBInterface() {}
function get_instance() {
static $instance;
if (!isset($instance)) { $instance = new ComicPressDBInterface(); }
return $instance;
}
function _get_categories() { return get_categories("hide_empty=0"); }
/**
* Set the comic categories for the current run of ComicPress.
*/
function set_comic_categories($categories) {
$this->_all_categories = get_all_category_ids();
$this->_non_comic_categories = array_values(array_diff($this->_all_categories, $categories));
}
function _get_categories_to_exclude($category = null) {
$result = array_diff($this->_all_categories, array($category));
if (is_array($result)) {
return (is_null($category)) ? $this->_non_comic_categories : array_values($result);
} else {
return $this->_non_comic_categories;
}
}
/**
* Find the terminal post in a specific category.
*/
function get_terminal_post_in_category($category_id, $first = true) {
$this->_prepare_wp_query();
$sort_order = $first ? "asc" : "desc";
$terminal_comic_query = new WP_Query();
$terminal_comic_query->query("showposts=1&order=${sort_order}&cat=${category_id}&status=publish");
$post = false;
if ($terminal_comic_query->have_posts()) {
$post = reset($terminal_comic_query->posts);
}
$this->_reset_wp_query();
return $post;
}
/**
* Get the first comic in a category.
*/
function get_first_comic($category_id) {
return $this->get_terminal_post_in_category($category_id);
}
/**
* Get the last comic in a category.
*/
function get_last_comic($category_id) {
return $this->get_terminal_post_in_category($category_id, false);
}
/**
* Get the comic post adjacent to the current comic.
* Wrapper around get_adjacent_post(). Don't unit test this method.
*/
function get_adjacent_comic($category, $next = false, $override_post = null) {
global $post;
$this->_prepare_wp_query();
if (!is_null($override_post)) { $temp_post = $post; $post = $override_post; }
$result = get_adjacent_post(false, implode(" and ", $this->_get_categories_to_exclude($category)), !$next);
$this->_reset_wp_query();
if (!is_null($override_post)) { $post = $temp_post; }
return empty($result) ? false : $result;
}
function _prepare_wp_query() {
global $wp_query;
$this->is_single = $wp_query->is_single;
$this->in_the_loop = $wp_query->in_the_loop;
$wp_query->is_single = $wp_query->in_the_loop = true;
}
function _reset_wp_query() {
global $wp_query;
$wp_query->is_single = $this->is_single;
$wp_query->in_the_loop = $this->in_the_loop;
}
/**
* Get the previous comic from the current one.
*/
function get_previous_comic($category = null, $override_post = null) { return $this->get_adjacent_comic($category, false, $override_post); }
/**
* Get the next comic from the current one.
*/
function get_next_comic($category = null, $override_post = null) { return $this->get_adjacent_comic($category, true, $override_post); }
}
?>

View File

@ -0,0 +1,68 @@
<?php
require_once('ComicPressStoryline.inc');
require_once('ComicPressDBInterface.inc');
class ComicPressNavigation {
function init($storyline) {
$this->_storyline = $storyline;
$this->_dbi = ComicPressDBInterface::get_instance();
}
function get_post_nav($post) {
$nav = array();
if (is_object($post)) {
if (isset($post->ID)) {
$cache_key = 'navigation-' . $post->ID;
if (($result = wp_cache_get($cache_key, 'comicpress')) !== false) {
foreach ($result as $key => $post_id) {
$nev[$key] = get_post($post_id);
}
}
// global previous/next
foreach (array('previous', 'next') as $field) {
$nav[$field] = $this->_dbi->{"get_${field}_comic"}(null, $post);
}
// global first/last
foreach (array('first', 'last') as $field) {
$nav[$field] = $this->_dbi->{"get_${field}_comic"}(null);
}
if ($category = $this->_storyline->get_valid_post_category($post->ID)) {
// storyline previous/next
foreach (array('previous', 'next') as $field) {
$nav["storyline-${field}"] = $this->_dbi->{"get_${field}_comic"}($category, $post);
}
// adjacent storyline nodes
if (is_array($valid = $this->_storyline->valid($category))) {
foreach ($valid as $field) {
$all_adjacents = $this->_storyline->all_adjacent($category, $field);
foreach ($all_adjacents as $adjacent_category) {
$result = $this->_dbi->get_first_comic($adjacent_category);
if (!empty($result)) {
$nav["storyline-chapter-${field}"] = $result; break;
}
}
}
}
}
$cache_data = array();
foreach ($nav as $key => $output_post) {
if (!empty($output_post)) { $cache_data[$key] = $output_post->ID; }
if ($output_post->ID == $post->ID) { $nav[$key] = false; }
}
wp_cache_set($cache_key, $cache_data, 'comicpress');
return $nav;
}
}
}
}
?>

View File

@ -0,0 +1,589 @@
<?php
require_once('ComicPressDBInterface.inc');
class ComicPressStoryline {
var $_structure;
var $_category_search;
function &read_from_options() {
$this->create_structure($this->get_flattened_storyline());
return $this;
}
/**
* Get the flattened storyline from options.
*/
function get_flattened_storyline() {
$comicpress = &ComicPress::get_instance();
return $comicpress->comicpress_options['storyline_order'];
}
/**
* Set the global storyline as a flattened storyline.
*/
function set_flattened_storyline($storyline) {
$comicpress = &ComicPress::get_instance();
$comicpress->comicpress_options['storyline_order'] = $storyline;
$comicpress->save();
}
/**
* Set the order from a flattened storyline.
*/
function set_order_via_flattened_storyline($order) {
$nodes = explode(',', $order);
$original_nodes = explode(',', $this->get_flattened_storyline());
$missing_good_nodes = array_diff($original_nodes, $nodes);
$any_bad_nodes = array_diff($nodes, $original_nodes);
if (empty($missing_good_nodes) && empty($any_bad_nodes)) {
$this->set_flattened_storyline($order);
return true;
} else {
return false;
}
}
/**
* Create a searchable structure from a node list.
* @param array $structure The structure to process.
* @return boolean True if the structure was valid.
*/
function create_structure($structure) {
$key = null;
if (is_string($structure)) {
$key = $structure;
$structure = explode(',', $structure);
} else {
if (is_array($structure)) {
$fixed_structure = array();
foreach ($structure as $s) {
if (!is_array($s)) { $fixed_structure[] = $s; }
}
$key = implode(',', $fixed_structure);
}
}
if (!is_null($key)) {
$key = "storyline-structure-${key}";
if (($result = wp_cache_get($key, 'comicpress')) !== false) {
$this->_structure = $result;
} else {
$new_structure = array();
$parent = null;
$all_leaves = array();
$adjacents_by_parent = array();
if (is_array($structure)) {
$is_valid = true;
foreach ($structure as $branch) {
if (is_string($branch)) {
$parts = explode('/', $branch);
$valid = false;
if (count($parts) > 1) {
if ($parts[0] == '0') { $valid = true; }
}
if (!$valid) {
$is_valid = false; break;
} else {
$data = array();
$leaf = end($parts);
$all_leaves[] = $leaf;
$data['level'] = count($parts) - 1;
if (count($parts) > 2) {
$parent = $parts[count($parts) - 2];
if (!isset($adjacents_by_parent[$parent])) {
$adjacents_by_parent[$parent] = array();
}
$adjacents_by_parent[$parent][] = $leaf;
$data['parent'] = $parent;
}
$new_structure[$leaf] = $data;
}
} else {
$is_valid = false; break;
}
}
if ($is_valid) {
for ($i = 0; $i < count($all_leaves); ++$i) {
foreach (array('previous' => -1, 'next' => 1) as $type => $dir) {
if (isset($all_leaves[$i + $dir])) {
$new_structure[$all_leaves[$i]][$type] = $all_leaves[$i + $dir];
}
}
}
$this->_structure = $new_structure;
}
}
wp_cache_set($key, $this->_structure, 'comicpress');
}
}
return is_array($this->_structure);
}
function _get_field($field, $id) {
if (isset($this->_structure)) {
if (isset($this->_structure[$id])) {
if (isset($this->_structure[$id][$field])) {
return $this->_structure[$id][$field];
}
}
}
return false;
}
function parent($id) { return $this->_get_field('parent', $id); }
function previous($id) { return $this->_get_field('previous', $id); }
function next($id) { return $this->_get_field('next', $id); }
function valid($id) {
if (isset($this->_structure[$id])) {
return array_keys($this->_structure[$id]);
}
return false;
}
function all_adjacent($id, $direction) {
if (isset($this->_structure[$id])) {
$all_adjacent = array();
do {
$has_adjacent = false;
if (!in_array($id, $all_adjacent)) {
if ($has_adjacent = isset($this->_structure[$id][$direction])) {
$all_adjacent[] = $this->_structure[$id][$direction];
$id = $this->_structure[$id][$direction];
}
}
} while ($has_adjacent);
return $all_adjacent;
}
return false;
}
/**
* Get the valid navigation directions for a particular post.
*/
function get_valid_nav($post_id) {
if (($category = $this->get_valid_post_category($post_id)) !== false) {
return $this->valid($category);
}
return false;
}
/**
* Get the valid comic category for this post.
*/
function get_valid_post_category($post_id) {
$result = false;
foreach (wp_get_post_categories($post_id) as $category) {
if ($this->valid($category)) {
if ($result) { return false; }
$result = $category;
}
}
return $result;
}
/**
* Get all comic categories.
* @deprecated
*/
function get_comic_categories() {
return array_keys($this->_structure);
}
/**
* Get a simple storyline.
*/
function get_simple_storyline() {
$simple_storyline = array('0' => array());
foreach ($this->_structure as $category_id => $adjacents) {
$parent = 0;
if (isset($adjacents['parent'])) { $parent = $adjacents['parent']; }
if (!isset($simple_storyline[$parent])) {
$simple_storyline[$parent] = array();
}
$simple_storyline[$parent][$category_id] = true;
}
return $this->_merge_simple_storyline($simple_storyline);
}
/**
* Get a simple structure.
*/
function get_category_simple_structure($parent = null) {
$structure = array();
foreach (get_all_category_ids() as $category_id) {
$category = get_category($category_id);
if (!isset($structure[$category->parent])) {
$structure[$category->parent] = array();
}
$structure[$category->parent][$category_id] = true;
}
$structure = $this->_merge_simple_storyline($structure);
if (!empty($parent)) {
if (isset($structure[0])) {
foreach ($structure[0] as $key => $children) {
if ($key != $parent) { unset($structure[0][$key]); }
}
}
}
return $structure;
}
/**
* Get a flattened category node list.
*/
function get_category_flattened($parent = null) {
return $this->flatten_simple_storyline($this->get_category_simple_structure($parent));
}
/**
* Merge a flat simple storyline into a tree.
*/
function _merge_simple_storyline($simple_storyline) {
while (count($simple_storyline) > 0) {
$merge_found = false;
foreach ($simple_storyline as $parent => $children) {
$has_no_descendents = true;
foreach (array_keys($children) as $child) {
if (is_numeric($child)) {
if (isset($simple_storyline[$child])) {
$has_no_descendents = false;
break;
}
}
}
if ($has_no_descendents) {
$merge_found = $parent; break;
}
}
if ($merge_found !== false) {
foreach ($simple_storyline as $parent => $children) {
if (isset($children[$merge_found])) {
$simple_storyline[$parent][$merge_found] = $simple_storyline[$merge_found];
unset($simple_storyline[$merge_found]);
break;
}
}
}
if (!$merge_found) { break; }
}
return $simple_storyline;
}
/**
* Integrates a bunch of other things.
*/
function normalize($flattened_storyline = null, $set = true) {
$comicpress = ComicPress::get_instance();
if (is_null($flattened_storyline)) {
$flattened_storyline = $this->get_flattened_storyline();
}
$all_categories_flattened = $this->get_category_flattened();
$result = $this->normalize_flattened_storyline($flattened_storyline, $all_categories_flattened);
if ($set) {
$this->set_flattened_storyline($result);
}
return $result;
}
/**
* Sort nodes by node count.
*/
function _length_sort($parts) {
$new = array();
foreach ($parts as $part) {
$p = explode('/', $part);
if (!isset($new[count($p)])) {
$new[count($p)] = array();
}
$new[count($p)][] = $part;
}
ksort($new);
$output = array();
foreach (array_values($new) as $values) {
$output = array_merge($output, $values);
}
return $output;
}
/**
* Normalize a flattened storyline, inserting and removing categories from the list is necessary.
*/
function normalize_flattened_storyline($storyline, $comic_categories) {
$storyline_nodes = explode(",", $storyline);
$category_nodes = explode(",", $comic_categories);
$missing_from_storyline = array_diff($category_nodes, $storyline_nodes);
$extra_in_storyline = array_diff($storyline_nodes, $category_nodes);
if (!empty($missing_from_storyline)) {
$missing_from_storyline = $this->_length_sort($missing_from_storyline);
foreach ($missing_from_storyline as $node) {
$parent_pattern = implode('/', array_slice(explode('/', $node), 0, -1));
$last = null;
for ($i = 0, $il = count($storyline_nodes); $i < $il; ++$i) {
if (strpos($storyline_nodes[$i], $parent_pattern) === 0) {
$last = $i;
}
}
if (!is_null($last)) {
array_splice($storyline_nodes, $last + 1, 0, array($node));
} else {
$storyline_nodes[] = $node;
}
}
}
if (!empty($extra_in_storyline)) {
$new = array();
foreach ($storyline_nodes as $node) {
if (!in_array($node, $extra_in_storyline)) {
$new[] = $node;
}
}
$storyline_nodes = $new;
}
return implode(',', $storyline_nodes);
}
/**
* Flatten a simple storyline.
*/
function flatten_simple_storyline($storyline) {
return implode(',', $this->_follow_simple_storyline($storyline));
}
/**
* Follow the nodes of a simple storyline, creating a node list.
*/
function _follow_simple_storyline($storyline, $parent = null) {
$output = array();
foreach ($storyline as $key => $children) {
if (is_null($parent)) {
$new_parent = $key;
} else {
$new_parent = $parent . '/' . $key;
$output[] = $new_parent;
}
if (is_array($children)) {
$output = array_merge($output, $this->_follow_simple_storyline($children, $new_parent));
}
}
return $output;
}
function &include_all() {
$this->_category_search = array_keys($this->_structure);
return $this;
}
function &exclude_all() {
$this->_category_search = array();
return $this;
}
function _find_children($parent) {
if (!is_numeric($parent)) {
foreach (get_all_category_ids() as $id) {
$category = get_category($id);
if ($category->slug == $parent) {
$parent = $id; break;
}
}
}
if (is_numeric($parent)) {
$children = array($parent);
do {
$found_children = false;
foreach ($this->_structure as $category_id => $info) {
if (!in_array($category_id, $children)) {
if (isset($info['parent'])) {
if (in_array($info['parent'], $children)) {
$children[] = $category_id;
$found_children = true;
}
}
}
}
} while ($found_children);
return $children;
}
return false;
}
function &_include() {
$args = func_get_args();
$method = array_shift($args);
$this->_category_search = array_unique(array_merge($this->_category_search, call_user_func_array(array($this, $method), $args)));
sort($this->_category_search);
return $this;
}
function &_exclude() {
$args = func_get_args();
$method = array_shift($args);
$this->_category_search = array_diff($this->_category_search, call_user_func_array(array($this, $method), $args));
sort($this->_category_search);
return $this;
}
function _find_level_or_above($level = null) {
$found = array();
foreach ($this->_structure as $category_id => $info) {
if ($info['level'] <= $level) { $found[] = $category_id; }
}
return $found;
}
function _find_only($id = null) {
if (isset($this->_structure[$id])) {
return array($id);
}
return array();
}
function _find_level($level = null) {
$found = array();
foreach ($this->_structure as $category_id => $info) {
if ($info['level'] == $level) { $found[] = $category_id; }
}
return $found;
}
function _ensure_post_id($thing) {
$id = null;
if (is_object($thing)) {
if (isset($thing->ID)) { $id = $thing->ID; }
} else {
if (is_numeric($thing)) { $id = $thing; }
}
return $id;
}
function _find_post_category($post = null) {
$found = array();
$id = $this->_ensure_post_id($post);
if (!is_null($id)) {
if (count($categories = wp_get_post_categories($id)) == 1) {
$found = $categories;
}
}
return $found;
}
function _find_adjacent($category = null, $next = false) {
$found = array();
if (!is_null($category)) {
if (isset($this->_structure[$category])) {
$field = $next ? 'next' : 'previous';
if (isset($this->_structure[$category][$field])) {
$found = array($this->_structure[$category][$field]);
}
}
}
return $found;
}
function _find_post_root($post = null) {
$found = array();
$id = $this->_ensure_post_id($post);
if (!is_null($id)) {
if (count($categories = wp_get_post_categories($id)) == 1) {
$comic_post = new ComicPressComicPost(get_post($id));
$parents = $comic_post->find_parents();
if (!empty($parents)) {
$parents = array_keys($parents); $found = $this->_find_children(end($parents));
}
}
}
return $found;
}
function end_search() {
$result = $this->_category_search;
$this->_category_search = array();
return $result;
}
function build_from_restrictions($restrictions = null) {
global $post;
$this->read_from_options();
$this->exclude_all();
$include_all = true;
if (is_array($restrictions)) {
if (!empty($restrictions)) {
$include_all = false;
}
}
if (!$include_all) {
foreach ($restrictions as $type => $list) {
if (substr($type, 0, 1) == "!") {
$method_root = 'exclude';
$method_type = substr($type, 1);
} else {
$method_root = 'include';
$method_type = $type;
}
if (!is_array($list)) { $list = array($list); }
foreach ($list as $restriction) {
$method = '';
$args = array($restriction);
switch ($method_type) {
case 'child_of': $method = 'children'; break;
case 'root_of': $method = 'post_root'; break;
case 'from_post': $method = 'post_category'; break;
case 'previous':
$method = 'adjacent';
$args[] = false;
break;
case 'next':
$method = 'adjacent';
$args[] = true;
break;
default:
$method = $method_type; break;
}
if (!empty($method)) {
array_unshift($args, "_find_${method}");
call_user_func_array(array($this, "_${method_root}"), $args);
}
}
}
} else {
$this->include_all();
}
return $this->end_search();
}
}
?>

33
comicpress-config.php Normal file
View File

@ -0,0 +1,33 @@
<?php
//COMIC CATEGORY -the WordPress ID # of your comic category (default "3")
$comiccat = "3";
//BLOG CATEGORY - the WordPress ID of your blog category (default "1")
$blogcat = "4";
//COMIC FOLDER - the folder your comics files are located in (default "comics")
$comic_folder = "comics";
//RSS COMIC FOLDER - the folder your comic files are in for the RSS feed (default "comics")
$rss_comic_folder = "comics-rss";
//ARCHIVE COMIC FOLDER - the folder your comic files are in for your archive pages (default "comics")
$archive_comic_folder = "comics-archive";
//ARCHIVE COMIC WIDTH - the width your comics will appear on archive or search results (default "380")
$archive_comic_width = "380";
//RSS COMIC WIDTH - ComicPress Manager plugin users only - the width your comics appear in the RSS feed (default "600").
$rss_comic_width = "600";
//BLOG POSTCOUNT - the number of blog entries to appear on the home page (default "5").
$blog_postcount = "3";
//Mini Comic Width - The width your comics will appear in minithumbs (default "100")
$mini_comic_width = "80";
//Minithumb Comic Folder - The folder for your your mini thumbs (default "comics-mini")
$mini_comic_folder = "comics-mini";
?>

View File

@ -0,0 +1,294 @@
<?php
// theme options
$options = array (
array("type" => "open"),
array(
"id" => "comicpress-disable_comic_frontpage",
"default" => "no",
"type" => "comicpress-disable_comic_frontpage"),
array(
"id" => "comicpress-disable_comic_blog_frontpage",
"default" => "no",
"type" => "comicpress-disable_comic_blog_frontpage"),
array(
"id" => "comicpress-disable_comic_blog_single",
"default" => "no",
"type" => "comicpress-disable_comic_blog_single"),
array(
"id" => "comicpress-disable_blog_frontpage",
"default" => "no",
"type" => "comicpress-disable_blog_frontpage"),
array(
"id" => "comicpress-custom_css",
"default" => "",
"type" => "comicpress-custom_css"),
array(
"id" => "comicpress-cp_theme_layout",
"default" => "standard",
"type" => "comicpress-cp_theme_layout"),
array(
"id" => "comicpress-buy_print_email",
"default" => "youremail@youremail.com",
"type" => "comicpress-buy_print_email"),
array(
"id" => "comicpress-buy_print_url",
"default" => "/shop/",
"type" => "comicpress-buy_print_url"),
array(
"id" => "comicpress-buy_print_us_amount",
"default" => "19.95",
"type" => "comicpress-buy_print_us_amount"),
array(
"id" => "comicpress-buy_print_int_amount",
"default" => "29.95",
"type" => "comicpress-buy_print_int_amount"),
array(
"id" => "comicpress-buy_print_add_shipping",
"default" => "yes",
"type" => "comicpress-buy_print_add_shipping"),
array(
"id" => "comicpress-buy_print_us_ship",
"default" => "4.95",
"type" => "comicpress-buy_print_us_ship"),
array(
"id" => "comicpress-buy_print_int_ship",
"default" => "9.95",
"type" => "comicpress-buy_print_int_ship"),
array(
"id" => "comicpress-transcript_in_posts",
"default" => "no",
"type" => "comicpress-transcript_in_posts"),
array(
"id" => "comicpress-enable_widgetarea_use_sidebar_css",
"default" => "no",
"type" => "comicpress-enable_widgetarea_use_sidebar_css"),
array(
"id" => "comicpress-contact_in_menubar",
"default" => "no",
"type" => "comicpress-contact_in_menubar"),
array(
"id" => "comicpress-disable_extended_comments",
"default" => "no",
"type" => "comicpress-disable_extended_comments"),
array(
"id" => "comicpress-enable_custom_image_header",
"default" => "no",
"type" => "comicpress-enable_custom_image_header"),
array(
"id" => "comicpress-custom_image_header_width",
"default" => "780",
"type" => "comicpress-custom_image_header_width"),
array(
"id" => "comicpress-custom_image_header_height",
"default" => "120",
"type" => "comicpress-custom_image_header_height"),
array(
"id" => "comicpress-enable_numbered_pagination",
"default" => "no",
"type" => "comicpress-enable_numbered_pagination"),
array(
"id" => "comicpress-disable_page_restraints",
"default" => "no",
"type" => "comicpress-disable_page_restraints"),
array(
"id" => "comicpress-enable_dropdown_sidebar",
"default" => "no",
"type" => "comicpress-enable_dropdown_sidebar"),
array(
"id" => "comicpress-enable_related_comics",
"default" => "no",
"type" => "comicpress-enable_related_comics"),
array(
"id" => "comicpress-enable_related_posts",
"default" => "no",
"type" => "comicpress-enable_related_posts"),
array(
"id" => "comicpress-comic_clicks_next",
"default" => "no",
"type" => "comicpress-comic_clicks_next"),
array(
"id" => "comicpress-rascal_says",
"default" => "no",
"type" => "comicpress-rascal_says"),
array(
"id" => "comicpress-disable_css_style_editor",
"default" => "no",
"type" => "comicpress-disable_css_style_editor"),
array(
"id" => "comicpress-enable_post_calendar",
"default" => "no",
"type" => "comicpress-enable_post_calendar"),
array(
"id" => "comicpress-enable_post_author_gravatar",
"default" => "no",
"type" => "comicpress-enable_post_author_gravatar"),
array(
"id" => "comicpress-enable_comic_post_calendar",
"default" => "no",
"type" => "comicpress-enable_comic_post_calendar"),
array(
"id" => "comicpress-enable_comic_post_author_gravatar",
"default" => "no",
"type" => "comicpress-enable_comic_post_author_gravatar"),
array(
"id" => "comicpress-disable_tags_in_posts",
"default" => "no",
"type" => "comicpress-disable_tags_in_posts"),
array(
"id" => "comicpress-disable_categories_in_posts",
"default" => "no",
"type" => "comicpress-disable_categories_in_posts"),
array(
"id" => "comicpress-moods_directory",
"default" => "default",
"type" => "comicpress-moods_directory"),
array(
"id" => "comicpress-graphicnav_directory",
"default" => "default",
"type" => "comicpress-graphicnav_directory"),
array(
"id" => "comicpress-enable_search_in_menubar",
"default" => "no",
"type" => "comicpress-enable_search_in_menubar"),
array(
"id" => "comicpress-enable_rss_in_menubar",
"default" => "no",
"type" => "comicpress-enable_rss_in_menubar"),
array(
"id" => "comicpress-enable_navigation_in_menubar",
"default" => "yes",
"type" => "comicpress-enable_navigation_in_menubar"),
array(
"id" => "comicpress-disable_lrsidebars_frontpage",
"default" => "no",
"type" => "comicpress-disable_lrsidebars_frontpage"),
array(
"id" => "comicpress-calendar_directory",
"default" => "default",
"type" => "comicpress-calendar_directory"),
array(
"id" => "comicpress-disable_dynamic_menubar_links",
"default" => "no",
"type" => "comicpress-disable_dynamic_menubar_links"),
array(
"id" => "comicpress-disable_footer_text",
"default" => "no",
"type" => "comicpress-disable_footer_text"),
array(
"id" => "comicpress-avatar_directory",
"default" => "default",
"type" => "comicpress-avatar_directory"),
array(
"id" => "comicpress-archive_display_order",
"default" => "desc",
"type" => "comicpress-archive_display_order"),
array(
"id" => "comicpress-disable_comment_note",
"default" => "no",
"type" => "comicpress-disable_comment_note"),
array(
"id" => "comicpress-excerpt_or_content_archive",
"default" => "excerpt",
"type" => "comicpress-excerpt_or_content_archive"),
array(
"id" => "comicpress-excerpt_or_content_search",
"default" => "excerpt",
"type" => "comicpress-excerpt_or_content_search"),
array(
"id" => "comicpress-category_thumbnail_postcount",
"default" => "30",
"type" => "comicpress-category_thumbnail_postcount"),
array(
"id" => "comicpress-members_post_category",
"default" => "",
"type" => "comicpress-members_post_category"),
array(
"id" => "comicpress-blogposts_with_comic",
"default" => "no",
"type" => "comicpress-blogposts_with_comic"),
array(
"id" => "comicpress-split_column_in_two",
"default" => "no",
"type" => "comicpress-split_column_in_two"),
array(
"id" => "comicpress-author_column_one",
"default" => "1",
"type" => "comicpress-author_column_one"),
array(
"id" => "comicpress-author_column_two",
"default" => "1",
"type" => "comicpress-author_column_two"),
array(
"id" => "comicpress-remove_wptexturize",
"default" => "no",
"type" => "comicpress-remove_wptexturize"),
array(
"id" => "comicpress-disable_default_menubar",
"default" => "no",
"type" => "comicpress-disable_default_menubar"),
array(
"id" => "comicpress-disable_blogheader",
"default" => "no",
"type" => "comicpress-disable_blogheader"),
array("type" => "close")
);
?>

117
comicpress-options.php Normal file
View File

@ -0,0 +1,117 @@
<?php
@include(get_template_directory() . '/comicpress-options-config.php');
function options() {
$pagehook = add_submenu_page('themes.php','comicpress', __('ComicPress Options','comicpress'), 10, 'comicpress-options', 'comicpress_admin');
add_action('admin_head-'.$pagehook, 'comicpress_admin_page_head');
}
function comicpress_admin_page_head() {
global $is_IE;
if ($is_IE) { ?>
<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/js/tabbed/tabbed_pages_ie.css" type="text/css" media="screen" />
<?php } else { ?>
<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/js/tabbed/tabbed_pages.css" type="text/css" media="screen" />
<?php } ?>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/tabbed/tabbed_pages.js"></script>
<?php }
function comicpress_admin() {
global $options, $upload_path, $blogcat, $moods_directory, $calendar_directory, $graphicnav_directory;
?>
<div class="wrap">
<h2 class="alignleft"><?php _e('ComicPress Options','comicpress'); ?></h2>
<a class="alignright" style="margin: 20px;" href="http://comicpress.org/"><img src="<?php echo get_template_directory_uri(); ?>/images/options/comicpress_logo.png" alt="ComicPress" /></a>
<br clear="all" />
<div style="float: right">
<form method="post" id="myForm" name="template" enctype="multipart/form-data">
<input name="comicpress_reset" type="submit" class="button-primary" value="Reset Settings" />
<input type="hidden" name="action" value="comicpress_reset" />
</form>
</div>
<br clear="all" />
<?php
if ( wp_verify_nonce($_POST['_wpnonce'], 'update-options') ) {
if ('comicpress_save'== $_REQUEST['action']) {
foreach ($options as $value) {
if( !isset( $_REQUEST[ $value['id'] ] ) ) { } else { update_option( $value['id'], stripslashes($_REQUEST[ $value['id']])); } } ?>
<div id="message" class="updated fade"><p><strong><?php _e('Options/Settings SAVED!','comicpress'); ?></strong></p></div>
<?php }
if ('comicpress_reset' == $_REQUEST['action'] ) {
foreach ($options as $default) {
delete_option($default['id'],$default['default']);
} ?>
<div id="message" class="updated fade"><p><strong><?php _e('Options/Settings RESET!','comicpress'); ?></strong></p></div>
<?php
}
}
// set default options
foreach ($options as $default) {
if(get_option($default['id'])=="") {
update_option($default['id'],$default['default']);
}
}
@require(get_template_directory() . '/comicpress-config.php');
?>
<div id="poststuff" class="metabox-holder">
<div id="cpadmin">
<div class="on" title="themestyle"><span><?php _e('Theme Style','comicpress'); ?></span></div>
<div class="off" title="generaloptions"><span><?php _e('General','comicpress'); ?></span></div>
<div class="off" title="indexoptions"><span><?php _e('Index Page','comicpress'); ?></span></div>
<div class="off" title="postoptions"><span><?php _e('Post','comicpress'); ?></span></div>
<div class="off" title="archivesearch"><span><?php _e('Archive &amp; Search','comicpress'); ?></span></div>
<div class="off" title="menubaroptions"><span><?php _e('Menubar','comicpress'); ?></span></div>
<div class="off" title="customheader"><span><?php _e('Custom Header','comicpress'); ?></span></div>
<div class="off" title="buyprintoptions"><span><?php _e('Buy Print','comicpress'); ?></span></div>
<div class="off" title="membersoptions"><span><?php _e('Members','comicpress'); ?></span></div>
</div>
<?php include(get_template_directory() . '/options/themestyle.php'); ?>
<?php include(get_template_directory() . '/options/generaloptions.php'); ?>
<?php include(get_template_directory() . '/options/indexoptions.php'); ?>
<?php include(get_template_directory() . '/options/postoptions.php'); ?>
<?php include(get_template_directory() . '/options/archivesearchoptions.php'); ?>
<?php include(get_template_directory() . '/options/menubaroptions.php'); ?>
<?php include(get_template_directory() . '/options/customheaderoptions.php'); ?>
<?php include(get_template_directory() . '/options/buyprintoptions.php'); ?>
<?php include(get_template_directory() . '/options/membersoptions.php'); ?>
</div>
<div style="margin-top: 10px; text-align:center;padding: 5px; background: #eee; -moz-border-radius: 10px;-khtml-border-radius: 10px;-webkit-border-radius: 10px;border-radius: 10px;border: solid 1px #000;">
<a href="http://comicpress.org/">ComicPress 2.8 (<?php global $comicpress_version; echo $comicpress_version; ?>)</a>, <?php _e('created by','comicpress'); ?> <a href="http://mindfaucet.com/">Tyler Martin</a>, <?php _e('with','comicpress'); ?> <a href="http://www.coswellproductions.com/">John Bintz</a> <?php _e('and','comicpress'); ?> <a href="http://webcomicplanet.com/">Philip M. Hofer</a> (<a href="http://frumph.net/">Frumph</a>)<br />
<?php _e('If you like the ComicPress theme, please donate. It will help in creating new versions.','comicpress'); ?><br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="7827910">
<input type="image"
src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif"
border="0" name="submit" alt="PayPal - The safer, easier way to pay
online!">
<img alt="" border="0"
src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1"
height="1">
</form>
</div>
</div>
<?php
}
add_action('admin_menu', 'options');
?>

134
comments.php Normal file
View File

@ -0,0 +1,134 @@
<?php
if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
die (__('Please do not load this page directly. Thanks!','comicpress'));
if ( post_password_required() ) { ?>
<p class="nocomments"><?php _e('This post is password protected. Enter the password to view comments.','comicpress'); ?></p>
<?php
return;
} ?>
<div id="comment-wrapper-head"></div>
<div id="comment-wrapper">
<?php if ( have_comments() ) : ?>
<?php if ( ! empty($comments_by_type['comment']) ) : ?>
<div class="commentsrsslink">[ <?php comments_rss_link('Comments RSS'); ?> ]</div>
<h3 id="comments"><?php comments_number(__('Discussion &not;','comicpress'), __('Discussion &not;','comicpress'), __('Discussion (%) &not;','comicpress') );?></h3>
<ol class="commentlist">
<?php
if (function_exists('comicpress_comments_callback')) {
wp_list_comments(array(
'type' => 'comment',
'reply_text' => __('Reply to %s&not;','comicpress'),
'callback' => 'comicpress_comments_callback',
'end-callback' => 'comicpress_comments_end_callback',
'avatar_size'=>64
)
);
} else {
wp_list_comments(array('type' => 'comment', 'avatar_size'=>64));
}?>
</ol>
<?php endif; ?>
<?php global $enable_numbered_pagination; if ($enable_numbered_pagination == 'yes') { ?>
<?php
$pagelinks = paginate_comments_links(array('echo' => 0));
if (!empty($pagelinks)) {
$pagelinks = preg_replace('#\<a#', '<li><a', $pagelinks);
$pagelinks = preg_replace('#\<\/a\>#', '</a></li>', $pagelinks);
$pagelinks = preg_replace('#\<span#', '<li', $pagelinks);
$pagelinks = preg_replace('#\<\/span\>#', '</li>', $pagelinks); ?>
<div id="wp-paginav">
<div id="paginav">
<?php echo '<ul><li class="paginav-extend">'.__('Comment Pages','comicpress').'</li>'. $pagelinks . '</ul>'; ?>
</div>
<div class="clear"></div>
</div>
<?php } ?>
<?php } else { ?>
<div class="commentnav">
<div class="commentnav-right"><?php next_comments_link(__('Next Comments &uarr;','comicpress')) ?></div>
<div class="commentnav-left"><?php previous_comments_link(__('&darr; Previous Comments','comicpress')) ?></div>
<div class="clear"></div>
</div>
<?php } ?>
<?php else : // this is displayed if there are no comments so far ?>
<?php if ('open' == $post->comment_status) : ?>
<!-- If comments are open, but there are no comments. -->
<?php else : // comments are closed ?>
<!-- If comments are closed. -->
<p class="nocomments"><?php _e('Comments are closed.','comicpress'); ?></p>
<?php endif; ?>
<?php endif; ?>
<?php if ('open' == $post->comment_status) : ?>
<div id="respond">
<h3><?php comment_form_title( __('Comment &not;','comicpress'), __('Reply to %s &not;','comicpress') ); ?></h3>
<div class="cancel-comment-reply">
<p><small><?php cancel_comment_reply_link(); ?></small></p>
</div>
<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
<p><?php _e('You must be','comicpress'); ?> <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php echo urlencode(get_permalink()); ?>"><?php _e('logged in','comicpress'); ?></a> <?php _e('to post a comment.','comicpress'); ?></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','comicpress'); ?> <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="<?php _e('Log out of this account','comicpress'); ?>"><?php _e('Log out &raquo;','comicpress'); ?></a></p>
<?php else : ?>
<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" />
<label for="author"><small><?php _e('NAME &mdash;','comicpress'); ?> <a href="http://gravatar.com"><?php _e('Get a Gravatar','comicpress'); ?></a></small></label></p>
<p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />
<label for="email"><small><?php _e('EMAIL','comicpress'); ?> <?php if ($req) echo __("&mdash; Required / not published",'comicpress'); ?> </small></label></p>
<p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" />
<label for="url"><small><?php _e('WEBSITE','comicpress'); ?></small></label></p>
<?php endif; ?>
<?php do_action('comment_form', $post->ID); ?>
<p><textarea name="comment" id="comment-textarea" cols="60" rows="6" tabindex="4"></textarea></p>
<p><button type="submit" class="comment-submit"><?php _e('Submit Comment','comicpress'); ?></button></p>
<?php global $disable_comment_note;
if ($disable_comment_note != 'yes') { ?>
<p><span class="comment-note"><?php _e('NOTE - You can use these tags:','comicpress'); ?><br /><?php echo allowed_tags(); ?></span></p>
<?php } ?>
<?php comment_id_fields(); ?>
</form>
<?php endif; ?>
</div>
<?php endif; ?>
<?php if ( ! empty($comments_by_type['pings']) ) : ?>
<h3 id="comments"><?php _e('Pings & Trackbacks &not;','comicpress'); ?></h3>
<ol class="commentlist">
<ul>
<?php
if (function_exists('comicpress_comments_callback')) {
wp_list_comments(array(
'type' => 'pings',
'callback' => 'comicpress_comments_callback',
'end-callback' => 'comicpress_comments_end_callback',
'avatar_size'=>32
)
);
} else {
wp_list_comments(array('type' => 'pings', 'avatar_size'=>64));
}?>
</ul>
</ol>
<?php endif; ?>
</div>
<div id="comment-wrapper-foot"></div>

29
footer.php Normal file
View File

@ -0,0 +1,29 @@
<div id="footer">
<?php if (function_exists('the_project_wonderful_ad')) { ?>
<div class="footerpwad">
<center>
<?php the_project_wonderful_ad('footer'); ?>
</center>
</div>
<?php } ?>
<?php get_sidebar('footer'); ?>
<?php global $disable_footer_text, $wpmu_version; if ($disable_footer_text != 'yes') { ?>
<p>
<span class="footer-copyright"><?php echo cp_copyright(); ?> <?php if (empty($wpmu_version)) { ?><?php echo the_author_meta('firstname',1); echo "&nbsp;"; echo the_author_meta('lastname',1); ?><span class="footer-pipe"> | </span><?php } ?></span>
<span class="footer-powered"><?php bloginfo('name'); ?> <?Php _e('Powered by','comicpress'); ?> <a href="http://wordpress.org/">WordPress</a> <?php _e('with','comicpress'); ?> <a href="http://comicpress.org/">ComicPress</a><span class="footer-pipe"> | </span></span>
<span class="footer-subscribe">Subscribe: <a href="<?php bloginfo('rss2_url') ?>">RSS Feed</a><span class="footer-pipe"> | </span></span>
<span class="footer-uptotop"><a href="#outside" onclick="scrollup(); return false;"><?php _e('Back to Top &uarr;','comicpress'); ?></a></span>
<!-- <?php echo get_num_queries() ?> queries. <?php timer_stop(1) ?> seconds. -->
</p>
<?php } ?>
</div>
<?php global $disable_page_restraints; if ($disable_page_restraints == 'no') { ?>
</div><!-- Ends "page/page-wide" -->
</div><!-- Ends "page-wrap" -->
<?php } ?>
<div id="page-foot"></div>
<?php wp_footer() ?>
</body>
</html>

888
functions.php Normal file
View File

@ -0,0 +1,888 @@
<?php
// Queue up the scripts.
wp_enqueue_script('comicpress_scroll', get_template_directory_uri() . '/js/scroll.js');
function init_language(){
// xili-language plugin check
if (class_exists('xili_language')) {
define('THEME_TEXTDOMAIN','comicpress');
define('THEME_LANGS_FOLDER','/lang');
} else {
load_theme_textdomain( 'comicpress', get_template_directory() . '/lang' );
}
}
add_action ('init', 'init_language');
// remove intense debates control over the comment numbers
if (function_exists('id_get_comment_number')) {
remove_filter('comments_number','id_get_comment_number');
}
$comicpress_version = '2.8.2.6';
global $wpmu_version;
if (!empty($wpmu_version)) {
if (get_option('upload_path') !== false) {
$variables_to_extract = array();
foreach (array(
'comiccat' => 'comiccat',
'blogcat' => 'blogcat',
'comics_path' => 'comic_folder',
'comicsrss_path' => 'rss_comic_folder',
'comicsarchive_path' => 'archive_comic_folder',
'comicsmini_path' => 'mini_comic_folder',
'archive_comic_width' => 'archive_comic_width',
'rss_comic_width' => 'rss_comic_width',
'mini_comic_width' => 'mini_comic_width',
'blog_postcount' => 'blog_postcount') as $options => $variable_name) {
$variables_to_extract[$variable_name] = get_option("comicpress-${options}");
}
extract($variables_to_extract);
}
} else {
require(get_template_directory() . '/comicpress-config.php');
}
if (get_option('upload_path') !== false) {
$variables_to_extract = array();
foreach (array(
'disable_comic_frontpage' => 'disable_comic_frontpage',
'disable_comic_blog_frontpage' => 'disable_comic_blog_frontpage',
'disable_comic_blog_single' => 'disable_comic_blog_single',
'disable_blog_frontpage' => 'disable_blog_frontpage',
'buy_print_email' => 'buy_print_email',
'buy_print_url' => 'buy_print_url',
'buy_print_us_amount' => 'buy_print_us_amount',
'buy_print_int_amount' => 'buy_print_int_amount',
'buy_print_add_shipping' => 'buy_print_add_shipping',
'buy_print_us_ship' => 'buy_print_us_ship',
'buy_print_int_ship' => 'buy_print_int_ship',
'cp_theme_layout' => 'cp_theme_layout',
'transcript_in_posts' => 'transcript_in_posts',
'enable_widgetarea_use_sidebar_css' => 'enable_widgetarea_use_sidebar_css',
'enable_custom_image_header' => 'enable_custom_image_header',
'custom_image_header_width' => 'custom_image_header_width',
'custom_image_header_height' => 'custom_image_header_height',
'enable_numbered_pagination' => 'enable_numbered_pagination',
'disable_page_restraints' => 'disable_page_restraints',
'enable_related_comics' => 'enable_related_comics',
'enable_related_posts' => 'enable_related_posts',
'comic_clicks_next' => 'comic_clicks_next',
'rascal_says' => 'rascal_says',
'disable_css_style_editor' => 'disable_css_style_editor',
'enable_post_calendar' => 'enable_post_calendar',
'enable_post_author_gravatar' => 'enable_post_author_gravatar',
'enable_comic_post_calendar' => 'enable_comic_post_calendar',
'enable_comic_post_author_gravatar' => 'enable_comic_post_author_gravatar',
'disable_tags_in_posts' => 'disable_tags_in_posts',
'disable_categories_in_posts' => 'disable_categories_in_posts',
'moods_directory' => 'moods_directory',
'graphicnav_directory' => 'graphicnav_directory',
'enable_search_in_menubar' => 'enable_search_in_menubar',
'enable_rss_in_menubar' => 'enable_rss_in_menubar',
'enable_navigation_in_menubar' => 'enable_navigation_in_menubar',
'disable_lrsidebars_frontpage' => 'disable_lrsidebars_frontpage',
'calendar_directory' => 'calendar_directory',
'contact_in_menubar' => 'contact_in_menubar',
'disable_dynamic_menubar_links' => 'disable_dynamic_menubar_links',
'disable_footer_text' => 'disable_footer_text',
'themepack_directory' => 'themepack_directory',
'avatar_directory' => 'avatar_directory',
'archive_display_order' => 'archive_display_order',
'disable_comment_note' => 'disable_comment_note',
'excerpt_or_content_archive' => 'excerpt_or_content_archive',
'excerpt_or_content_search' => 'excerpt_or_content_search',
'category_thumbnail_postcount' => 'category_thumbnail_postcount',
'members_post_category' => 'members_post_category',
'blogposts_with_comic' => 'blogposts_with_comic',
'split_column_in_two' => 'split_column_in_two',
'author_column_one' => 'author_column_one',
'author_column_two' => 'author_column_two',
'remove_wptexturize' => 'remove_wptexturize',
'disable_default_menubar' => 'disable_default_menubar',
'disable_blogheader' => 'disable_blogheader' ) as $options => $variable_name) {
$variables_to_extract[$variable_name] = get_option("comicpress-${options}");
}
extract($variables_to_extract);
}
if (empty($avatar_directory)) $avatar_directory = 'default';
if (empty($graphicnav_directory)) $graphicnav_directory = 'default';
if (empty($moods_directory)) $moods_directory = 'default';
if (empty($calendar_directory)) $calendar_directory = 'default';
if (empty($cp_theme_layout)) $cp_theme_layout='standard';
function is_cp_theme_layout($choices) {
global $cp_theme_layout;
if (empty($cp_theme_layout)) $cp_theme_layout='standard';
$choices = explode(",", $choices);
foreach ($choices as $choice) {
if ($choice == $cp_theme_layout) {
return true;
}
}
return false;
}
if ($remove_wptexturize == 'yes') {
// Remove the wptexturizer from changing the quotes and squotes.
// remove_filter('the_content', 'wpautop');
// remove_filter('the_title', 'wptexturize');
remove_filter('the_content', 'wptexturize');
// remove_filter('the_excerpt', 'wptexturize');
// remove_filter('comment_text', 'wptexturize');
}
// WIDGETS WP 2.8 compatible ONLY, no backwards compatibility here.
$dirs_to_search = array_unique(array(get_template_directory(),get_stylesheet_directory()));
foreach ($dirs_to_search as $dir) {
// Widgets
foreach (glob($dir . '/widgets/*.php') as $__file) { require_once($__file); }
// FUNCTIONS & Extra's
foreach (glob($dir . '/functions/*.php') as $__file) { require_once($__file); }
}
// Dashboard Menu Comicpress Options and ComicPress CSS
require_once(get_template_directory() . '/comicpress-options.php');
// If any errors occur while searching for a comic file, the error messages will be pushed into here.
$comic_pathfinding_errors = array();
// If ComicPress Manager is installed, use the date format defined there. If not, default to
// Y-m-d.. It's best to use CPM's date definition for improved operability between theme and plugin.
if (defined("CPM_DATE_FORMAT")) {
define("CP_DATE_FORMAT", CPM_DATE_FORMAT);
} else {
define("CP_DATE_FORMAT", "Y-m-d");
}
// If you want to run multiple comics on a single day, define your additional filters here.
// Example: you want to run an additional comic with the filename 2008-01-01-a-my-new-years-comic.jpg.
// Define an additional filter in the list below:
//
// $comic_filename_filters['secondary'] = "{date}-a*.*";
//
// Then show the second comic on your page by calling the_comic with your filter name (PHP tags munged
// to maintain valid file syntax):
//
// < ?php the_comic('secondary'); ? >
//
// Note that it's quite possible to slurp up the wrong file if your expressions are too broad.
$comic_filename_filters = array();
$comic_filename_filters['default'] = "{date}*.*";
// load all of the comic & non-comic category information
add_action('init', 'get_all_comic_categories');
function get_first_comic() {
return get_terminal_post_in_category(get_all_comic_categories_as_cat_string(), true);
}
function get_last_comic() {
return get_terminal_post_in_category(get_all_comic_categories_as_cat_string(), false);
}
/**
* Get the hyperlink to the first comic post in the database.
* @return string The hyperlink to the first comic post, or false.
*/
function get_first_comic_permalink() {
$terminal = get_first_comic();
return !empty($terminal) ? get_permalink($terminal->ID) : false;
}
/**
* Get the hyperlink to the last comic post in the database.
* @return string The hyperlink to the first comic post, or false.
*/
function get_last_comic_permalink() {
$terminal = get_last_comic();
return !empty($terminal) ? get_permalink($terminal->ID) : false;
}
/**
* Given a category ID or an array of category IDs, create an exclusion string that will
* filter out every category but the provided ones.
*/
function get_string_to_exclude_all_but_provided_categories($category) {
$category_ids = array_keys(get_all_category_objects_by_id());
if (!is_array($category)) { $category = array($category); }
return implode(" and ", array_diff($category_ids, $category));
}
/**
* Get the link to the previous comic from the current one.
*/
function previous_comic_link($format, $link) {
global $non_comic_categories;
previous_post_link($format, $link, false, $non_comic_categories);
}
/**
* Get the link to the next comic from the current one.
*/
function next_comic_link($format, $link) {
global $non_comic_categories;
next_post_link($format, $link, false, $non_comic_categories);
}
/**
* Get the previous comic from the current one.
*/
function get_previous_comic($category = null) { return get_adjacent_comic($category, true); }
/**
* Get the next comic from the current one.
*/
function get_next_comic($category = null) { return get_adjacent_comic($category); }
/**
* This is function get_next_comic_permalink
*
* @return mixed false if no next comic permalink, else return the permalink
*
*/
function get_next_comic_permalink() {
$next_comic = get_next_comic();
if (is_object($next_comic)) {
if (isset($next_comic->ID)) {
return get_permalink($next_comic->ID);
}
}
return false;
}
/**
* This is function get_previous_comic_permalink
*
* @return mixed false if there is no permalink or next previous comic
*
*/
function get_previous_comic_permalink() {
$prev_comic = get_previous_comic();
if (is_object($prev_comic)) {
if (isset($prev_comic->ID)) {
return get_permalink($prev_comic->ID);
}
}
return false;
}
/**
* Get the adjacent comic from the current one.
* @param int $category The category to use.
* @param boolean $previous True if the previous chronological comic should be retrieved.
* @return array The WordPress post object for the comic post.
*/
function get_adjacent_comic($category, $previous = false) {
global $non_comic_categories;
// get_all_comic_categories();
$categories_to_exclude = $non_comic_categories;
if (!empty($category)) {
$categories_to_exclude = get_string_to_exclude_all_but_provided_categories($category);
}
return get_adjacent_post(false, $categories_to_exclude, $previous);
}
/**
* Find the terminal post in a specific category.
*/
function get_terminal_post_in_category($categoryID, $first = true) {
global $post;
$temp = $wp_query; $wp_query = null;
$sortOrder = $first ? "asc" : "desc";
$terminalComicQuery = new WP_Query(); $terminalComicQuery->query("showposts=1&order=${sortOrder}&cat=${categoryID}");
$terninalPost = false;
if ($terminalComicQuery->have_posts()) {
$terminalPost = reset($terminalComicQuery->posts);
}
$wp_query = null; $wp_query = $temp;
return $terminalPost;
}
/**
* Find the first post in the storyline prior to the current one.
*/
function get_previous_storyline_start() {
if (($category_id = get_adjacent_storyline_category_id(false)) !== false) {
return get_terminal_post_in_category($category_id);
}
return false;
}
function get_previous_storyline_start_permalink() {
$prev_story = get_previous_storyline_start();
if (is_object($prev_story)) {
if (isset($prev_story->ID)) {
return get_permalink($prev_story->ID);
}
}
return false;
}
/**
* Find the first post in the storyline following to the current one.
*/
function get_next_storyline_start() {
if (($category_id = get_adjacent_storyline_category_id(true)) !== false) {
return get_terminal_post_in_category($category_id);
}
return false;
}
function get_next_storyline_start_permalink() {
$next_story = get_next_storyline_start();
if (is_object($next_story)) {
if (isset($next_story->ID)) {
return get_permalink($next_story->ID);
}
}
return false;
}
function get_adjacent_storyline_category_id($next = false) {
global $post, $category_tree;
$categories = wp_get_post_categories($post->ID);
if (is_array($categories)) {
$category_id = reset($categories);
for ($i = 0, $il = count($category_tree); $i < $il; ++$i) {
$storyline_category_id = end(explode("/", $category_tree[$i]));
if ($storyline_category_id == $category_id) {
$target_index = false;
if ($next) {
$target_index = $i + 1;
} else {
$target_index = $i - 1;
}
if (isset($category_tree[$target_index])) {
return end(explode('/', $category_tree[$target_index]));
}
}
}
}
return false;
}
/**
* Find a comic file in the filesystem.
* @param string $folder The folder name to search.
* @param string $override_post A WP Post object to use in place of global $post.
* @param string $filter The $comic_filename_filters to use.
* @return string The relative path to the comic file, or false if not found.
*/
function get_comic_path($folder = 'comic', $override_post = null, $filter = 'default', $multi = null) {
global $post, $comic_filename_filters, $comic_folder, $archive_comic_folder, $rss_comic_folder, $mini_comic_folder, $comic_pathfinding_errors, $wpmu_version;
if (isset($comic_filename_filters[$filter])) {
$filter_to_use = $comic_filename_filters[$filter];
} else {
$filter_to_use = '{date}*.*';
}
switch ($folder) {
case "rss": $folder_to_use = $rss_comic_folder; break;
case "archive": $folder_to_use = $archive_comic_folder; break;
case "mini": $folder_to_use = $mini_comic_folder; break;
case "comic": default: $folder_to_use = $comic_folder; break;
}
if (!empty($wpmu_version)) {
if (($wpmu_path = get_option('upload_path')) !== false) {
$folder_to_use = $wpmu_path . '/' . $folder_to_use;
}
}
$post_to_use = (is_object($override_post)) ? $override_post : $post;
$post_date = mysql2date(CP_DATE_FORMAT, $post_to_use->post_date);
$filter_with_date = str_replace('{date}', $post_date, $filter_to_use);
$cwd = get_stylesheet_directory();
if ($cwd !== false) {
// Strip the wp-admin part and just get to the root.
$root_path = preg_replace('#[\\/]wp-(admin|content).*#', '', $cwd);
}
$results = array();
/* have to use root_path to get subdirectory installation directories */
if (count($results = glob("${root_path}/${folder_to_use}/${filter_with_date}")) > 0) {
if (!empty($wpmu_version)) {
$comic = reset($results);
$comic = $folder_to_use . '/'. basename($comic);
if ($wpmu_path !== false) { $comic = str_replace($wpmu_path, "files", $comic); }
return $comic;
}
if (!empty($multi)) {
return $results;
} else {
/* clear the root path */
$comic = reset($results);
$comic = $folder_to_use .'/'. basename($comic);
return $comic;
}
}
$comic_pathfinding_errors[] = sprintf(__("Unable to find the file in the <strong>%s</strong> folder that matched the pattern <strong>%s</strong>. Check your WordPress and ComicPress settings.", 'comicpress'), $folder_to_use, $filter_with_date);
return false;
}
/**
* Find a comic file in the filesystem and return an absolute URL to that file.
* @param string $folder The folder name to search.
* @param string $override_post A WP Post object to use in place of global $post.
* @param string $filter The $comic_filename_filters to use.
* @return string The absolute URL to the comic file, or false if not found.
*/
function get_comic_url($folder = 'comic', $override_post = null, $filter = 'default') {
if (($result = get_comic_path($folder, $override_post, $filter)) !== false) {
return get_bloginfo('wpurl') . '/' . $result;
} else {
if (($result = get_comic_path('comic', $override_post, $filter)) !== false) {
$basecomic = basename($result);
return get_bloginfo('wpurl') . '/' . $result;
}
}
return $result;
}
/**
* get_comic_filename
* returns the filename of the comic for the individual date.
*
*/
function get_comic_filename($folder = 'comic', $override_post = null, $filter = 'default') {
if (($result = get_comic_path($folder, $override_post, $filter)) !== false) {
return $result;
}
}
/**
* Return a list of the comic categories with a negative value for exclusions
* NOTE: need a pre - negative for the first one
*/
function exclude_comic_categories() {
global $all_comic_categories_as_string;
if (empty($all_comic_categories_as_string)) get_all_comic_categories_as_cat_string();
$returnstring = str_replace(",",",-",$all_comic_categories_as_string);
return $returnstring;
}
/**
* Turn the tree of comics categories into a string to be fed into wp_query functions.
*/
function get_all_comic_categories_as_cat_string() {
global $all_comic_categories_as_string, $category_tree;
if (empty($all_comic_categories_as_string)) {
$categories = array();
foreach ($category_tree as $node) {
$parts = explode("/", $node);
$categories[] = end($parts);
}
$all_comic_categories_as_string = implode(",", $categories);
}
return $all_comic_categories_as_string;
}
/**
* Turn the list of categories into a hash table of category objects.
*/
function get_all_category_objects_by_id() {
global $categories_by_id;
if (empty($categories_by_id)) {
$categories_by_id = array();
foreach (get_categories("hide_empty=0") as $category_object) {
$categories_by_id[$category_object->term_id] = $category_object;
}
}
return $categories_by_id;
}
/**
* Parse all categories and sort them into comics and non-comics categories.
*/
function get_all_comic_categories() {
global $comiccat, $category_tree, $non_comic_categories;
$categories_by_id = get_all_category_objects_by_id();
foreach (array_keys($categories_by_id) as $category_id) {
$category_tree[] = $categories_by_id[$category_id]->parent . '/' . $category_id;
}
do {
$all_ok = true;
for ($i = 0; $i < count($category_tree); ++$i) {
$current_parts = explode("/", $category_tree[$i]);
if (reset($current_parts) != 0) {
$all_ok = false;
for ($j = 0; $j < count($category_tree); ++$j) {
$j_parts = explode("/", $category_tree[$j]);
if (end($j_parts) == reset($current_parts)) {
$category_tree[$i] = implode("/", array_merge($j_parts, array_slice($current_parts, 1)));
break;
}
}
}
}
} while (!$all_ok);
$non_comic_tree = array();
if (get_option('comicpress-enable-storyline-support') == 1) {
$result = get_option("comicpress-storyline-category-order");
if (!empty($result)) {
$category_tree = explode(",", $result);
}
$non_comic_tree = array_keys($categories_by_id);
foreach ($category_tree as $node) {
$parts = explode("/", $node);
$category_id = end($parts);
if ($parts[1] == $comiccat) {
if (($index = array_search($category_id, $non_comic_tree)) !== false) {
array_splice($non_comic_tree, $index, 1);
}
}
}
} else {
$new_category_tree = array();
foreach ($category_tree as $node) {
$parts = explode("/", $node);
if ($parts[1] == $comiccat) {
$new_category_tree[] = $node;
} else {
$non_comic_tree[] = end($parts);
}
}
$category_tree = $new_category_tree;
}
$non_comic_categories = implode(" and ", $non_comic_tree);
}
/**
* Return true if the current post is in the comics category or a child category.
*/
function in_comic_category() {
global $post, $category_tree;
$comic_categories = array();
foreach ($category_tree as $node) {
$comic_categories[] = end(explode("/", $node));
}
return (count(array_intersect($comic_categories, wp_get_post_categories($post->ID))) > 0);
}
// ComicPress Template Functions
function the_comic_filename($filter = 'default') { return get_comic_filename('comic',null, $filter); }
function the_comic($filter = 'default') { echo get_comic_url('comic', null, $filter); }
//The following is deprecated...
function comic_display($filter = 'default') { echo get_comic_url('comic', null, $filter); }
function the_comic_archive($filter = 'default') { echo get_comic_url('archive', null, $filter); }
//The following is deprecated...
function comic_archive($filter = 'default') { echo get_comic_url('archive', null, $filter); }
function the_comic_rss($filter = 'default') { echo get_comic_url('rss', null, $filter); }
//The following is deprecated...
function comic_rss($filter = 'default') { echo get_comic_url('rss', null, $filter); }
function the_comic_mini($filter = 'default') { echo get_comic_url('mini', null, $filter); }
//The following is deprecated...
function comic_mini($filter = 'default') { echo get_comic_url('mini', null, $filter); }
/**
* Display the list of Storyline categories.
*/
function comicpress_list_storyline_categories($args = "") {
global $category_tree;
$defaults = array(
'style' => 'list', 'title_li' => __('Storyline','comicpress')
);
$r = wp_parse_args($args, $defaults);
extract($r);
$categories_by_id = get_all_category_objects_by_id();
$output = '';
if ($style == "list") { $output .= '<li class="categories storyline">'; }
if ($title_li && ($style == "list")) { $output .= $title_li; }
if ($style == "list") { $output .= "<ul>"; }
$current_depth = 0;
foreach ($category_tree as $node) {
$parts = explode("/", $node);
$category_id = end($parts);
$target_depth = count($parts) - 2;
if ($target_depth > $current_depth) {
$output .= str_repeat("<li><ul>", ($target_depth - $current_depth));
}
if ($target_depth < $current_depth) {
$output .= str_repeat("</ul></li>", ($current_depth - $target_depth));
}
$output .= '<li><a href="' . get_category_link($category_id) . '">';
$output .= $categories_by_id[$category_id]->cat_name;
$output .= "</a></li>";
$current_depth = $target_depth;
}
if ($current_depth > 0) {
$output .= str_repeat("</ul></li>", $current_depth);
}
if ($style == "list") { $output .= "</ul></li>"; }
echo $output;
}
/**
* Display text when image (comic) is hovered
* Text is taken from a custom field named "hovertext"
*/
function the_hovertext() {
$hovertext = get_post_meta( get_the_ID(), "hovertext", true );
echo (empty($hovertext)) ? get_the_title() : $hovertext;
}
/**
* Display the comic transcript
* Transcript must be entered into a custom field named "transcript"
* @param string $displaymode, "raw" (straight from the field), "br" (includes html line breaks), "styled" (fully css styled with JavaScript expander)
*/
function the_transcript($displaymode = 'raw') {
$transcript = get_post_meta( get_the_ID(), "transcript", true );
switch ($displaymode) {
case "raw":
echo $transcript;
break;
case "br":
echo nl2br($transcript);
break;
case "styled":
if (!empty($transcript)) { ?>
<script type='text/javascript'>
<!--
function toggle_expander(id) {
var e = document.getElementById(id);
if(e.style.height == 'auto')
e.style.height = '1px';
else
e.style.height = 'auto';
}
//-->
</script>
<div class="transcript-border"><div id="transcript"><a href="javascript:toggle_expander('transcript-content');" class="transcript-title">&darr; Transcript</a><div id="transcript-content"><?php echo nl2br($transcript); ?><br /><br /></div></div></div>
<script type='text/javascript'>
<!--
document.getElementById('transcript-content').style.height = '1px';
//-->
</script><?php
}
break;
}
}
//Insert the comic image into the RSS feed
function comic_feed() {
foreach (array("rss", "archive", "mini", "comic") as $type) {
if (($requested_thumbnail_image = get_comic_url($type, $first_comic_in_category)) !== false) {
$thumbnail_image = $requested_thumbnail_image; break;
}
}
?>
<p><a href="<?php the_permalink() ?>"><img src="<?php echo $thumbnail_image; ?>" border="0" alt="<?php the_title() ?>" title="<?php the_hovertext() ?>" /></a></p><?php
}
function insert_comic_feed($content) {
if (is_feed() && in_comic_category()) {
return comic_feed() . $content;
} else {
return $content;
}
}
add_filter('the_content','insert_comic_feed');
// Register Sidebar and Define Widgets
if ( function_exists('register_sidebar') ) {
register_sidebar(array('name'=>'Left Sidebar', 'before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Right Sidebar','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Above Header','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Header','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Menubar','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Over Comic','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Left of Comic','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Right of Comic','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Under Comic','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Over Blog','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Blog','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Under Blog','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
register_sidebar(array('name'=>'Footer','before_widget' => '
<div id="%1$s" class="widget %2$s">
','after_widget' => '
</div>','before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>
' ));
}
function storyline_category_list() {
$listcats = wp_list_categories('echo=0&title_li=&include='.get_all_comic_categories_as_cat_string());
$listcats = str_replace("<ul class='children'>", "<ul class='children'> &raquo; ", $listcats);
echo $listcats;
}
/**
* function is_active_sidebar
* check if a sidebar has widgets based on index number or name
*
* @param $index - sidebar name made with register_sidebar(array('name'=>'Name of Sidebar'),
* OR the index # as an int for specific sidebar.
* @return true if sidebar with $index has widgets, false if not.
*
*/
function comicpress_is_active_sidebar( $index ) {
global $wp_registered_sidebars, $_wp_sidebars_widgets;
if ( is_int($index) ) {
if (!empty($_wp_sidebars_widgets[sanitize_title("sidebar-$index")]) )
return true;
} else {
$i = 1;
foreach ( $wp_registered_sidebars as $sidebar => $registered_sidebar ) {
if ( $index == $registered_sidebar['name'] && !empty($_wp_sidebars_widgets[sanitize_title("sidebar-$i")]) )
return true;
$i++;
}
}
return false;
}
function cp_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "&copy; " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}
function comicpress_check_child_file($filename = '') {
if (empty($filename)) return false;
if (get_stylesheet_directory() != get_template_directory()) {
if (file_exists(get_stylesheet_directory() .'/'. $filename . '.php')) {
@include(get_stylesheet_directory() .'/'. $filename . '.php');
return true;
}
}
return false;
}
function rss_count_comments(){
global $wpdb,$post;
$args = func_get_args();
$comments = get_comments_number();
echo $args[0];
if ($comments == 0) $comment_text = " (No Comments)";
if ($comments == 1) $comment_text = " (1 Comment)";
if ($comments > 1) $comment_text = " (". $comments . " Comments)";
if ($comments>0) echo $comment_text;
}
add_action('the_title_rss','rss_count_comments');
function comicpress_gnav_display_css() {
global $graphicnav_directory;
if (file_exists(get_stylesheet_directory() . '/images/nav/' . $graphicnav_directory . '/navstyle.css')) { ?>
<link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri(); ?>/images/nav/<?php echo $graphicnav_directory; ?>/navstyle.css" type="text/css" media="screen" />
<?php } elseif (file_exists(get_template_directory() . '/images/nav/' .$graphicnav_directory. '/navstyle.css')) { ?>
<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/images/nav/<?php echo $graphicnav_directory; ?>/navstyle.css" type="text/css" media="screen" />
<?php }
}
if (comicpress_check_child_file('childfunctions') == false) {}
?>

19
functions/adminnotes.php Normal file
View File

@ -0,0 +1,19 @@
<?php
/**
* Admin Notes
* Displays a note that only users with publishing rights can see.
*
* example: [note]Only the admins can read this.[/note]
*
* This is useful if you have multiple people posting on articles, etc.
*/
add_shortcode( 'note', 'sc_note' );
function sc_note( $atts, $content = null ) {
if ( current_user_can( 'publish_posts' ) )
return '<div class="note">'.$content.'</div>';
return '';
}
?>

114
functions/avatars.php Normal file
View File

@ -0,0 +1,114 @@
<?php
/**
* Retrieve the avatar for a user who provided a user ID or email address.
*
* @since 2.5
* @param int|string|object $id_or_email A user ID, email address, or comment object
* @param int $size Size of the avatar image
* @param string $default URL to a default image to use if no avatar is available
* @param string $alt Alternate text to use in image tag. Defaults to blank
* @return string <img> tag for the user's avatar
*/
function comicpress_get_avatar( $id_or_email, $size = '64', $alt = false) {
global $avatar_directory;
if ( ! get_option('show_avatars') )
return false;
if ( false === $alt)
$safe_alt = '';
else
$safe_alt = attribute_escape( $alt );
if ( !is_numeric($size) )
$size = '96';
$email = '';
if ( is_numeric($id_or_email) ) {
$id = (int) $id_or_email;
$user = get_userdata($id);
if ( $user )
$email = $user->user_email;
} elseif ( is_object($id_or_email) ) {
if ( isset($id_or_email->comment_type) && '' != $id_or_email->comment_type && 'comment' != $id_or_email->comment_type )
return false; // No avatar for pingbacks or trackbacks
if ( !empty($id_or_email->user_id) ) {
$id = (int) $id_or_email->user_id;
$user = get_userdata($id);
if ( $user)
$email = $user->user_email;
} elseif ( !empty($id_or_email->comment_author_email) ) {
$email = $id_or_email->comment_author_email;
}
} else {
$email = $id_or_email;
}
if ($avatar_directory != 'none' || empty($default)) $default = comicpress_random_default_avatar((string)$id_or_email);
if ( empty($default) ) {
$avatar_default = get_option('avatar_default');
if ( empty($avatar_default) )
$default = 'mystery';
else
$default = $avatar_default;
}
if ( 'mystery' == $default )
$default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"; // ad516503a11cd5ca435acc9bb6523536 == md5('unknown@gravatar.com')
elseif ( 'blank' == $default )
$default = includes_url('images/blank.gif');
elseif ( !empty($email) && 'gravatar_default' == $default )
$default = '';
elseif ( 'gravatar_default' == $default )
$default = "http://www.gravatar.com/avatar/s={$size}";
elseif ( empty($email) )
$default = "http://www.gravatar.com/avatar/?d=$default&amp;s={$size}";
elseif ( strpos($default, 'http://') === 0 )
$default = add_query_arg( 's', $size, $default );
if ( !empty($email) ) {
$out = 'http://www.gravatar.com/avatar/';
$out .= md5( strtolower( $email ) );
$out .= '?s='.$size;
$out .= '&amp;d=' . urlencode( $default );
$rating = get_option('avatar_rating');
if ( !empty( $rating ) )
$out .= "&amp;r={$rating}";
$avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo instant nocorner itxtalt' height='{$size}' width='{$size}' />";
} else {
$avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default instant nocorner itxtalt' height='{$size}' width='{$size}' />";
}
return apply_filters('comicpress_get_avatar', $avatar, $id_or_email, $size, $default, $alt);
}
function comicpress_random_default_avatar($id_or_email = '') {
$current_avatar_directory = get_option('comicpress-avatar_directory');
if (empty($current_avatar_directory)) $current_avatar_directory = 'default';
if (file_exists(get_stylesheet_directory() . '/images/avatars/' . $current_avatar_directory)) {
$count = count($results = glob(get_stylesheet_directory() . '/images/avatars/'.$current_avatar_directory.'/*'));
$blogurl = get_stylesheet_directory_uri();
} else {
$count = count($results = glob(get_template_directory() . '/images/avatars/'.$current_avatar_directory.'/*'));
$blogurl = get_template_directory_uri();
}
if ($count) {
$default = '';
$checknum = hexdec(substr(md5($id_or_email),0,5)) % $count;
if ($count > 0) {
$default = basename($results[(int)$checknum]);
} else {
return false;
}
return $blogurl.'/images/avatars/'.$current_avatar_directory.'/'.$default;
}
return false;
}
?>

138
functions/classes.php Normal file
View File

@ -0,0 +1,138 @@
<?php
/**
* Body Classes
* function function comicpress_body_class
*
* Author: Philip M. Hofer (Frumph)
* Author URI: http://webcomicplanet.com/ http://frumph.net/
* Version: 1.0.6
*
* This function adds the browser type as a class
* in the <body> tag where you can then do .ie #page and do things specific
* for each browser type as well as a few other classes that the normal body_class
* does not yet support.
*
*
*/
add_filter('body_class','comicpress_body_class');
function comicpress_body_class($classes = '') {
global $current_user, $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone, $post, $wp_query, $cp_theme_layout;
if (!empty($current_user)) {
$user_login = addslashes($current_user->user_login);
$classes[] = 'user-'.$user_login;
} else {
$classes[] = 'user-guest';
}
if (function_exists('comicpress_is_member')) {
if (comicpress_is_member()) {
$classes[] = 'sitemember';
} else {
$classes[] = 'non-sitemember';
}
}
if (in_comic_category()) {
$classes[] = 'comic';
} else {
$classes[] = 'noncomic';
}
if($is_lynx) $classes[] = 'lynx';
elseif($is_gecko) $classes[] = 'gecko';
elseif($is_opera) $classes[] = 'opera';
elseif($is_NS4) $classes[] = 'ns4';
elseif($is_safari) $classes[] = 'safari';
elseif($is_chrome) $classes[] = 'chrome';
elseif($is_IE) $classes[] = 'ie';
else $classes[] = 'unknown';
if($is_iphone) $classes[] = 'iphone';
// Hijacked from the hybrid theme, http://themehybrid.com/
if (is_single()) {
foreach ( (array)get_the_category( $wp_query->post->ID ) as $cat ) :
$classes[] = 'single-category-' . sanitize_html_class( $cat->slug, $cat->term_id );
endforeach;
$classes[] = 'single-author-' . get_the_author_meta( 'user_nicename', $wp_query->post->post_author );
}
if ( is_sticky( $wp_query->post->ID ) ) {
$classes[] = 'sticky-post';
}
// NOT hijacked from anything, doi! people should do this.
$rightnow = date('Gi');
$ampm = date('a');
$classes[] = $ampm;
if ((int)$rightnow > 559 && (int)$rightnow < 1800) $classes[] = 'day';
if ((int)$rightnow < 600 || (int)$rightnow > 1759) $classes[] = 'night';
if ((int)$rightnow > 2329 || (int)$rightnow < 0030) $classes[] = 'midnight';
if ((int)$rightnow > 0559 && (int)$rightnow < 1130) $classes[] = 'morning';
if ((int)$rightnow > 1129 && (int)$rightnow < 1230) $classes[] = 'noon';
if ((int)$rightnow > 1759 && (int)$rightnow < 2330) $classes[] = 'evening';
$classes[] = strtolower(date('D'));
if ( is_attachment() ) {
$classes[] = 'attachment attachment-' . $wp_query->post->ID;
$mime_type = explode( '/', get_post_mime_type() );
foreach ( $mime_type as $type ) :
$classes[] = 'attachment-' . $type;
endforeach;
}
$classes[] = 'layout-'.$cp_theme_layout;
return $classes;
}
function comicpress_post_class($class = '') {
global $post;
static $post_alt;
$args = array(
'entry_tax' => array( 'category', 'post_tag' )
);
/* Microformats. */
$classes[] = 'uentry';
/* Post alt class. */
$classes[] = 'postonpage-' . ++$post_alt;
if ( $post_alt % 2 )
$classes[] = 'odd';
else
$classes[] = 'even';
/* Sticky class (only on home/blog page). */
if( is_sticky() && is_home() )
$classes[] = 'sticky';
/* Author class. */
if ( !is_attachment() )
$classes[] = 'post-author-' . sanitize_html_class( get_the_author_meta( 'user_nicename' ), get_the_author_meta( 'ID' ) );
/* Password-protected posts. */
if ( post_password_required() )
$classes[] = 'protected';
/* User-created classes. */
if ( !empty( $class ) ) :
if ( !is_array( $class ) )
$class = preg_split( '#\s+#', $class );
$classes = array_merge( $classes, $class );
endif;
/* Join all the classes into one string and echo them. */
$class = join( ' ', $classes );
echo apply_filters( 'comicpress_post_class', $class );
}
?>

View File

@ -0,0 +1,231 @@
<?php
/**
* Better display of avatars in comments
* Should only be used in comment sections (may update in future)
* Checks for false empty commenter URLs 'http://' w/registered users
* Adds the class 'photo' to the image
* Adds a call to 'images/trackback.jpg' for trackbacks
* Adds a call to 'images/pingback.jpg' for pingbacks
*
* Filters should only return a string for an image URL for the avatar with class $avatar
* They should not get the avatar as this is done after the filter
*
* @since 0.2
* @filter
*/
function comicpress_avatar() {
global $comment;
$url = get_comment_author_url();
$comment_type = get_comment_type();
if($comment_type == 'trackback') :
$avatar = '/images/trackback.png';
elseif($comment_type == 'pingback') :
$avatar = '/images/pingback.png';
elseif(get_settings('avatar_default')):
$avatar = get_settings('avatar_default');
endif;
// $avatar = apply_filters('comicpress_avatar', $avatar);
if($url == true && $url != 'http://')
echo '<a href="' . $url . '" rel="external nofollow" title="' . wp_specialchars(get_comment_author(), 1) . '">';
$id_or_email = get_comment_author_email();
if (empty($id_or_email)) $id_or_email = get_comment_author();
if(function_exists('comicpress_get_avatar') && $comment_type != 'pingback' && $comment_type != 'trackback' ) {
echo str_replace("alt='", "alt='".wp_specialchars(get_comment_author(), 1)."' title='".wp_specialchars(get_comment_author(), 1), comicpress_get_avatar($id_or_email, 64));
} else {
if ($comment_type == 'pingback' || $comment_type == 'trackback') {
echo '<img src="'.get_template_directory_uri().'/'.$avatar.'" class="photo trackping" />';
} else {
echo '<img src="'.get_template_directory_uri().'/'.$avatar.'" class="avatar photo" />';
}
}
if($url == true && $url != 'http://')
echo '</a>';
}
/**
* Properly displays comment author name/link
* bbPress and other external systems sometimes don't set a display name for registrations
* WP has problems if no display name is set
* WP gives registered users URL of 'http://' if none is set
*
* @since 0.2.2
*/
function comicpress_comment_author() {
global $comment;
$author = get_comment_author();
$url = get_comment_author_url();
/*
* Registered members w/o URL defaults to 'http://'
*/
if($url == 'http://')
$url = false;
/*
* Registered through bbPress sometimes leaves no display name
* Bug with bbPress 0.9 series and WP 2.5 (no later testing)
* 'Anonymous' should be localized according to WP, not the theme
*/
if($comment->user_id > 0) :
$user = get_userdata($comment->user_id);
if($user->display_name)
$author = $user->display_name;
elseif($user->user_nickname)
$author = $user->nickname;
elseif($user->user_nicename)
$author = $user->user_nicename;
else
$author = $user->user_login;
endif;
/*
* Display link and cite if URL is set
* Also properly cites trackbacks/pingbacks
*/
if($url) :
$output = '<cite title="' . $url . '">';
$output .= '<a href="' . $url . '" title="' . wp_specialchars($author, 1) . '" class="external nofollow">' . $author . '</a>';
$output .= '</cite>';
else :
$output = '<cite>';
$output .= $author;
$output .= '</cite>';
endif;
echo $output;
}
/**
* Displays individual comments
* Uses the callback parameter for wp_list_comments
* Overwrites the default display of comments
*
* @since 0.2.3
*
* @param $comment The comment variable
* @param $args Array of arguments passed from wp_list_comments
* @param $depth What level the particular comment is
*/
function comicpress_comments_callback($comment, $args, $depth) {
$GLOBALS['comment'] = $comment;
$GLOBALS['comment_depth'] = $depth;
?>
<li id="comment-<?php comment_ID(); ?>" class="<?php comicpress_comment_class(); ?>">
<?php comicpress_avatar(); // Avatar filter ?>
<div class="comment-meta-data">
<div class="comment-author vcard">
<?php comicpress_comment_author(); ?><br />
</div>
<span class="comment-time" title="<?php comment_date(__('l, F jS, Y, g:i a','comicpress')); ?>">
<?php printf(__('%1$s at %2$s','comicpress'), get_comment_date(), get_comment_time()); ?>
</span>
<span class="separator">|</span> <a class="permalink" href="#comment-<?php echo str_replace('&', '&amp;', get_comment_ID()); ?>" title="<?php _e('Permalink to comment','comicpress'); ?>"><?php _e('Permalink','comicpress'); ?></a>
<?php
if((get_option('thread_comments')) && ($args['type'] == 'all' || get_comment_type() == 'comment')) :
$max_depth = get_option('thread_comments_depth');
echo comment_reply_link(array(
'reply_text' => __('Reply','comicpress'),
'login_text' => __('Log in to reply.','comicpress'),
'depth' => $depth,
'max_depth' => $max_depth,
'before' => '<span class="separator">|</span> <span class="comment-reply-link">',
'after' => '</span>'
));
endif;
?>
<?php edit_comment_link('<span class="edit">'.__('Edit','comicpress').'</span>',' <span class="separator">|</span> ',''); ?>
<?php if($comment->comment_approved == '0') : ?>
<div class="comment-moderated"><em><?php _e('Your comment is awaiting moderation.','comicpress'); ?></em></div>
<?php endif; ?>
</div>
<?php if (get_comment_type() == 'comment') { ?>
<div class="comment-text">
<?php comment_text(); ?>
</div>
<?php } ?>
<div class="clear"></div>
<?php }
/**
* Ends the display of individual comments
* Uses the callback parameter for wp_list_comments
* Needs to be used in conjunction with comicpress_comments_callback
* Not needed but used just in case something is changed
*
* @since 0.2.3
*/
function comicpress_comments_end_callback() {
echo '</li>';
}
/**
* Sets a class for each comment
* Sets alt, odd/even, and author/user classes
* Adds author, user, and reader classes
*
* @since 0.2
*/
function comicpress_comment_class() {
global $comment;
static $comment_alt;
$classes = array();
if(function_exists('get_comment_class'))
$classes = get_comment_class();
$classes[] = get_comment_type();;
/*
* User classes
*/
if($comment->user_id > 0 && $user = get_userdata($comment->user_id)) :
$classes[] = 'user user-' . $user->user_nicename;
if($post = get_post($post_id)) :
if($comment->user_id === $post->post_author)
$classes[] = 'author author-' . $user->user_nicename;
endif;
else :
$classes[] = 'reader';
endif;
/*
* http://microid.org
*/
$email = get_comment_author_email();
$url = get_comment_author_url();
if(!empty($email) && !empty($url)) {
$microid = 'microid-mailto+http:sha1:' . sha1(sha1('mailto:'.$email).sha1($url));
$classes[] = $microid;
}
$classes = join(' ', $classes);
echo $classes;
}
function list_pings($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li id="comment-<?php comment_ID(); ?>">
<?php comicpress_comment_author(); ?></li>
<?php }
?>

View File

@ -0,0 +1,73 @@
<?php
global $enable_custom_image_header;
if ($enable_custom_image_header == 'yes') {
// Custom Image Header
define('HEADER_TEXTCOLOR', '000');
define('HEADER_IMAGE', '%s/images/header-blank.png'); // %s is theme dir
define('HEADER_IMAGE_WIDTH', $custom_image_header_width);
define('HEADER_IMAGE_HEIGHT', $custom_image_header_height);
function theme_admin_header_style() {
?>
<style type="text/css">
#headimg {
width: <?php echo HEADER_IMAGE_WIDTH; ?>px;
height: <?php echo HEADER_IMAGE_HEIGHT; ?>px;
background: url(<?php header_image(); ?>) no-repeat center;
}
#headimg h1, #headimg .description
{
text-decoration: none;
<?php
if ( 'blank' == get_header_textcolor() ) { ?>
display: none;
<?php } else {
// Otherwise, set the color to be the user selected one
?>
color: #<?php header_textcolor();?>;
<?php } ?>
}
</style>
<?php
}
function theme_header_style() {
?>
<style type="text/css">
#header
{
width: <?php echo HEADER_IMAGE_WIDTH; ?>px;
height: <?php echo HEADER_IMAGE_HEIGHT; ?>px;
background: url(<?php header_image(); ?>) no-repeat center;
}
<?php
// Has the text been hidden?
// If so, set display to equal none
if ( 'blank' == get_header_textcolor() ) { ?>
#header h1, #header .description {
display: none;
}
<?php } else {
// Otherwise, set the color to be the user selected one
?>
#header *
{
color: #<?php header_textcolor();?>;
}
}
<?php } ?>
</style>
<?php
}
if ( function_exists('add_custom_image_header') ) {
add_custom_image_header('theme_header_style', 'theme_admin_header_style');
}
}
?>

View File

@ -0,0 +1,72 @@
<?php
/**
* Display post
* Displays the post info
*
*
*/
function display_blog_post() {
global $post, $wp_query, $authordata, $enable_related_posts, $enable_post_author_gravatar, $enable_post_calendar, $disable_categories_in_posts, $disable_tags_in_posts; ?>
<?php if (is_single()) { ?>
<div class="blognav">
<div class="nav-single">
<?php previous_post_link('%link',__(' &lsaquo; Previous ','comicpress'), TRUE); ?>
<?php next_post_link('%link',__(' Next &rsaquo; ','comicpress'), TRUE); ?>
</div>
</div>
<?php } ?>
<div class="clear"></div>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-head"></div>
<div class="post" id="post-<?php the_ID() ?>">
<div class="post-info">
<?php if ($enable_post_author_gravatar == 'yes') { ?>
<div class="post-author-gravatar"><?php echo str_replace("alt='", "alt='".get_the_author_meta('display_name')."' title='".get_the_author_meta('display_name'),comicpress_get_avatar(get_the_author_meta('email'), 64)); ?></div>
<?php } ?>
<?php if (function_exists('comicpress_show_mood_in_post')) comicpress_show_mood_in_post(); ?>
<?php if ($enable_post_calendar == 'yes') { ?>
<div class="post-date">
<div class="date"><span><?php the_time('M') ?></span> <?php the_time('d') ?></div>
</div>
<?php } ?>
<div class="post-text">
<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
<div class="post-author"> By <?php the_author_posts_link(); ?> on <?php the_time('F jS, Y'); ?></div>
<?php if ($disable_categories_in_posts != 'yes') { ?>
<div class="post-cat"><?php _e('Posted In:','comicpress'); ?> <?php the_category(','); ?></div>
<?php } ?>
<div class="post-edit"><?php edit_post_link(__('Edit Post','comicpress'), ' [ ', ' ] '); ?></div>
<?php if(function_exists('the_ratings')) { the_ratings(); } ?>
</div>
<div class="clear"></div>
</div>
<div class="entry">
<?php if (!is_single()) { global $more; $more = 0; } ?>
<?php the_content(__('&darr; Read the rest of this entry...','comicpress')); ?>
<?php if (is_single()) wp_link_pages(array('before' => '<div class="linkpages"><span class="linkpages-pagetext">Pages:</span> ', 'after' => '</div>', 'next_or_number' => 'number')); ?>
</div>
<br class="clear-margins" />
<div class="post-extras">
<?php if ($disable_tags_in_posts != 'yes') { ?>
<div class="post-tags">
<?php the_tags(__('&#9492; Tags: ','comicpress'), ', ', '<br />'); ?>
</div>
<?php } ?>
<?php
if ('open' == $post->comment_status) {
if (comicpress_check_child_file('partials/commentlink') == false) { ?>
<div class="comment-link"><?php comments_popup_link('<span class="comment-balloon comment-balloon-empty">&nbsp;</span> '.__('No Comments ','comicpress'), '<span class="comment-balloon">1</span> '.__('Comment ','comicpress'), '<span class="comment-balloon">%</span> '.__('Comments ','comicpress')); ?></div>
<?php }
}
?>
<div class="clear"></div>
<?php if ($enable_related_posts == 'yes') echo related_posts_shortcode(); ?>
</div>
<br class="clear-margins" />
</div>
<div class="post-foot"></div>
</div>
<?php
}
?>

View File

@ -0,0 +1,47 @@
<?php
/**
* Display Comic
* Displays the comic.
*
*
*/
function display_comic() {
global $post, $wp_query, $rascal_says, $comic_clicks_next, $comic_filename_filters;
$next_comic = get_next_comic_permalink();
$comic = explode(".", the_comic_filename());
if ($comic[1] == 'swf') { ?>
<?php
$height = get_post_meta( get_the_ID(), "fheight", true );
$width = get_post_meta( get_the_ID(), "fwidth", true );
if (empty($height)) $height = '300';
if (empty($width)) $width = '100%';
?>
<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="<?php echo $width; ?>" height="<?php echo $height; ?>">
<param name="movie" value="<?php echo get_comic_url(); ?>" />
<!--[if !IE]>--><object type="application/x-shockwave-flash" data="<?php echo get_comic_url(); ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>"><!--<![endif]-->
<div>
<h1>Get Flash!</h1>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
</div>
<!--[if !IE]>--></object><!--<![endif]--></object>
<?php } else {
if ($comic_clicks_next == 'yes') {
$hovertext = get_post_meta( get_the_ID(), "hovertext", true );
if ($rascal_says == 'yes' && !empty($hovertext)) { ?>
<a href="<?php echo $next_comic; ?>" class="tt"><span class="tooltip"><span class="top"></span><span class="middle"><?php the_hovertext() ?></span><span class="bottom"></span></span><img src="<?php the_comic() ?>" alt="<?php the_title() ?>" title="<?php the_title(); ?>" /></a>
<?php } else { ?>
<a href="<?php echo $next_comic; ?>"><img src="<?php the_comic() ?>" alt="<?php the_title() ?>" title="<?php the_hovertext() ?>" /></a>
<?php } ?>
<?php } else {
$hovertext = get_post_meta( get_the_ID(), "hovertext", true );
if ($rascal_says == 'yes' && !empty($hovertext)) { ?>
<a href="#" class="tt"><span class="tooltip"><span class="top"></span><span class="middle"><?php the_hovertext() ?></span><span class="bottom"></span></span><img src="<?php the_comic() ?>" alt="<?php the_title() ?>" title="<?php the_title(); ?>" /></a>
<?php } else { ?>
<img src="<?php the_comic() ?>" alt="<?php the_title() ?>" title="<?php the_hovertext() ?>" class="instant itiltleft icolorFFFCE9 ishadow40 historical" />
<?php }
}
}
}
?>

View File

@ -0,0 +1,74 @@
<?php
/**
* Display comic post
* Displays the post info for the comic
*
*
*/
function display_comic_post() {
global $post, $wp_query, $authordata, $enable_related_comics, $enable_comic_post_author_gravatar, $enable_comic_post_calendar, $disable_categories_in_posts, $disable_tags_in_posts;
$first_comic = get_first_comic_permalink(); $last_comic = get_last_comic_permalink();
?>
<div class="nav">
<?php if ( get_permalink() != $first_comic ) { ?><div class="nav-first"><a href="<?php echo $first_comic ?>"><?php _e('&lsaquo;&lsaquo; First','comicpress'); ?></a></div><?php } ?>
<div class="nav-previous"><?php $temp_query = $wp_query->is_single; $wp_query->is_single = true; previous_comic_link('%link', __('&lsaquo; Previous','comicpress')); $wp_query->is_single = $temp_query;$temp_query = null; ?></div>
<div class="nav-next"><?php next_comic_link('%link', __('Next &rsaquo;','comicpress')) ?></div>
<?php if ( get_permalink() != $last_comic ) { ?><div class="nav-last"><a href="<?php echo $last_comic ?>"><?php _e('Last &rsaquo;&rsaquo;','comicpress'); ?></a></div><?php } ?>
</div>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-comic-head"></div>
<div class="post-comic" id="post-comic-<?php the_ID() ?>">
<div class="post-comic-info">
<?php if ($enable_comic_post_author_gravatar == 'yes') { ?>
<div class="post-comic-author-gravatar"><?php echo str_replace("alt='", "alt='".get_the_author_meta('display_name')."' title='".get_the_author_meta('display_name'),comicpress_get_avatar(get_the_author_meta('email'), 64)); ?></div>
<?php } ?>
<?php if (function_exists('comicpress_show_mood_in_post')) comicpress_show_mood_in_post(); ?>
<?php if ($enable_comic_post_calendar == 'yes') { ?>
<div class="post-comic-date">
<div class="date"><span><?php the_time('M') ?></span> <?php the_time('d') ?></div>
</div>
<?php } ?>
<div class="post-comic-text">
<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
<div class="post-comic-author"> By <?php the_author_posts_link(); ?> on <?php the_time('F jS, Y'); ?></div>
<?php if (get_option('comicpress-enable-storyline-support') == 1) { ?>
<ul class="storyline-cats"><li class="storyline-root"><?php the_category(' &raquo; </li><li>', multiple) ?></li></ul>
<?php } else { ?>
<?php if ($disable_categories_in_posts != 'yes') { ?>
<div class="post-comic-cat"><?php _e('Posted In:','comicpress'); ?> <?php the_category(','); ?></div>
<?php } ?>
<?php } ?>
<div class="post-comic-edit"><?php edit_post_link(__('Edit Post','comicpress'), ' [ ', ' ] '); ?></div>
<?php if(function_exists('the_ratings')) { the_ratings(); } ?>
</div>
<br class="clear-margins" />
</div>
<div class="entry">
<?php if (!is_single()) { global $more; $more = 0; } ?>
<?php the_content(__('&darr; Read the rest of this entry...','comicpress')); ?>
<?php if (is_single()) wp_link_pages(array('before' => '<div class="linkpages"><span class="linkpages-pagetext">Pages:</span> ', 'after' => '</div>', 'next_or_number' => 'number')); ?>
</div>
<div class="post-comic-extras">
<?php if ($disable_tags_in_posts != 'yes') { ?>
<div class="post-comic-tags">
<?php the_tags(__('&#9492; Tags: ','comicpress'), ', ', '<br />'); ?>
</div>
<?php } ?>
<?php
if ('open' == $post->comment_status) {
if (comicpress_check_child_file('partials/commentlink') == false) { ?>
<div class="comment-link"><?php comments_popup_link('<span class="comment-balloon comment-balloon-empty">&nbsp;</span> '.__('No Comments ','comicpress'), '<span class="comment-balloon">1</span> '.__('Comment ','comicpress'), '<span class="comment-balloon">%</span> '.__('Comments ','comicpress')); ?></div>
<?php }
}
?>
<div class="clear"></div>
<?php if ($enable_related_comics == 'yes') echo related_comics_shortcode(); ?>
</div>
<br class="clear-margins" />
</div>
<div class="post-comic-foot"></div>
</div>
<?php
}
?>

122
functions/membersonly.php Normal file
View File

@ -0,0 +1,122 @@
<?php
/**
* Members Only
* by Philip M. Hofer (Frumph)
* http://webcomicplanet.com/
*
* Displays content that only registered users that are marked members can see.
*
* example: [members]Only members can read this.[/members]
*
*
* Still need to do, make it a way to flag someone a site_member TRUE
*
*/
add_shortcode( 'members', 'shortcode_for_comicpress_members_only' );
add_shortcode( 'member', 'shortcode_for_comicpress_members_only' );
add_action('show_user_profile', 'comicpress_profile_members_only');
add_action('edit_user_profile', 'comicpress_profile_members_only');
add_action('profile_update', 'comicpress_profile_members_only_save');
add_filter('pre_get_posts','comicpress_members_filter');
function comicpress_members_filter($query) {
global $members_post_category, $current_user;
if ($members_post_category != 'none' && !empty($members_post_category) && !$query->is_search && !$query->is_page && !$query->is_archive) {
$oldset = $query->get('cat');
$is_member = '';
if (!empty($oldset)) {
$excludeset = $oldset.',-'.$members_post_category;
} else {
$excludeset = '-'.$members_post_category;
}
if ( !empty($current_user->ID) ) {
$is_member = get_usermeta($current_user->ID,'comicpress-is-member');
}
if ($is_member != 'yes' || empty($is_member)) {
$query->set('cat',$excludeset);
}
}
return $query;
}
function shortcode_for_comicpress_members_only( $atts, $content = null ) {
global $post, $userdata, $profileuser, $current_user, $errormsg;
$returninfo = '<div class="non-member">'.__('There is Members Only content here.<br />To view this content you need to be a member of this site.','comicpress').'</div>';
if ( !empty($current_user->ID) ) {
$is_member = get_usermeta($current_user->ID,'comicpress-is-member');
if ($is_member == 'yes' || current_user_can('publish_posts')) {
$returninfo = '<div class="members-only">'.$content.'</div>';
}
}
return $returninfo;
}
function comicpress_profile_members_only() {
global $profileuser, $current_user, $errormsg;
$comicpress_is_member = get_usermeta($profileuser->ID,'comicpress-is-member');
if (empty($comicpress_is_member)) $comicpress_is_member = 'no';
?>
<h3><?php _e('Member of','comicpress'); ?> <?php bloginfo('name'); ?></h3>
<table class="form-table">
<tr>
<th><label for="Memberflag"><?php _e('Member?','comicpress'); ?></label></th>
<td>
<?php
if (current_user_can('manage_options')) { ?>
<label><input name="comicpress-is-member" id="comicpress-is-member-yes" type="radio" value="yes"<?php if ( get_usermeta($profileuser->ID,'comicpress-is-member') == "yes") { echo " checked"; } ?> /><?php _e('Yes','comicpress'); ?></label>
&nbsp;&nbsp;
<label><input name="comicpress-is-member" id="comicpress-is-member-no" type="radio" value="no"<?php if ( get_usermeta($profileuser->ID,'comicpress-is-member') != "yes" ) { echo " checked"; } ?> /><?php _e('No','comicpress'); ?></label>
<?php } else {
if ($comicpress_is_member == 'yes') {
echo 'Yes';
} else {
echo 'No';
}
}
?>
</td>
</tr>
</table>
<?php }
function comicpress_profile_members_only_save() {
$id = $_POST['user_id'];
$comicpress_is_member = $_POST['comicpress-is-member'];
if (!empty($comicpress_is_member)) {
update_usermeta($id, 'comicpress-is-member', $comicpress_is_member);
}
}
/**
* Return true if the current post is in the members category.
*/
function in_members_category() {
global $post, $category_tree, $members_post_category;
$members_post_category_array = array();
$members_post_category_array = explode($members_post_category);
return (count(array_intersect($members_post_category, wp_get_post_categories($post->ID))) > 0);
}
function comicpress_is_member() {
global $user_ID;
if (!empty($user_ID)) {
$is_member = get_usermeta($user_ID,'comicpress-is-member');
if ($is_member == 'yes' || current_user_can('publish_posts')) {
return true;
}
}
return false;
}
?>

117
functions/moods.php Normal file
View File

@ -0,0 +1,117 @@
<?php
/**
* Theme Function: Moods
* Author: Philip M. Hofer (Frumph)
* Created: 08/22/2009
* Author Email: philip@frumph.net
* You may use this and adapt this code to anything you like however keep the author information retained in
* the appropriate files.
*
* Lets you set and make moods for your blog posts.
*
* Usage: if (function_exists('comicpress_show_mood_in_post')) comicpress_show_mood_in_post();
*
* Edit a post and it you will see the possible moods you can use, select one.
*
*/
function comicpress_show_mood_in_post() {
global $post;
$moods_directory = get_option('comicpress-moods_directory');
if (!empty($moods_directory) && $moods_directory != 'none') {
$mood_file = get_post_meta( get_the_ID(), "mood", true );
if (!empty($mood_file) && $mood_file != '') {
$mood = explode(".", $mood);
$mood = reset($mood);
if ( !empty($mood_file) && file_exists(get_stylesheet_directory() . '/images/moods/'.$moods_directory.'/'.$mood_file) ) { ?>
<div class="post-mood post-<?php echo $mood; ?>"><img src="<?php echo get_stylesheet_directory_uri(); ?>/images/moods/<?php echo $moods_directory; ?>/<?php echo $mood_file; ?>" alt="<?php echo $mood; ?>" title="<?php echo $mood; ?>" /></div>
<?php } elseif (!empty($mood_file) && file_exists(get_template_directory() . '/images/moods/' .$moods_directory . '/' . $mood_file) ) { ?>
<div class="post-mood post-<?php echo $mood; ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/moods/<?php echo $moods_directory; ?>/<?php echo $mood_file; ?>" alt="<?php echo $mood; ?>" title="<?php echo $mood; ?>" /></div>
<?php }
}
}
}
function comicpress_showmood_edit_post() {
global $post;
$moods_directory = get_option('comicpress-moods_directory');
if (!empty($moods_directory) && $moods_directory != 'none') { ?>
<div class="inside" style="overflow: hidden">
<?php _e('Available Moods, you can set which mood images to use in the comicpress Options.','comicpress'); ?><br />
<br />
<?php
$currentmood = get_post_meta( $post->ID, "mood", true );
if (empty($currentmood) || $currentmood == '' || $currentmood == null) {
$mood = __('none','comicpress');
} else {
$mood = explode(".", $currentmood);
$mood = reset($mood);
}
$count = 0;
$count = count($results = glob(get_stylesheet_directory() . '/images/moods/'.$moods_directory.'/*'));
if (!$count) {
$count = count($results = glob(get_template_directory() . '/images/moods/'.$moods_directory.'/*'));
$moods_uri = get_template_directory_uri();
} else {
$moods_uri = get_stylesheet_directory_uri();
}
echo $count .__(' moods are available.','comicpress').'<br />
'.__('Using Moods from directory: ','comicpress').$moods_directory.'<br />
'.__('Current Mood: ','comicpress').$mood.'<br /><br />';
if (!empty($results)) { ?>
<div style="float:left; margin-top: 70px; text-align: center; width: 68px; overflow: hidden;">
<label for="postmood-none" style="cursor:pointer;">
none
</label>
<br />
<input name="postmood" style="margin-top: 3px;" id="postmood-anger" type="radio" value="none" <?php if ( $mood == 'none' ) { echo " checked"; } ?> />
</div>
<?php foreach ($results as $file) {
$newmood_file = basename($file);
$newmood = explode(".", $newmood_file);
$newmood = $newmood[0]; ?>
<div style="float:left; margin-top: 10px; text-align: center; width: 68px; overflow: hidden;">
<label for="postmood-<?php echo $newmood; ?>" style="cursor:pointer;">
<img src="<?php echo $moods_uri; ?>/images/moods/<?php echo $moods_directory; ?>/<?php echo basename($file); ?>"><br />
<?php echo $newmood; ?>
</label>
<br />
<input name="postmood" style="margin-top: 3px;" id="postmood-<?php echo $newmood; ?>" type="radio" value="<?php echo $newmood_file; ?>"<?php if ( $mood == $newmood ) { echo " checked"; } ?> />
</div>
<?php }
} ?>
</div>
<?php }
}
function comicpress_handle_edit_post_mood_save($post_id) {
$moods_directory = get_option('comicpress-moods_directory');
if (!empty($moods_directory) && $moods_directory != 'none') {
if (empty($_POST['postmood']) || $_POST['postmood'] == 'none') {
$postmood = 'none';
} else {
$postmood = $_POST['postmood'];
}
update_post_meta($post_id, 'mood', $postmood);
}
}
function mood_admin_function() {
add_meta_box(
'mood-for-this-post',
__('Mood For This Post', 'comicpress'),
'comicpress_showmood_edit_post',
'post',
'normal',
'low'
);
}
add_action('admin_menu', 'mood_admin_function');
// add_action('edit_form_advanced', 'comicpress_showmood_edit_post', 5, 1);
add_action('save_post', 'comicpress_handle_edit_post_mood_save' ,5, 1);
?>

24
functions/multicomics.php Normal file
View File

@ -0,0 +1,24 @@
<?php
/**
* function display_comics_multi
* July 26th, 2009
* Philip M. Hofer (Frumph)
*
* Displays multiple comics based on the array return with get_comic_path ($folder, $override_post, $filter, #) 0=no array, 1=array;
*/
function display_comics_multi() {
global $post;
if (($result = get_comic_path('comic', '', '', 1)) !== false) {
foreach ($result as $pathto_comic) { ?>
<div class="comicdisp">
<img src="<?php echo get_option('home'). '/' .$pathto_comic; ?>" alt="<?php the_title(); ?>" title="<?php the_hovertext(); ?>" />
</div>
<?php }
}
return false;
}
?>

16
functions/pagination.php Normal file
View File

@ -0,0 +1,16 @@
<?php
function comicpress_pagination() {
global $post, $wp_query;
if(function_exists('wp_pagenavi')) { ?>
<?php wp_pagenavi('<div id="wp-paginav">', '<div class="clear"></div></div>'); ?>
<?php } else { ?>
<div id="pagenav">
<div class="pagenav-right"><?php previous_posts_link(__('Newer Entries &uarr;','comicpress')) ?></div>
<div class="pagenav-left"><?php next_posts_link(__('&darr; Previous Entries','comicpress')) ?></div>
<div class="clear"></div>
</div>
<?php }
}
?>

View File

@ -0,0 +1,72 @@
<?php
/**
* Related comics
* Displays a list of comic links that are related to this current one using shortcode.
*
* Usage: [related_comics]
*
*/
function related_comics_shortcode( $atts = '' ) {
extract(shortcode_atts(array(
'limit' => '5',
), $atts));
global $wpdb, $post, $table_prefix, $category_tree;
if ($post->ID) {
// Get tags
$tags = wp_get_post_tags($post->ID);
$tagsarray = array();
foreach ($tags as $tag) {
$tagsarray[] = $tag->term_id;
}
$tagslist = implode(',', $tagsarray);
if (empty($tagslist)) return;
if (empty($limit)) $limit = 5;
// Do the query
$q = "SELECT p.*, count(tr.object_id) as count
FROM $wpdb->term_taxonomy AS tt, $wpdb->term_relationships AS tr, $wpdb->posts AS p WHERE tt.taxonomy ='post_tag' AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = p.ID AND tt.term_id IN ($tagslist) AND p.ID != $post->ID
AND p.post_status = 'publish'
AND p.post_date_gmt < NOW()
GROUP BY tr.object_id
ORDER BY count DESC, p.post_date_gmt DESC
LIMIT $limit;";
$related = $wpdb->get_results($q);
if ( $related ) {
$retval = '
<div class="related_posts">
'.__('Related Comics &not;','comicpress');
$retval .= '
<ul><li>';
$comic_categories = array();
foreach ($category_tree as $node) {
$comic_categories[] = end(explode("/", $node));
}
$in_comic_cat = 0;
$retval .= '
<table class="month-table">';
foreach($related as $r) :
if (count(array_intersect($comic_categories, wp_get_post_categories($r->ID))) > 0)
$retval .= '
<tr><td class="archive-date" align="right">'.date('M j, Y',strtotime($r->post_date)).'</td><td class="archive-title"><a title="'.wptexturize($r->post_title).'" href="'.get_permalink($r->ID).'">'.wptexturize($r->post_title).'</a></td></tr>';
endforeach;
$retval .= '
</table>';
} else {
$retval .= '
<li>'.__('No related comics found','comicpress').'</li>';
}
$retval .= '
</li></ul>';
$retval .= '
</div>';
return $retval;
}
return;
}
add_shortcode('related_comics', 'related_comics_shortcode');
?>

View File

@ -0,0 +1,74 @@
<?php
/**
* Related posts
* Displays a list of blog links that are related to this current one using shortcode.
*
* Usage: [related_posts]
*
*/
function related_posts_shortcode( $atts = '' ) {
extract(shortcode_atts(array(
'limit' => '5',
), $atts));
global $wpdb, $post, $table_prefix, $category_tree;
if ($post->ID) {
// Get tags
$tags = wp_get_post_tags($post->ID);
$tagsarray = array();
foreach ($tags as $tag) {
$tagsarray[] = $tag->term_id;
}
$tagslist = implode(',', $tagsarray);
if (empty($tagslist)) return;
if (empty($limit)) $limit = 5;
// Do the query
$q = "SELECT p.*, count(tr.object_id) as count
FROM $wpdb->term_taxonomy AS tt, $wpdb->term_relationships AS tr, $wpdb->posts AS p WHERE tt.taxonomy ='post_tag' AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = p.ID AND tt.term_id IN ($tagslist) AND p.ID != $post->ID
AND p.post_status = 'publish'
AND p.post_date_gmt < NOW()
GROUP BY tr.object_id
ORDER BY count DESC, p.post_date_gmt DESC
LIMIT $limit;";
$related = $wpdb->get_results($q);
if ( $related ) {
$retval = '
<div class="related_posts">
'.__('Related Posts &not;','comicpress');
$retval .= '
<ul><li>';
$comic_categories = array();
foreach ($category_tree as $node) {
$comic_categories[] = end(explode("/", $node));
}
$in_comic_cat = 0;
$counter = 0;
$retval .= '
<table class="month-table">';
foreach($related as $r) :
if (count(array_intersect($comic_categories, wp_get_post_categories($r->ID))) == 0)
$retval .= '
<tr><td class="archive-date" align="right">'.date('M j, Y',strtotime($r->post_date)).'</td><td class="archive-title"><a title="'.wptexturize($r->post_title).'" href="'.get_permalink($r->ID).'">'.wptexturize($r->post_title).'</a></td></tr>';
endforeach;
$retval .= '
</table>';
} else {
$retval .= '
<li>'.__('No related posts found','comicpress').'</li>';
}
$retval .= '
</li></ul>';
$retval .= '
</div>';
return $retval;
}
return;
}
add_shortcode('related_posts', 'related_posts_shortcode');
?>

View File

@ -0,0 +1,58 @@
<?php
/*
Plugin Name: Search Custom Fields
Plugin URI: http://guff.szub.net/search-custom-fields/
Description: Search post custom field values. Also provides for an alternative theme 'search' template: search-custom.php.
Author: Kaf Oseo
Version: R1.beta1
Author URI: http://szub.net
Copyright (c) 2006 Kaf Oseo (http://szub.net)
Search Custom Fields is released under the GNU General Public License
(GPL) http://www.gnu.org/licenses/gpl.txt
This is a WordPress 2 plugin (http://wordpress.org).
*/
function szub_search_custom_join($join) {
global $wpdb;
if( is_search() && szub_is_search_key() ) {
$join = " LEFT JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id ";
}
return $join;
}
add_filter('posts_join', 'szub_search_custom_join');
function szub_search_custom_where($where) {
global $wp_query, $wp_version, $wpdb;
if( !empty($wp_query->query_vars['s']) && szub_is_search_key() ) {
$search = $wp_query->query_vars['s'];
$key = $_GET['key'];
$status = ($wp_version >= 2.1) ? 'post_type = \'post\' AND post_status = \'publish\'' : 'post_status = \'publish\'';
$where = " AND $wpdb->postmeta.meta_key = '$key' AND $wpdb->postmeta.meta_value LIKE '%$search%' AND $status ";
}
return $where;
}
add_filter('posts_where', 'szub_search_custom_where');
function szub_search_custom_template($template) {
if( is_search() && szub_is_search_key() && file_exists(get_template_directory() . '/search-transcript.php') )
$template = get_template_directory() . '/search-transcript.php';
if( !$template )
$template = get_query_template('search');
return $template;
}
add_filter('search_template', 'szub_search_custom_template');
function szub_is_search_key($key='') {
if( isset($_GET['key']) ) {
if( !empty($_GET['key']) || (!empty($key) && ($key = $_GET['key'])) )
return true;
}
return false;
}
?>

165
functions/wp-pagenavi.php Normal file
View File

@ -0,0 +1,165 @@
<?php
/*
Plugin Name: WP-PageNavi
Plugin URI: http://lesterchan.net/portfolio/programming/php/
Description: Adds a more advanced paging navigation to your WordPress blog.
Version: 2.40
Author: Lester 'GaMerZ' Chan
Author URI: http://lesterchan.net
*/
/*
Copyright 2008 Lester Chan (email : lesterchan@gmail.com)
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
global $enable_numbered_pagination;
if ($enable_numbered_pagination == 'yes') {
### Function: Page Navigation: Boxed Style Paging
function wp_pagenavi($before = '', $after = '') {
global $wpdb, $wp_query;
pagenavi_init(); //Calling the pagenavi_init() function
if (!is_single()) {
$request = $wp_query->request;
$posts_per_page = intval(get_query_var('posts_per_page'));
$paged = intval(get_query_var('paged'));
$pagenavi_options = get_option('pagenavi_options');
$numposts = $wp_query->found_posts;
$max_page = $wp_query->max_num_pages;
/*
$numposts = 0;
if(strpos(get_query_var('tag'), " ")) {
preg_match('#^(.*)\sLIMIT#siU', $request, $matches);
$fromwhere = $matches[1];
$results = $wpdb->get_results($fromwhere);
$numposts = count($results);
} else {
preg_match('#FROM\s*+(.+?)\s+(GROUP BY|ORDER BY)#si', $request, $matches);
$fromwhere = $matches[1];
$numposts = $wpdb->get_var("SELECT COUNT(DISTINCT ID) FROM $fromwhere");
}
$max_page = ceil($numposts/$posts_per_page);
*/
if(empty($paged) || $paged == 0) {
$paged = 1;
}
$pages_to_show = intval($pagenavi_options['num_pages']);
$pages_to_show_minus_1 = $pages_to_show-1;
$half_page_start = floor($pages_to_show_minus_1/2);
$half_page_end = ceil($pages_to_show_minus_1/2);
$start_page = $paged - $half_page_start;
if($start_page <= 0) {
$start_page = 1;
}
$end_page = $paged + $half_page_end;
if(($end_page - $start_page) != $pages_to_show_minus_1) {
$end_page = $start_page + $pages_to_show_minus_1;
}
if($end_page > $max_page) {
$start_page = $max_page - $pages_to_show_minus_1;
$end_page = $max_page;
}
if($start_page <= 0) {
$start_page = 1;
}
if($max_page > 1 || intval($pagenavi_options['always_show']) == 1) {
$pages_text = str_replace("%CURRENT_PAGE%", number_format_i18n($paged), $pagenavi_options['pages_text']);
$pages_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pages_text);
echo $before.'<div id="paginav"><ul>'."\n";
switch(intval($pagenavi_options['style'])) {
case 1:
if(!empty($pages_text)) {
echo '<li class="paginav-pages">'.$pages_text.'</li>';
}
if ($start_page >= 2 && $pages_to_show < $max_page) {
$first_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['first_text']);
echo '<li><a href="'.clean_url(get_pagenum_link()).'" title="'.$first_page_text.'">'.$first_page_text.'</a></li>';
if(!empty($pagenavi_options['dotleft_text'])) {
echo '<li class="paginav-extend">'.$pagenavi_options['dotleft_text'].'</li>';
}
}
echo '<li class="paginav-previous">';
previous_posts_link($pagenavi_options['prev_text']);
echo '</li>';
for($i = $start_page; $i <= $end_page; $i++) {
if($i == $paged) {
$current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['current_text']);
echo '<li class="paginav-current">'.$current_page_text.'</li>';
} else {
$page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
echo '<li><a href="'.clean_url(get_pagenum_link($i)).'" title="'.$page_text.'">'.$page_text.'</a></li>';
}
}
echo '<li class="paginav-next">';
next_posts_link($pagenavi_options['next_text'], $max_page);
echo '</li>';
if ($end_page < $max_page) {
if(!empty($pagenavi_options['dotright_text'])) {
echo '<li class="paginav-extend">'.$pagenavi_options['dotright_text'].'</li>';
}
$last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['last_text']);
echo '<li><a href="'.clean_url(get_pagenum_link($max_page)).'" title="'.$last_page_text.'">'.$last_page_text.'</a></li>';
}
break;
case 2;
echo '<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="get">'."\n";
echo '<select size="1" onchange="document.location.href = this.options[this.selectedIndex].value;">'."\n";
for($i = 1; $i <= $max_page; $i++) {
$page_num = $i;
if($page_num == 1) {
$page_num = 0;
}
if($i == $paged) {
$current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['current_text']);
echo '<option value="'.clean_url(get_pagenum_link($page_num)).'" selected="selected" class="current">'.$current_page_text."</option>\n";
} else {
$page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
echo '<option value="'.clean_url(get_pagenum_link($page_num)).'">'.$page_text."</option>\n";
}
}
echo "</select>\n";
echo "</form>\n";
break;
}
echo '</ul></div>'.$after."\n";
}
}
}
### Function: Page Navigation Options
add_action('activate_wp-pagenavi/wp-pagenavi.php', 'pagenavi_init');
function pagenavi_init() {
// Add Options
$pagenavi_options = array();
$pagenavi_options['pages_text'] = __('Page %CURRENT_PAGE% of %TOTAL_PAGES%','comicpress');
$pagenavi_options['current_text'] = '%PAGE_NUMBER%';
$pagenavi_options['page_text'] = '%PAGE_NUMBER%';
$pagenavi_options['first_text'] = __('&laquo; First','comicpress');
$pagenavi_options['last_text'] = __('Last &raquo;','comicpress');
$pagenavi_options['next_text'] = __('&raquo;','comicpress');
$pagenavi_options['prev_text'] = __('&laquo;','comicpress');
$pagenavi_options['dotright_text'] = __('...','comicpress');
$pagenavi_options['dotleft_text'] = __('...','comicpress');
$pagenavi_options['style'] = 1;
$pagenavi_options['num_pages'] = 5;
$pagenavi_options['always_show'] = 0;
add_option('pagenavi_options', $pagenavi_options, 'PageNavi Options');
}
}
?>

29
gecko_style.css Normal file
View File

@ -0,0 +1,29 @@
/* ComicPress Custom CSS over-rides for [ gecko ]: ComicPress - 2.8 */
html { overflow-y: scroll; }
a:focus { outline: 0; }
.comicarchiveframe {
-moz-opacity: 0.99; /* mozilla, netscape */
opacity:0.99; /* firefox, opera, safari, chrome */
}
.comicarchiveframe:hover {
-moz-opacity: 0.7; /* mozilla, netscape */
opacity:0.70; /* firefox, opera, safari, chrome */
}
.imagenav-link img {
-moz-opacity: 0.5; /* mozilla, netscape, gecko */
opacity:0.5; /* firefox, opera, safari, chrome */
}
.imagenav-link img:hover {
-moz-opacity: 0; /* mozilla, netscape */
opacity:0.5; /* firefox, opera, safari, chrome */
}
::-moz-selection {
background: #a1c0d9; /* Firefox */
}

61
header.php Normal file
View File

@ -0,0 +1,61 @@
<!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" <?php language_attributes(); ?>>
<head>
<title><?php
bloginfo('name');
if (is_home () ) {
echo " - "; bloginfo('description');
} elseif (is_category() ) {
echo " - "; single_cat_title();
} elseif (is_single() || is_page() ) {
echo " - "; single_post_title();
} elseif (is_search() ) {
echo __(" search results: ",'comicpress'); echo wp_specialchars($s);
} else {
echo " - "; wp_title('',true);
}
?></title>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type') ?>; charset=<?php bloginfo('charset') ?>" />
<link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>" type="text/css" media="screen" />
<?php comicpress_gnav_display_css(); ?>
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name') ?> RSS2 Feed" href="<?php bloginfo('rss2_url') ?>" />
<link rel="alternate" type="application/atom+xml" title="<?php bloginfo('name') ?> Atom Feed" href="<?php bloginfo('atom_url') ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url') ?>" />
<meta name="ComicPress" content="<?php global $comicpress_version; echo $comicpress_version; ?>" />
<!--[if lt IE 7]>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/ie6submenus.js"></script>
<![endif]-->
<?php wp_head(); global $disable_page_restraints; ?>
</head>
<body <?php if (function_exists('body_class')) { body_class(); } ?>>
<?php do_action('comicpress-header'); ?>
<?php get_sidebar('above'); ?>
<div id="page-head"></div>
<?php if ($disable_page_restraints != 'yes') {
if (is_cp_theme_layout('standard,v')) { ?>
<div id="page-wrap"><!-- Wraps outside the site width -->
<div id="page"><!-- Defines entire site width - Ends in Footer -->
<?php } else { ?>
<div id="page-wide-wrap">
<div id="page-wide">
<?php }
} ?>
<?php if (comicpress_check_child_file('partials/headerarea') == false) { ?>
<div id="header">
<?php if (function_exists('the_project_wonderful_ad')) { ?>
<div class="headerpwad">
<?php the_project_wonderful_ad('header'); ?>
</div>
<?php } ?>
<h1><a href="<?php bloginfo('wpurl'); ?>"><?php bloginfo('name') ?></a></h1>
<div class="description"><?php bloginfo('description') ?></div>
<?php get_sidebar('header'); ?>
<div class="clear"></div>
</div>
<?php } ?>
<?php get_sidebar('menubar'); ?>

13
ie_style.css Normal file
View File

@ -0,0 +1,13 @@
/* These overrides are for the IE browser, fixes and what not to make it work. */
html { overflow-y: scroll; }
#menubar {
zoom: 1; /* IE fix, allows for variable height menu */
}
tt a:hover
{
z-index:1000; color: #aaaaff;
background-color: Transparent;
}

66
image.php Normal file
View File

@ -0,0 +1,66 @@
<?php get_header(); ?>
<?php include(get_template_directory() . '/layout-head.php'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post() ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page" id="post-<?php the_ID() ?>">
<h2 class="pagetitle">
<a href="<?php echo get_permalink($post->post_parent) ?>" rev="attachment"><?php echo get_the_title($post->post_parent) ?></a>
</h2>
<div class="gallery-image">
<a href="<?php echo wp_get_attachment_url($post->ID) ?>" target="_blank" title="<?php _e('Click for full size.','comicpress'); ?>" ><img src="<?php echo wp_get_attachment_url($post->ID) ?>" alt="<?php the_title() ?>" /></a>
</div>
<div class="gallery-caption">
<?php the_excerpt() ?>
</div>
<div class="imagenav-wrap">
<div class="imagenav">
<div class="imagenav-bg">
<?php previous_image_link() ?>
</div>
<div class="imagenav-arrow">
&lsaquo;
</div>
<div class="imagenav-link">
<?php previous_image_link() ?>
</div>
</div>
<div class="imagenav-center">
<a href="<?php echo wp_get_attachment_url($post->ID) ?>" target="_blank" title="Click for full size." class="imagetitle"><?php the_title() ?></a><br />
<a href="<?php echo get_permalink($post->post_parent) ?>" rev="attachment"><?php _e('&larr; Back to Gallery','comicpress'); ?></a>
</div>
<div class="imagenav">
<div class="imagenav-bg">
<?php next_image_link() ?>
</div>
<div class="imagenav-arrow">
&rsaquo;
</div>
<div class="imagenav-link">
<?php next_image_link() ?>
</div>
</div>
<div class="clear"></div>
</div>
<?php the_content() ?>
<?php if ('open' == $post->comment_status) {
comments_template('', true);
} ?>
<br class="clear-margins" />
</div>
<div class="post-page-foot"></div>
</div>
<?php endwhile; else: ?>
<div class="<?php comicpress_post_class(); ?>">
<div class="post-page-head"></div>
<div class="post-page">
<p><?php _e('Sorry, no image matched your criteria.','comicpress'); ?></p>
<br class="clear-margins" />
</div>
<div class="post-page-foot"></div>
</div>
<?php endif; ?>
<?php include(get_template_directory() . '/layout-foot.php'); ?>
<?php get_footer() ?>

BIN
images/1.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

BIN
images/2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

BIN
images/2a.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

BIN
images/3.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 B

BIN
images/3a.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

BIN
images/4.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

BIN
images/bubble.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
images/buynow_paypal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
images/buythis.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
images/cal/default.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
images/cal/default/july.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/cal/default/june.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
images/cal/default/may.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
images/calendar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
images/comicpress-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
images/header-blank.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Some files were not shown because too many files have changed in this diff Show More