Ticket #8497: 8497.3.diff
File 8497.3.diff, 5.6 KB (added by , 16 years ago) |
---|
-
wp-includes/theme.php
162 162 * @return array Theme data. 163 163 */ 164 164 function get_theme_data( $theme_file ) { 165 if( !function_exists( '_cleanup_header_comment' ) ) 166 require_once( ABSPATH . 'wp-admin/includes/misc.php' ); 167 165 168 $themes_allowed_tags = array( 166 169 'a' => array( 167 170 'href' => array(),'title' => array() … … 180 183 $theme_data = implode( '', file( $theme_file ) ); 181 184 $theme_data = str_replace ( '\r', '\n', $theme_data ); 182 185 if ( preg_match( '|Theme Name:(.*)$|mi', $theme_data, $theme_name ) ) 183 $name = $theme = wp_kses( trim( $theme_name[1]), $themes_allowed_tags );186 $name = $theme = wp_kses( _cleanup_header_comment($theme_name[1]), $themes_allowed_tags ); 184 187 else 185 188 $name = $theme = ''; 186 189 187 190 if ( preg_match( '|Theme URI:(.*)$|mi', $theme_data, $theme_uri ) ) 188 $theme_uri = clean_url( trim( $theme_uri[1]) );191 $theme_uri = clean_url( _cleanup_header_comment($theme_uri[1]) ); 189 192 else 190 193 $theme_uri = ''; 191 194 192 195 if ( preg_match( '|Description:(.*)$|mi', $theme_data, $description ) ) 193 $description = wptexturize( wp_kses( trim( $description[1]), $themes_allowed_tags ) );196 $description = wptexturize( wp_kses( _cleanup_header_comment($description[1]), $themes_allowed_tags ) ); 194 197 else 195 198 $description = ''; 196 199 197 200 if ( preg_match( '|Author URI:(.*)$|mi', $theme_data, $author_uri ) ) 198 $author_uri = clean_url( trim($author_uri[1]) );201 $author_uri = clean_url( _cleanup_header_comment($author_uri[1]) ); 199 202 else 200 203 $author_uri = ''; 201 204 202 205 if ( preg_match( '|Template:(.*)$|mi', $theme_data, $template ) ) 203 $template = wp_kses( trim( $template[1]), $themes_allowed_tags );206 $template = wp_kses( _cleanup_header_comment($template[1]), $themes_allowed_tags ); 204 207 else 205 208 $template = ''; 206 209 207 210 if ( preg_match( '|Version:(.*)|i', $theme_data, $version ) ) 208 $version = wp_kses( trim( $version[1]), $themes_allowed_tags );211 $version = wp_kses( _cleanup_header_comment($version[1]), $themes_allowed_tags ); 209 212 else 210 213 $version = ''; 211 214 212 215 if ( preg_match('|Status:(.*)|i', $theme_data, $status) ) 213 $status = wp_kses( trim( $status[1]), $themes_allowed_tags );216 $status = wp_kses( _cleanup_header_comment($status[1]), $themes_allowed_tags ); 214 217 else 215 218 $status = 'publish'; 216 219 217 220 if ( preg_match('|Tags:(.*)|i', $theme_data, $tags) ) 218 $tags = array_map( 'trim', explode( ',', wp_kses( trim( $tags[1]), array() ) ) );221 $tags = array_map( 'trim', explode( ',', wp_kses( _cleanup_header_comment($tags[1]), array() ) ) ); 219 222 else 220 223 $tags = array(); 221 224 222 225 if ( preg_match( '|Author:(.*)$|mi', $theme_data, $author_name ) ) { 223 226 if ( empty( $author_uri ) ) { 224 $author = wp_kses( trim( $author_name[1]), $themes_allowed_tags );227 $author = wp_kses( _cleanup_header_comment($author_name[1]), $themes_allowed_tags ); 225 228 } 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 ) );229 $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 ) ); 227 230 } 228 231 } else { 229 232 $author = __('Anonymous'); -
wp-admin/includes/plugin.php
66 66 * @return array See above for description. 67 67 */ 68 68 function get_plugin_data( $plugin_file, $markup = true, $translate = true ) { 69 if( !function_exists( '_cleanup_header_comment' ) ) 70 require_once( ABSPATH . 'wp-admin/includes/misc.php' ); 71 69 72 // We don't need to write to the file, so just open for reading. 70 73 $fp = fopen($plugin_file, 'r'); 71 74 … … 86 89 87 90 foreach ( array( 'name', 'uri', 'version', 'description', 'author_name', 'author_uri', 'text_domain', 'domain_path' ) as $field ) { 88 91 if ( !empty( ${$field} ) ) 89 ${$field} = trim(${$field}[1]);92 ${$field} = _cleanup_header_comment(${$field}[1]); 90 93 else 91 94 ${$field} = ''; 92 95 } -
wp-admin/includes/file.php
52 52 elseif ( file_exists( WP_CONTENT_DIR . $file ) && is_file( WP_CONTENT_DIR . $file ) ) { 53 53 $template_data = implode( '', file( WP_CONTENT_DIR . $file ) ); 54 54 if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name )) 55 return $name[1]. ' Page Template';55 return _cleanup_header_comment($name[1]) . ' Page Template'; 56 56 } 57 57 58 58 return basename( $file ); -
wp-admin/includes/misc.php
370 370 exit; 371 371 } 372 372 } 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 **/ 381 function _cleanup_header_comment($str) { 382 return trim(preg_replace("/\s*(?:\*\/|\?>).*/", '', $str)); 383 } 384 -
wp-admin/includes/theme.php
133 133 134 134 $name = ''; 135 135 if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name ) ) 136 $name = $name[1];136 $name = _cleanup_header_comment($name[1]); 137 137 138 138 if ( !empty( $name ) ) { 139 139 $page_templates[trim( $name )] = basename( $template );