Make WordPress Core

Changeset 11168


Ignore:
Timestamp:
05/04/2009 09:12:12 AM (16 years ago)
Author:
westi
Message:

Support single line Template Name comment blocks for theme Templates and apply same cleanup to all header lines. Fixes #8497 props DD32 and Denis-de-Bernardy.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/file.php

    r11109 r11168  
    5353        $template_data = implode( '', file( WP_CONTENT_DIR . $file ) );
    5454        if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name ))
    55             return $name[1] . ' Page Template';
     55            return _cleanup_header_comment($name[1]) . ' Page Template';
    5656    }
    5757
  • trunk/wp-admin/includes/misc.php

    r11135 r11168  
    371371    }
    372372}
     373
     374
     375/**
     376 * Strip close comment and close php tags from file headers used by WP
     377 * See http://core.trac.wordpress.org/ticket/8497
     378 *
     379 * @since 2.8
     380**/
     381function _cleanup_header_comment($str) {
     382    return trim(preg_replace("/\s*(?:\*\/|\?>).*/", '', $str));
     383}
     384
  • trunk/wp-admin/includes/plugin.php

    r11021 r11168  
    8787    foreach ( array( 'name', 'uri', 'version', 'description', 'author_name', 'author_uri', 'text_domain', 'domain_path' ) as $field ) {
    8888        if ( !empty( ${$field} ) )
    89             ${$field} = trim(${$field}[1]);
     89            ${$field} = _cleanup_header_comment(${$field}[1]);
    9090        else
    9191            ${$field} = '';
  • trunk/wp-admin/includes/theme.php

    r11005 r11168  
    134134            $name = '';
    135135            if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name ) )
    136                 $name = $name[1];
     136                $name = _cleanup_header_comment($name[1]);
    137137
    138138            if ( !empty( $name ) ) {
  • trunk/wp-includes/theme.php

    r11109 r11168  
    181181    $theme_data = str_replace ( '\r', '\n', $theme_data );
    182182    if ( preg_match( '|Theme Name:(.*)$|mi', $theme_data, $theme_name ) )
    183         $name = $theme = wp_kses( trim( $theme_name[1] ), $themes_allowed_tags );
     183        $name = $theme = wp_kses( _cleanup_header_comment($theme_name[1]), $themes_allowed_tags );
    184184    else
    185185        $name = $theme = '';
    186186
    187187    if ( preg_match( '|Theme URI:(.*)$|mi', $theme_data, $theme_uri ) )
    188         $theme_uri = clean_url( trim( $theme_uri[1] ) );
     188        $theme_uri = clean_url( _cleanup_header_comment($theme_uri[1]) );
    189189    else
    190190        $theme_uri = '';
    191191
    192192    if ( preg_match( '|Description:(.*)$|mi', $theme_data, $description ) )
    193         $description = wptexturize( wp_kses( trim( $description[1] ), $themes_allowed_tags ) );
     193        $description = wptexturize( wp_kses( _cleanup_header_comment($description[1]), $themes_allowed_tags ) );
    194194    else
    195195        $description = '';
    196196
    197197    if ( preg_match( '|Author URI:(.*)$|mi', $theme_data, $author_uri ) )
    198         $author_uri = clean_url( trim( $author_uri[1]) );
     198        $author_uri = clean_url( _cleanup_header_comment($author_uri[1]) );
    199199    else
    200200        $author_uri = '';
    201201
    202202    if ( preg_match( '|Template:(.*)$|mi', $theme_data, $template ) )
    203         $template = wp_kses( trim( $template[1] ), $themes_allowed_tags );
     203        $template = wp_kses( _cleanup_header_comment($template[1]), $themes_allowed_tags );
    204204    else
    205205        $template = '';
    206206
    207207    if ( preg_match( '|Version:(.*)|i', $theme_data, $version ) )
    208         $version = wp_kses( trim( $version[1] ), $themes_allowed_tags );
     208        $version = wp_kses( _cleanup_header_comment($version[1]), $themes_allowed_tags );
    209209    else
    210210        $version = '';
    211211
    212212    if ( preg_match('|Status:(.*)|i', $theme_data, $status) )
    213         $status = wp_kses( trim( $status[1] ), $themes_allowed_tags );
     213        $status = wp_kses( _cleanup_header_comment($status[1]), $themes_allowed_tags );
    214214    else
    215215        $status = 'publish';
    216216
    217217    if ( preg_match('|Tags:(.*)|i', $theme_data, $tags) )
    218         $tags = array_map( 'trim', explode( ',', wp_kses( trim( $tags[1] ), array() ) ) );
     218        $tags = array_map( 'trim', explode( ',', wp_kses( _cleanup_header_comment($tags[1]), array() ) ) );
    219219    else
    220220        $tags = array();
     
    222222    if ( preg_match( '|Author:(.*)$|mi', $theme_data, $author_name ) ) {
    223223        if ( empty( $author_uri ) ) {
    224             $author = wp_kses( trim( $author_name[1] ), $themes_allowed_tags );
     224            $author = wp_kses( _cleanup_header_comment($author_name[1]), $themes_allowed_tags );
    225225        } else {
    226             $author = sprintf( '<a href="%1$s" title="%2$s">%3$s</a>', $author_uri, __( 'Visit author homepage' ), wp_kses( trim( $author_name[1] ), $themes_allowed_tags ) );
     226            $author = sprintf( '<a href="%1$s" title="%2$s">%3$s</a>', $author_uri, __( 'Visit author homepage' ), wp_kses( _cleanup_header_comment($author_name[1]), $themes_allowed_tags ) );
    227227        }
    228228    } else {
Note: See TracChangeset for help on using the changeset viewer.