From ab8cf86716720b2448e0c98275eab59c842fd7e6 Mon Sep 17 00:00:00 2001 From: ryan Date: Tue, 18 Oct 2005 22:42:02 +0000 Subject: [PATCH] More massive code cleanups from Mark Jaquith. fixes #1772 git-svn-id: http://svn.automattic.com/wordpress/trunk@2955 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/template-functions-post.php | 441 +++++++++++++----------- 1 file changed, 234 insertions(+), 207 deletions(-) diff --git a/wp-includes/template-functions-post.php b/wp-includes/template-functions-post.php index 88cc3ac4f..ef3294b9e 100644 --- a/wp-includes/template-functions-post.php +++ b/wp-includes/template-functions-post.php @@ -1,107 +1,114 @@ -

' . __("This post is password protected. To view it please enter your password below:") . '

-

- - '; + $output = '
+

' . __("This post is password protected. To view it please enter your password below:") . '

+

+
+ '; return $output; } + function the_ID() { global $id; echo $id; } + function the_title($before = '', $after = '', $echo = true) { $title = get_the_title(); if ( strlen($title) > 0 ) { $title = apply_filters('the_title', $before . $title . $after, $before, $after); - if ($echo) + if ( $echo ) echo $title; else return $title; } } + function get_the_title($id = 0) { $post = &get_post($id); $title = $post->post_title; - if (!empty($post->post_password)) + if ( !empty($post->post_password) ) $title = sprintf(__('Protected: %s'), $title); return $title; } + function get_the_guid( $id = 0 ) { $post = &get_post($id); - + return apply_filters('get_the_guid', $post->guid); } + function the_guid( $id = 0 ) { echo get_the_guid($id); } function the_content($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') { - $content = get_the_content($more_link_text, $stripteaser, $more_file); - $content = apply_filters('the_content', $content); - $content = str_replace(']]>', ']]>', $content); - echo $content; + $content = get_the_content($more_link_text, $stripteaser, $more_file); + $content = apply_filters('the_content', $content); + $content = str_replace(']]>', ']]>', $content); + echo $content; } + function get_the_content($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') { - global $id, $post, $more, $single, $withcomments, $page, $pages, $multipage, $numpages; - global $preview; - global $pagenow; - $output = ''; + global $id, $post, $more, $single, $withcomments, $page, $pages, $multipage, $numpages; + global $preview; + global $pagenow; + $output = ''; - if (!empty($post->post_password)) { // if there's a password - if (stripslashes($_COOKIE['wp-postpass_'.COOKIEHASH]) != $post->post_password) { // and it doesn't match the cookie - $output = get_the_password_form(); - return $output; - } - } + if ( !empty($post->post_password) ) { // if there's a password + if ( stripslashes($_COOKIE['wp-postpass_'.COOKIEHASH]) != $post->post_password ) { // and it doesn't match the cookie + $output = get_the_password_form(); + return $output; + } + } - if ($more_file != '') { - $file = $more_file; - } else { - $file = $pagenow; //$_SERVER['PHP_SELF']; - } - $content = $pages[$page-1]; - $content = explode('', $content, 2); - if ((preg_match('//', $post->post_content) && ((!$multipage) || ($page==1)))) - $stripteaser = 1; - $teaser = $content[0]; - if (($more) && ($stripteaser)) - $teaser = ''; - $output .= $teaser; - if (count($content)>1) { - if ($more) { - $output .= ''.$content[1]; - } else { - $output .= ' $more_link_text"; - } - } - if ($preview) { // preview fix for javascript bug with foreign languages - $output = preg_replace('/\%u([0-9A-F]{4,4})/e', "'&#'.base_convert('\\1',16,10).';'", $output); - } - return $output; + if ( $more_file != '' ) + $file = $more_file; + else + $file = $pagenow; //$_SERVER['PHP_SELF']; + + $content = $pages[$page-1]; + $content = explode('', $content, 2); + if ( (preg_match('//', $post->post_content) && ((!$multipage) || ($page==1))) ) + $stripteaser = 1; + $teaser = $content[0]; + if ( ($more) && ($stripteaser) ) + $teaser = ''; + $output .= $teaser; + if ( count($content) > 1 ) { + if ( $more ) + $output .= ''.$content[1]; + else + $output .= ' $more_link_text"; + } + if ( $preview ) // preview fix for javascript bug with foreign languages + $output = preg_replace('/\%u([0-9A-F]{4,4})/e', "'&#'.base_convert('\\1',16,10).';'", $output); + + return $output; } + function the_excerpt() { echo apply_filters('the_excerpt', get_the_excerpt()); } + function get_the_excerpt($fakeit = true) { global $id, $post; $output = ''; $output = $post->post_excerpt; - if (!empty($post->post_password)) { // if there's a password - if ($_COOKIE['wp-postpass_'.COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie + if ( !empty($post->post_password) ) { // if there's a password + if ( $_COOKIE['wp-postpass_'.COOKIEHASH] != $post->post_password ) { // and it doesn't match the cookie $output = __('There is no excerpt because this is a protected post.'); return $output; } @@ -110,73 +117,80 @@ function get_the_excerpt($fakeit = true) { return apply_filters('get_the_excerpt', $output); } + function wp_link_pages($args = '') { parse_str($args, $r); - if (!isset($r['before'])) $r['before'] = '

' . __('Pages:'); - if (!isset($r['after'])) $r['after'] = '

'; - if (!isset($r['next_or_number'])) $r['next_or_number'] = 'number'; - if (!isset($r['nextpagelink'])) $r['nextpagelink'] = 'Next page'; - if (!isset($r['previouspagelink'])) $r['previouspagelink'] = 'Previous page'; - if (!isset($r['pagelink'])) $r['pagelink'] = '%'; - if (!isset($r['more_file'])) $r['more_file'] = ''; + if ( !isset($r['before']) ) + $r['before'] = '

' . __('Pages:'); + if ( !isset($r['after']) ) + $r['after'] = '

'; + if ( !isset($r['next_or_number']) ) + $r['next_or_number'] = 'number'; + if ( !isset($r['nextpagelink']) ) + $r['nextpagelink'] = 'Next page'; + if ( !isset($r['previouspagelink']) ) + $r['previouspagelink'] = 'Previous page'; + if ( !isset($r['pagelink']) ) + $r['pagelink'] = '%'; + if ( !isset($r['more_file']) ) + $r['more_file'] = ''; + link_pages($r['before'], $r['after'], $r['next_or_number'], $r['nextpagelink'], $r['previouspagelink'], $r['pagelink'], $r['more_file']); } + function link_pages($before='
', $after='
', $next_or_number='number', $nextpagelink='next page', $previouspagelink='previous page', $pagelink='%', $more_file='') { - global $id, $page, $numpages, $multipage, $more; - global $pagenow; - if ($more_file != '') { - $file = $more_file; - } else { - $file = $pagenow; - } - if (($multipage)) { - if ($next_or_number=='number') { - echo $before; - for ($i = 1; $i < ($numpages+1); $i = $i + 1) { - $j=str_replace('%',"$i",$pagelink); - echo ' '; - if (($i != $page) || ((!$more) && ($page==1))) { - if ('' == get_settings('permalink_structure')) { - echo ''; - } else { - echo ''; - } - } - echo $j; - if (($i != $page) || ((!$more) && ($page==1))) - echo ''; - } - echo $after; - } else { - if ($more) { - echo $before; - $i=$page-1; - if ($i && $more) { - if ('' == get_settings('permalink_structure')) { - echo ''.$previouspagelink.''; - } else { - echo ''.$previouspagelink.''; - } - } - $i=$page+1; - if ($i<=$numpages && $more) { - if ('' == get_settings('permalink_structure')) { - echo ''.$nextpagelink.''; - } else { - echo ''.$nextpagelink.''; - } - } - echo $after; - } - } - } + global $id, $page, $numpages, $multipage, $more, $pagenow; + if ( $more_file != '' ) + $file = $more_file; + else + $file = $pagenow; + if ( $multipage ) { + if ( 'number' == $next_or_number ) { + echo $before; + for ( $i = 1; $i < ($numpages+1); $i = $i + 1 ) { + $j = str_replace('%',"$i",$pagelink); + echo ' '; + if ( ($i != $page) || ((!$more) && ($page==1)) ) { + if ( '' == get_settings('permalink_structure') ) + echo ''; + else + echo ''; + } + echo $j; + if ( ($i != $page) || ((!$more) && ($page==1)) ) + echo ''; + } + echo $after; + } else { + if ( $more ) { + echo $before; + $i = $page - 1; + if ( $i && $more ) { + if ( '' == get_settings('permalink_structure') ) + echo ''.$previouspagelink.''; + else + echo ''.$previouspagelink.''; + } + $i = $page + 1; + if ( $i <= $numpages && $more ) { + if ( '' == get_settings('permalink_structure') ) + echo ''.$nextpagelink.''; + else + echo ''.$nextpagelink.''; + } + echo $after; + } + } + } } + /* - * Post-meta: Custom per-post fields. - */ - +Post-meta: Custom per-post fields. +*/ + + function get_post_custom( $post_id = 0 ) { global $id, $post_meta_cache, $wpdb; if ( $post_id ) @@ -184,61 +198,65 @@ function get_post_custom( $post_id = 0 ) { if ( isset($post_meta_cache[$id]) ) { return $post_meta_cache[$id]; } else { - if ( $meta_list = $wpdb->get_results("SELECT post_id, meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = '$id' ORDER BY post_id, meta_key", ARRAY_A) ) { - - // Change from flat structure to hierarchical: - $post_meta_cache = array(); - foreach ($meta_list as $metarow) { - $mpid = $metarow['post_id']; - $mkey = $metarow['meta_key']; - $mval = $metarow['meta_value']; - - // Force subkeys to be array type: - if (!isset($post_meta_cache[$mpid]) || !is_array($post_meta_cache[$mpid])) - $post_meta_cache[$mpid] = array(); - if (!isset($post_meta_cache[$mpid]["$mkey"]) || !is_array($post_meta_cache[$mpid]["$mkey"])) - $post_meta_cache[$mpid]["$mkey"] = array(); - - // Add a value to the current pid/key: - $post_meta_cache[$mpid][$mkey][] = $mval; + if ( $meta_list = $wpdb->get_results("SELECT post_id, meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = '$id' ORDER BY post_id, meta_key", ARRAY_A) ) { + // Change from flat structure to hierarchical: + $post_meta_cache = array(); + foreach ( $meta_list as $metarow ) { + $mpid = $metarow['post_id']; + $mkey = $metarow['meta_key']; + $mval = $metarow['meta_value']; + + // Force subkeys to be array type: + if ( !isset($post_meta_cache[$mpid]) || !is_array($post_meta_cache[$mpid]) ) + $post_meta_cache[$mpid] = array(); + if ( !isset($post_meta_cache[$mpid]["$mkey"]) || !is_array($post_meta_cache[$mpid]["$mkey"]) ) + $post_meta_cache[$mpid]["$mkey"] = array(); + + // Add a value to the current pid/key: + $post_meta_cache[$mpid][$mkey][] = $mval; + } + return $post_meta_cache[$mpid]; } - return $post_meta_cache[$mpid]; - } } } + function get_post_custom_keys() { global $id, $post_meta_cache; - - if (!is_array($post_meta_cache[$id])) + + if ( !is_array($post_meta_cache[$id]) ) return; - if ($keys = array_keys($post_meta_cache[$id])) + if ( $keys = array_keys($post_meta_cache[$id]) ) return $keys; } + function get_post_custom_values($key='') { global $id, $post_meta_cache; return $post_meta_cache[$id][$key]; } + function post_custom( $key = '' ) { global $id, $post_meta_cache; - - if ( 1 == count($post_meta_cache[$id][$key]) ) return $post_meta_cache[$id][$key][0]; - else return $post_meta_cache[$id][$key]; + + if ( 1 == count($post_meta_cache[$id][$key]) ) + return $post_meta_cache[$id][$key][0]; + else + return $post_meta_cache[$id][$key]; } + // this will probably change at some point... function the_meta() { global $id, $post_meta_cache; - - if ($keys = get_post_custom_keys()) { + + if ( $keys = get_post_custom_keys() ) { echo "\n"; @@ -246,9 +264,10 @@ function the_meta() { } -// -// Pages -// +/* +Pages +*/ + function &get_page_children($page_id, $pages) { global $page_cache; @@ -257,42 +276,45 @@ function &get_page_children($page_id, $pages) { $pages = &$page_cache; $page_list = array(); - foreach ($pages as $page) { - if ($page->post_parent == $page_id) { + foreach ( $pages as $page ) { + if ( $page->post_parent == $page_id ) { $page_list[] = $page; - if ( $children = get_page_children($page->ID, $pages)) { + if ( $children = get_page_children($page->ID, $pages) ) $page_list = array_merge($page_list, $children); - } } } return $page_list; } + function &get_pages($args = '') { global $wpdb; parse_str($args, $r); - if (!isset($r['child_of'])) $r['child_of'] = 0; - if (!isset($r['sort_column'])) $r['sort_column'] = 'post_title'; - if (!isset($r['sort_order'])) $r['sort_order'] = 'ASC'; + if ( !isset($r['child_of']) ) + $r['child_of'] = 0; + if ( !isset($r['sort_column']) ) + $r['sort_column'] = 'post_title'; + if ( !isset($r['sort_order']) ) + $r['sort_order'] = 'ASC'; $exclusions = ''; - if (!empty($r['exclude'])) { + if ( !empty($r['exclude']) ) { $expages = preg_split('/[\s,]+/',$r['exclude']); - if (count($expages)) { - foreach ($expages as $expage) { + if ( count($expages) ) { + foreach ( $expages as $expage ) { $exclusions .= ' AND ID <> ' . intval($expage) . ' '; } } } $pages = $wpdb->get_results("SELECT * " . - "FROM $wpdb->posts " . - "WHERE post_status = 'static' " . - "$exclusions " . - "ORDER BY " . $r['sort_column'] . " " . $r['sort_order']); + "FROM $wpdb->posts " . + "WHERE post_status = 'static' " . + "$exclusions " . + "ORDER BY " . $r['sort_column'] . " " . $r['sort_order']); if ( empty($pages) ) return array(); @@ -300,104 +322,109 @@ function &get_pages($args = '') { // Update cache. update_page_cache($pages); - if ($r['child_of']) + if ( $r['child_of'] ) $pages = & get_page_children($r['child_of'], $pages); return $pages; } + function wp_list_pages($args = '') { parse_str($args, $r); - if ( !isset($r['depth']) ) $r['depth'] = 0; - if ( !isset($r['show_date']) ) $r['show_date'] = ''; - if ( !isset($r['child_of']) ) $r['child_of'] = 0; - if ( !isset($r['title_li']) ) $r['title_li'] = __('Pages'); - if ( !isset($r['echo']) ) $r['echo'] = 1; - + if ( !isset($r['depth']) ) + $r['depth'] = 0; + if ( !isset($r['show_date']) ) + $r['show_date'] = ''; + if ( !isset($r['child_of']) ) + $r['child_of'] = 0; + if ( !isset($r['title_li']) ) + $r['title_li'] = __('Pages'); + if ( !isset($r['echo']) ) + $r['echo'] = 1; + $output = ''; // Query pages. $pages = & get_pages($args); - if ( $pages ) : + if ( $pages ) { - if ( $r['title_li'] ) - $output .= ''; - endif; - + $output = apply_filters('wp_list_pages', $output); - + if ( $r['echo'] ) echo $output; - else + else return $output; } + function _page_level_out($parent, $page_tree, $args, $depth = 0, $echo = true) { global $wp_query; - $queried_obj = $wp_query->get_queried_object(); - $output = ''; - if($depth) + if ( $depth ) $indent = str_repeat("\t", $depth); - //$indent = join('', array_fill(0,$depth,"\t")); + //$indent = join('', array_fill(0,$depth,"\t")); - foreach($page_tree[$parent]['children'] as $page_id) { + foreach ( $page_tree[$parent]['children'] as $page_id ) { $cur_page = $page_tree[$page_id]; $title = $cur_page['title']; $css_class = 'page_item'; - if( $page_id == $queried_obj->ID) { + if ( $page_id == $queried_obj->ID ) $css_class .= ' current_page_item'; - } $output .= $indent . '
  • ' . $title . ''; - if(isset($cur_page['ts'])) { + if ( isset($cur_page['ts']) ) { $format = get_settings('date_format'); - if(isset($args['date_format'])) + if ( isset($args['date_format']) ) $format = $args['date_format']; $output .= " " . mysql2date($format, $cur_page['ts']); } $output .= "\n"; - if(isset($cur_page['children']) && is_array($cur_page['children'])) { + if ( isset($cur_page['children']) && is_array($cur_page['children']) ) { $new_depth = $depth + 1; - if(!$args['depth'] || $depth < ($args['depth']-1)) { + if ( !$args['depth'] || $depth < ($args['depth']-1) ) { $output .= "$indent\n"; @@ -411,4 +438,4 @@ function _page_level_out($parent, $page_tree, $args, $depth = 0, $echo = true) { return $output; } -?> +?> \ No newline at end of file