WordPress.org

Make WordPress Core

Ticket #10559: 10559.001.diff

File 10559.001.diff, 2.1 KB (added by aaroncampbell, 9 years ago)
  • trunk/wp-includes/functions.php

     
    20252025 * @param string $time Optional. Time formatted in 'yyyy/mm'.
    20262026 * @return array See above for description.
    20272027 */
    2028 function wp_upload_dir( $time = null ) {
     2028function wp_upload_dir( $time = null, $subdir = '' ) {
    20292029        $siteurl = get_option( 'siteurl' );
    20302030        $upload_path = get_option( 'upload_path' );
    20312031        $upload_path = trim($upload_path);
     
    20522052        $bdir = $dir;
    20532053        $burl = $url;
    20542054
    2055         $subdir = '';
     2055        if ( empty($subdir) || strpos($subdir, '..') !== false ) {
     2056                $subdir = '';
     2057        } else {
     2058                $subdir = '/' . trim( $subdir, '/' );
     2059        }
    20562060        if ( get_option( 'uploads_use_yearmonth_folders' ) ) {
    20572061                // Generate the yearly and monthly dirs
    20582062                if ( !$time )
    20592063                        $time = current_time( 'mysql' );
    20602064                $y = substr( $time, 0, 4 );
    20612065                $m = substr( $time, 5, 2 );
    2062                 $subdir = "/$y/$m";
     2066                $subdir .= "/$y/$m";
    20632067        }
    20642068
    20652069        $dir .= $subdir;
     
    32843288                        $display = $zone['t_continent'];
    32853289                } else {
    32863290                        // It's inside a continent group
    3287                        
     3291
    32883292                        // Continent optgroup
    32893293                        if ( !isset( $zonen[$key - 1] ) || $zonen[$key - 1]['continent'] !== $zone['continent'] ) {
    32903294                                $label = ( 'Etc' === $zone['continent'] ) ? __( 'Manual offsets' ) : $zone['t_continent'];
    32913295                                $structure[] = '<optgroup label="'. esc_attr( $label ) .'">';
    32923296                        }
    3293                        
     3297
    32943298                        // Add the city to the value
    32953299                        $value[] = $zone['city'];
    32963300                        if ( 'Etc' === $zone['continent'] ) {
     
    33183322                        $selected = 'selected="selected" ';
    33193323                }
    33203324                $structure[] = '<option ' . $selected . 'value="' . esc_attr( $value ) . '">' . esc_html( $display ) . "</option>";
    3321                
     3325
    33223326                // Close continent optgroup
    33233327                if ( !empty( $zone['city'] ) && ( !isset($zonen[$key + 1]) || (isset( $zonen[$key + 1] ) && $zonen[$key + 1]['continent'] !== $zone['continent']) ) ) {
    33243328                        $structure[] = '</optgroup>';
     
    33403344
    33413345/**
    33423346 * Permanently deletes posts, pages, attachments, and comments which have been in the trash for EMPTY_TRASH_DAYS.
    3343  * 
     3347 *
    33443348 * @since 2.9.0
    33453349 *
    33463350 * @return void