From 826fa2d48cc9ee490ee0940ff594d33abbf414b8 Mon Sep 17 00:00:00 2001 From: "Philip M. Hofer (Frumph)" Date: Sat, 5 Sep 2009 18:37:35 -0700 Subject: [PATCH] 2.8.1.2 Signed-off-by: Philip M. Hofer (Frumph) --- 404.php | 13 +- footer.php | 2 +- functions.php | 104 +++++++------- functions/multicomics.php | 4 +- functions/syndication.php | 59 -------- js/pre.js | 20 +++ options/comment-functions.php | 232 ++++++++++++++++++++++++++++++++ options/custom-image-header.php | 68 ++++++++++ options/wp-pagenavi.php | 162 ++++++++++++++++++++++ style.css | 9 ++ widgets/comicdate.php | 11 +- 11 files changed, 560 insertions(+), 124 deletions(-) delete mode 100644 functions/syndication.php create mode 100644 js/pre.js create mode 100644 options/comment-functions.php create mode 100644 options/custom-image-header.php create mode 100644 options/wp-pagenavi.php diff --git a/404.php b/404.php index e43e719..17455b6 100644 --- a/404.php +++ b/404.php @@ -1,5 +1,9 @@ + +
+ + @@ -7,9 +11,9 @@
- -
- + +
+
@@ -30,9 +34,8 @@
+
-
-

- © | is powered by WordPress with ComicPress + | Powered by WordPress with ComicPress | Subscribe: RSS Feed | Back to Top ↑

diff --git a/functions.php b/functions.php index 8409f98..afc93e3 100644 --- a/functions.php +++ b/functions.php @@ -5,7 +5,7 @@ if (function_exists('id_get_comment_number')) { remove_filter('comments_number','id_get_comment_number'); } -$comicpress_version = '2.8.1.1'; +$comicpress_version = '2.8.1.2'; // Remove the wptexturizer from changing the quotes and squotes. // remove_filter('the_title', 'wptexturize'); @@ -39,7 +39,6 @@ if (!empty($wpmu_version)) { require_once(get_template_directory() . '/comicpress-config.php'); } - if (get_option('upload_path') !== false) { $variables_to_extract = array(); @@ -108,61 +107,29 @@ global $cp_theme_style; } // WIDGETS WP 2.8 compatible ONLY, no backwards compatibility here. - -require_once(get_template_directory() . '/widgets/control-panel.php'); -require_once(get_template_directory() . '/widgets/graphical-navigation.php'); -require_once(get_template_directory() . '/widgets/buythisprint.php'); -require_once(get_template_directory() . '/widgets/bookmark.php'); -require_once(get_template_directory() . '/widgets/transcription.php'); -require_once(get_template_directory() . '/widgets/latestthumb.php'); -require_once(get_template_directory() . '/widgets/latestcomics.php'); -require_once(get_template_directory() . '/widgets/scheduledposts.php'); -require_once(get_template_directory() . '/widgets/calendar.php'); -require_once(get_template_directory() . '/widgets/randomcomic.php'); -require_once(get_template_directory() . '/widgets/randompost.php'); -require_once(get_template_directory() . '/widgets/searchtranscript.php'); -require_once(get_template_directory() . '/widgets/latestcomicjump.php'); -require_once(get_template_directory() . '/widgets/permalink.php'); -require_once(get_template_directory() . '/widgets/comicdate.php'); -require_once(get_template_directory() . '/widgets/comictitle.php'); -require_once(get_template_directory() . '/widgets/comiccomments.php'); -require_once(get_template_directory() . '/widgets/menubar.php'); -require_once(get_template_directory() . '/widgets/archive-dropdown.php'); -require_once(get_template_directory() . '/widgets/comicblogpost.php'); +foreach (glob(dirname(__FILE__) . '/widgets/*.php') as $__file) { require_once($__file); } // FUNCTIONS & Extra's +foreach (glob(dirname(__FILE__) . '/functions/*.php') as $__file) { require_once($__file); } -require_once(get_template_directory() . '/functions/displaycomic.php'); -require_once(get_template_directory() . '/functions/displaycomicpost.php'); -require_once(get_template_directory() . '/functions/displayblogpost.php'); -require_once(get_template_directory() . '/functions/pagination.php'); -require_once(get_template_directory() . '/functions/adminnotes.php'); -require_once(get_template_directory() . '/functions/checkbrowser.php'); -require_once(get_template_directory() . '/functions/searchcustomfields.php'); -require_once(get_template_directory() . '/functions/multicomics.php'); -require_once(get_template_directory() . '/functions/rawformatting.php'); -require_once(get_template_directory() . '/functions/relatedposts.php'); -require_once(get_template_directory() . '/functions/relatedcomics.php'); -require_once(get_template_directory() . '/functions/membersonly.php'); -require_once(get_template_directory() . '/functions/syndication.php'); -require_once(get_template_directory() . '/functions/moods.php'); +// These are in the options directory because they have toggles in the options configuration and do not get loaded +// unless they are needed. if ($enable_numbered_pagination == 'yes') { - require_once(get_template_directory() . '/functions/wp-pagenavi.php'); + require_once(get_template_directory() . '/options/wp-pagenavi.php'); } -if ($disable_extended_comments == 'no') { - require_once(get_template_directory() . '/functions/comment-functions.php'); +if ($disable_extended_comments != 'yes') { + require_once(get_template_directory() . '/options/comment-functions.php'); +} + +if ($enable_custom_image_header == 'yes') { + require_once(get_template_directory() . '/options/custom-image-header.php'); } // Dashboard Menu Comicpress Options and ComicPress CSS - require_once(get_template_directory() . '/comicpress-options.php'); -if ($enable_custom_image_header == 'yes') { - require_once(get_template_directory() . '/functions/custom-image-header.php'); -} - // If any errors occur while searching for a comic file, the error messages will be pushed into here. $comic_pathfinding_errors = array(); @@ -751,16 +718,45 @@ function comicpress_is_active_sidebar( $name ) { return false; } -function cp_copyright_year() { - $latest_comic = get_terminal_post_in_category('',true); - $archive_year = get_post_time('Y', false, $latest_comic, true); - $current_year = date('Y'); - if ($archive_year == $current_year) { - $return_year = $current_year; - } else { - $return_year = $archive_year . '-' . $current_year; +function copyrightDate() { + 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 + "); + if($copyright_dates) { + $copyright = "© " . $copyright_dates[0]->firstdate; + if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) { + $copyright .= '-' . $copyright_dates[0]->lastdate; + } + echo $copyright . " " . get_bloginfo('name'); } - return $return_year; + return false; +} + + + +function cp_copyright_year() { + 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 + "); + $output = ''; + if($copyright_dates) { + $copyright = "© " . $copyright_dates[0]->firstdate; + if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) { + $copyright .= '-' . $copyright_dates[0]->lastdate; + } + $output = $copyright . " " . get_bloginfo('name'); + } + return $output; } ?> \ No newline at end of file diff --git a/functions/multicomics.php b/functions/multicomics.php index a545133..3546366 100644 --- a/functions/multicomics.php +++ b/functions/multicomics.php @@ -9,7 +9,7 @@ */ function display_comics_multi() { global $post; - if (($result = get_comic_path($folder, $override_post, $filter, 1)) !== false) { + if (($result = get_comic_path('comic', '', '', 1)) !== false) { foreach ($result as $pathto_comic) { ?>
<?php the_title(); ?> @@ -17,7 +17,7 @@ function display_comics_multi() {
<?php the_title(); ?> diff --git a/functions/syndication.php b/functions/syndication.php deleted file mode 100644 index 3c847a3..0000000 --- a/functions/syndication.php +++ /dev/null @@ -1,59 +0,0 @@ - \ No newline at end of file diff --git a/js/pre.js b/js/pre.js new file mode 100644 index 0000000..c36e940 --- /dev/null +++ b/js/pre.js @@ -0,0 +1,20 @@ +// JavaScript Document + +$j("pre").hover(function() { + var codeInnerWidth = $j("code", this).width() + 10; + if (codeInnerWidth > 550) { + $j(this) + .stop(true, false) + .css({ + zIndex: "100", + position: "relative" + }) + .animate({ + width: codeInnerWidth + "px" + }); + } +}, function() { + $j(this).stop(true, false).animate({ + width: 550 + }); +}); \ No newline at end of file diff --git a/options/comment-functions.php b/options/comment-functions.php new file mode 100644 index 0000000..583a16e --- /dev/null +++ b/options/comment-functions.php @@ -0,0 +1,232 @@ +'; + + if(function_exists('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), get_avatar(get_comment_author_email(), 64)); + } else { + if ($comment_type == 'pingback' || $comment_type == 'trackback') { + echo ''; + } else { + echo ''; + } + } + + if($url == true && $url != 'http://') + echo ''; +} + +/** +* 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 = ''; + $output .= '' . $author . ''; + $output .= ''; + else : + $output = ''; + $output .= $author; + $output .= ''; + 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; + ?> + +
  • + + + + + + +
    + +
    + +
    + '; +} + +/** +* 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; ?> +
  • +
  • + \ No newline at end of file diff --git a/options/custom-image-header.php b/options/custom-image-header.php new file mode 100644 index 0000000..cd06f21 --- /dev/null +++ b/options/custom-image-header.php @@ -0,0 +1,68 @@ + + + + + \ No newline at end of file diff --git a/options/wp-pagenavi.php b/options/wp-pagenavi.php new file mode 100644 index 0000000..5d5078c --- /dev/null +++ b/options/wp-pagenavi.php @@ -0,0 +1,162 @@ +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.'
      '."\n"; + switch(intval($pagenavi_options['style'])) { + case 1: + if(!empty($pages_text)) { + echo '
    • '.$pages_text.'
    • '; + } + 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 '
    • '.$first_page_text.'
    • '; + if(!empty($pagenavi_options['dotleft_text'])) { + echo '
    • '.$pagenavi_options['dotleft_text'].'
    • '; + } + } + echo '
    • '; + previous_posts_link($pagenavi_options['prev_text']); + echo '
    • '; + 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 '
    • '.$current_page_text.'
    • '; + } else { + $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']); + echo '
    • '.$page_text.'
    • '; + } + } + echo '
    • '; + next_posts_link($pagenavi_options['next_text'], $max_page); + echo '
    • '; + if ($end_page < $max_page) { + if(!empty($pagenavi_options['dotright_text'])) { + echo '
    • '.$pagenavi_options['dotright_text'].'
    • '; + } + $last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['last_text']); + echo '
    • '.$last_page_text.'
    • '; + } + break; + case 2; + echo '
      '."\n"; + echo '\n"; + echo "
      \n"; + break; + } + echo '
    '.$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%','wp-pagenavi'); + $pagenavi_options['current_text'] = '%PAGE_NUMBER%'; + $pagenavi_options['page_text'] = '%PAGE_NUMBER%'; + $pagenavi_options['first_text'] = __('« First','wp-pagenavi'); + $pagenavi_options['last_text'] = __('Last »','wp-pagenavi'); + $pagenavi_options['next_text'] = __('»','wp-pagenavi'); + $pagenavi_options['prev_text'] = __('«','wp-pagenavi'); + $pagenavi_options['dotright_text'] = __('...','wp-pagenavi'); + $pagenavi_options['dotleft_text'] = __('...','wp-pagenavi'); + $pagenavi_options['style'] = 1; + $pagenavi_options['num_pages'] = 5; + $pagenavi_options['always_show'] = 0; + add_option('pagenavi_options', $pagenavi_options, 'PageNavi Options'); +} +?> \ No newline at end of file diff --git a/style.css b/style.css index 73dfdd6..f570a3a 100644 --- a/style.css +++ b/style.css @@ -98,6 +98,15 @@ acronym, abbr { border-bottom: 1px dashed #000; } +pre { + background: #eee; + padding: 5px; + border: 1px solid #999; + overflow: hidden; + margin: 0 0 15px 0; + font-family: Courier, Monospace; +} + form { margin: 0; } diff --git a/widgets/comicdate.php b/widgets/comicdate.php index 9db5830..8bd9ac2 100644 --- a/widgets/comicdate.php +++ b/widgets/comicdate.php @@ -22,22 +22,27 @@ class widget_comicpress_comic_date extends WP_Widget { echo $before_widget; $title = empty($instance['title']) ? '' : apply_filters('widget_title', $instance['title']); - if ( !empty( $title ) ) { echo $title; } ?> + if ( !empty( $title ) ) { echo $title; } ?> '' ) ); + $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'format' => '' ) ); $title = strip_tags($instance['title']); + $format = strip_tags($instance['format']); + if (empty($format)) $format = 'F jS, Y'; ?>

    - +

    +