WordPress.org

Make WordPress Core

Ticket #10959: 10959.diff

File 10959.diff, 849 bytes (added by scribu, 10 years ago)

don't allow template files in subdirectories

  • wp-admin/includes/theme.php

     
    131131
    132132        if ( is_array( $templates ) ) {
    133133                foreach ( $templates as $template ) {
     134                        $basename = str_replace(array(trailingslashit(get_template_directory()), trailingslashit(get_stylesheet_directory())), '', $template);
     135
     136                        // don't allow template files in subdirectories
     137                        if ( false !== strpos($basename, '/') )
     138                                continue;
     139
    134140                        $template_data = implode( '', file( $template ));
    135141
    136142                        $name = '';
     
    138144                                $name = _cleanup_header_comment($name[1]);
    139145
    140146                        if ( !empty( $name ) ) {
    141                                 $page_templates[trim( $name )] = basename( $template ); ;
     147                                $page_templates[trim( $name )] = $basename;
    142148                        }
    143149                }
    144150        }