X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/f9001779751f83dc8a10e478bfecb4d8dd5f964c..refs/tags/wordpress-3.4:/wp-includes/post-template.php
diff --git a/wp-includes/post-template.php b/wp-includes/post-template.php
index bf4671b6..5a414eaf 100644
--- a/wp-includes/post-template.php
+++ b/wp-includes/post-template.php
@@ -79,7 +79,6 @@ function the_title_attribute( $args = '' ) {
$r = wp_parse_args($args, $defaults);
extract( $r, EXTR_SKIP );
-
$title = $before . $title . $after;
$title = esc_attr(strip_tags($title));
@@ -160,9 +159,9 @@ function get_the_guid( $id = 0 ) {
* @since 0.71
*
* @param string $more_link_text Optional. Content for when there is more text.
- * @param string $stripteaser Optional. Teaser content before the more text.
+ * @param bool $stripteaser Optional. Strip teaser content before the more text. Default is false.
*/
-function the_content($more_link_text = null, $stripteaser = 0) {
+function the_content($more_link_text = null, $stripteaser = false) {
$content = get_the_content($more_link_text, $stripteaser);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
@@ -175,10 +174,10 @@ function the_content($more_link_text = null, $stripteaser = 0) {
* @since 0.71
*
* @param string $more_link_text Optional. Content for when there is more text.
- * @param string $stripteaser Optional. Teaser content before the more text.
+ * @param bool $stripteaser Optional. Strip teaser content before the more text. Default is false.
* @return string
*/
-function get_the_content($more_link_text = null, $stripteaser = 0) {
+function get_the_content($more_link_text = null, $stripteaser = false) {
global $post, $more, $page, $pages, $multipage, $preview;
if ( null === $more_link_text )
@@ -188,10 +187,8 @@ function get_the_content($more_link_text = null, $stripteaser = 0) {
$hasTeaser = false;
// If post password required and it doesn't match the cookie.
- if ( post_password_required($post) ) {
- $output = get_the_password_form();
- return $output;
- }
+ if ( post_password_required($post) )
+ return get_the_password_form();
if ( $page > count($pages) ) // if the requested page doesn't exist
$page = count($pages); // give them the highest numbered page that DOES exist
@@ -207,9 +204,9 @@ function get_the_content($more_link_text = null, $stripteaser = 0) {
$content = array($content);
}
if ( (false !== strpos($post->post_content, '') && ((!$multipage) || ($page==1))) )
- $stripteaser = 1;
+ $stripteaser = true;
$teaser = $content[0];
- if ( ($more) && ($stripteaser) && ($hasTeaser) )
+ if ( $more && $stripteaser && $hasTeaser )
$teaser = '';
$output .= $teaser;
if ( count($content) > 1 ) {
@@ -329,9 +326,9 @@ function get_post_class( $class = '', $post_id = null ) {
$classes[] = 'status-' . $post->post_status;
// Post Format
- $post_format = get_post_format( $post->ID );
-
if ( post_type_supports( $post->post_type, 'post-formats' ) ) {
+ $post_format = get_post_format( $post->ID );
+
if ( $post_format && !is_wp_error($post_format) )
$classes[] = 'format-' . sanitize_html_class( $post_format );
else
@@ -414,8 +411,10 @@ function get_body_class( $class = '' ) {
$classes[] = 'archive';
if ( is_date() )
$classes[] = 'date';
- if ( is_search() )
+ if ( is_search() ) {
$classes[] = 'search';
+ $classes[] = $wp_query->posts ? 'search-results' : 'search-no-results';
+ }
if ( is_paged() )
$classes[] = 'paged';
if ( is_attachment() )
@@ -432,12 +431,14 @@ function get_body_class( $class = '' ) {
$classes[] = 'postid-' . $post_id;
// Post Format
- $post_format = get_post_format( $post->ID );
+ if ( post_type_supports( $post->post_type, 'post-formats' ) ) {
+ $post_format = get_post_format( $post->ID );
- if ( $post_format && !is_wp_error($post_format) )
- $classes[] = 'single-format-' . sanitize_html_class( $post_format );
- else
- $classes[] = 'single-format-standard';
+ if ( $post_format && !is_wp_error($post_format) )
+ $classes[] = 'single-format-' . sanitize_html_class( $post_format );
+ else
+ $classes[] = 'single-format-standard';
+ }
if ( is_attachment() ) {
$mime_type = get_post_mime_type($post_id);
@@ -488,13 +489,10 @@ function get_body_class( $class = '' ) {
}
if ( is_page_template() ) {
$classes[] = 'page-template';
- $classes[] = 'page-template-' . sanitize_html_class( str_replace( '.', '-', get_post_meta( $page_id, '_wp_page_template', true ) ), '' );
+ $classes[] = 'page-template-' . sanitize_html_class( str_replace( '.', '-', get_page_template_slug( $page_id ) ) );
+ } else {
+ $classes[] = 'page-template-default';
}
- } elseif ( is_search() ) {
- if ( !empty( $wp_query->posts ) )
- $classes[] = 'search-results';
- else
- $classes[] = 'search-no-results';
}
if ( is_user_logged_in() )
@@ -503,6 +501,9 @@ function get_body_class( $class = '' ) {
if ( is_admin_bar_showing() )
$classes[] = 'admin-bar';
+ if ( get_theme_mod( 'background_color' ) || get_background_image() )
+ $classes[] = 'custom-background';
+
$page = $wp_query->get( 'page' );
if ( !$page || $page < 2)
@@ -529,10 +530,13 @@ function get_body_class( $class = '' ) {
$classes[] = 'post-type-paged-' . $page;
}
- if ( !empty( $class ) ) {
+ if ( ! empty( $class ) ) {
if ( !is_array( $class ) )
$class = preg_split( '#\s+#', $class );
$classes = array_merge( $classes, $class );
+ } else {
+ // Ensure that we always coerce class to being an array.
+ $class = array();
}
$classes = array_map( 'esc_attr', $classes );
@@ -545,22 +549,29 @@ function get_body_class( $class = '' ) {
*
* @since 2.7.0
*
- * @param int|object $post An optional post. Global $post used if not provided.
+ * @param int|object $post An optional post. Global $post used if not provided.
* @return bool false if a password is not required or the correct password cookie is present, true otherwise.
*/
function post_password_required( $post = null ) {
+ global $wp_hasher;
+
$post = get_post($post);
- if ( empty($post->post_password) )
+ if ( empty( $post->post_password ) )
return false;
- if ( !isset($_COOKIE['wp-postpass_' . COOKIEHASH]) )
+ if ( ! isset( $_COOKIE['wp-postpass_' . COOKIEHASH] ) )
return true;
- if ( $_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password )
- return true;
+ if ( empty( $wp_hasher ) ) {
+ require_once( ABSPATH . 'wp-includes/class-phpass.php');
+ // By default, use the portable hash from phpass
+ $wp_hasher = new PasswordHash(8, true);
+ }
- return false;
+ $hash = stripslashes( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] );
+
+ return ! $wp_hasher->CheckPassword( $post->post_password, $hash );
}
/**
@@ -732,7 +743,7 @@ function the_meta() {
echo "
\n";
foreach ( (array) $keys as $key ) {
$keyt = trim($key);
- if ( '_' == $keyt[0] )
+ if ( is_protected_meta( $keyt, 'post' ) )
continue;
$values = array_map('trim', get_post_custom_values($key));
$value = implode($values,', ');
@@ -768,13 +779,12 @@ function wp_dropdown_pages($args = '') {
$pages = get_pages($r);
$output = '';
- $name = esc_attr($name);
// Back-compat with old system where both id and name were based on $name argument
if ( empty($id) )
$id = $name;
if ( ! empty($pages) ) {
- $output = "