WordPress.org

Make WordPress Core

Ticket #10959: 10959.diff

File 10959.diff, 849 bytes (added by scribu, 4 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        }