WordPress.org

Make WordPress Core

Ticket #10959: 10959.2.diff

File 10959.2.diff, 1.0 KB (added by scribu, 10 years ago)

slight optimization

  • wp-admin/includes/theme.php

     
    127127        $themes = get_themes();
    128128        $theme = get_current_theme();
    129129        $templates = $themes[$theme]['Template Files'];
    130         $page_templates = array ();
     130        $page_templates = array();
    131131
    132132        if ( is_array( $templates ) ) {
     133                $base = array( trailingslashit(get_template_directory()), trailingslashit(get_stylesheet_directory()) );
     134
    133135                foreach ( $templates as $template ) {
     136                        $basename = str_replace($base, '', $template);
     137
     138                        // don't allow template files in subdirectories
     139                        if ( false !== strpos($basename, '/') )
     140                                continue;
     141
    134142                        $template_data = implode( '', file( $template ));
    135143
    136144                        $name = '';
     
    138146                                $name = _cleanup_header_comment($name[1]);
    139147
    140148                        if ( !empty( $name ) ) {
    141                                 $page_templates[trim( $name )] = basename( $template ); ;
     149                                $page_templates[trim( $name )] = $basename;
    142150                        }
    143151                }
    144152        }