WordPress.org

Make WordPress Core

Ticket #21749: 21749.diff

File 21749.diff, 10.7 KB (added by nacin, 3 years ago)
  • wp-admin/includes/class-wp-ms-themes-list-table.php

     
    277277                        'delete' => '' 
    278278                ); 
    279279 
    280                 $theme_key = $theme->get_stylesheet(); 
     280                $theme_key = $stylesheet = $theme->get_stylesheet(); 
     281                $theme_key = urlencode( $theme_key ); 
    281282 
    282283                if ( ! $allowed ) { 
    283284                        if ( ! $theme->errors() ) 
    284                                 $actions['enable'] = '<a href="' . esc_url( wp_nonce_url($url . 'action=enable&amp;theme=' . $theme_key . '&amp;paged=' . $page . '&amp;s=' . $s, 'enable-theme_' . $theme_key) ) . '" title="' . esc_attr__('Enable this theme') . '" class="edit">' . ( $this->is_site_themes ? __( 'Enable' ) : __( 'Network Enable' ) ) . '</a>'; 
     285                                $actions['enable'] = '<a href="' . esc_url( wp_nonce_url($url . 'action=enable&amp;theme=' . $theme_key . '&amp;paged=' . $page . '&amp;s=' . $s, 'enable-theme_' . $stylesheet) ) . '" title="' . esc_attr__('Enable this theme') . '" class="edit">' . ( $this->is_site_themes ? __( 'Enable' ) : __( 'Network Enable' ) ) . '</a>'; 
    285286                } else { 
    286                         $actions['disable'] = '<a href="' . esc_url( wp_nonce_url($url . 'action=disable&amp;theme=' . $theme_key . '&amp;paged=' . $page . '&amp;s=' . $s, 'disable-theme_' . $theme_key) ) . '" title="' . esc_attr__('Disable this theme') . '">' . ( $this->is_site_themes ? __( 'Disable' ) : __( 'Network Disable' ) ) . '</a>'; 
     287                        $actions['disable'] = '<a href="' . esc_url( wp_nonce_url($url . 'action=disable&amp;theme=' . $theme_key . '&amp;paged=' . $page . '&amp;s=' . $s, 'disable-theme_' . $stylesheet) ) . '" title="' . esc_attr__('Disable this theme') . '">' . ( $this->is_site_themes ? __( 'Disable' ) : __( 'Network Disable' ) ) . '</a>'; 
    287288                } 
    288289 
    289290                if ( current_user_can('edit_themes') ) 
    290                         $actions['edit'] = '<a href="' . esc_url('theme-editor.php?theme=' .  $theme_key ) . '" title="' . esc_attr__('Open this theme in the Theme Editor') . '" class="edit">' . __('Edit') . '</a>'; 
     291                        $actions['edit'] = '<a href="' . esc_url('theme-editor.php?theme=' .  $theme_key) . '" title="' . esc_attr__('Open this theme in the Theme Editor') . '" class="edit">' . __('Edit') . '</a>'; 
    291292 
    292                 if ( ! $allowed && current_user_can( 'delete_themes' ) && ! $this->is_site_themes && $theme_key != get_option( 'stylesheet' ) && $theme_key != get_option( 'template' ) ) 
     293                if ( ! $allowed && current_user_can( 'delete_themes' ) && ! $this->is_site_themes && $stylesheet != get_option( 'stylesheet' ) && $stylesheet != get_option( 'template' ) ) 
    293294                        $actions['delete'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=delete-selected&amp;checked[]=' . $theme_key . '&amp;theme_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-themes' ) ) . '" title="' . esc_attr__( 'Delete this theme' ) . '" class="delete">' . __( 'Delete' ) . '</a>'; 
    294295 
    295                 $actions = apply_filters( 'theme_action_links', array_filter( $actions ), $theme_key, $theme, $context ); 
    296                 $actions = apply_filters( "theme_action_links_$theme_key", $actions, $theme_key, $theme, $context ); 
     296                $actions = apply_filters( 'theme_action_links', array_filter( $actions ), $stylesheet, $theme, $context ); 
     297                $actions = apply_filters( "theme_action_links_$stylesheet", $actions, $stylesheet, $theme, $context ); 
    297298 
    298299                $class = ! $allowed ? 'inactive' : 'active'; 
    299300                $checkbox_id = "checkbox_" . md5( $theme->get('Name') ); 
    300                 $checkbox = "<input type='checkbox' name='checked[]' value='" . esc_attr( $theme_key ) . "' id='" . $checkbox_id . "' /><label class='screen-reader-text' for='" . $checkbox_id . "' >" . __('Select') . " " . $theme->display('Name') . "</label>"; 
     301                $checkbox = "<input type='checkbox' name='checked[]' value='" . esc_attr( $stylesheet ) . "' id='" . $checkbox_id . "' /><label class='screen-reader-text' for='" . $checkbox_id . "' >" . __('Select') . " " . $theme->display('Name') . "</label>"; 
    301302 
    302303                $id = sanitize_html_class( $theme->get_stylesheet() ); 
    303304 
     
    341342                                        if ( $theme->get('ThemeURI') ) 
    342343                                                $theme_meta[] = '<a href="' . $theme->display('ThemeURI') . '" title="' . esc_attr__( 'Visit theme homepage' ) . '">' . __( 'Visit Theme Site' ) . '</a>'; 
    343344 
    344                                         $theme_meta = apply_filters( 'theme_row_meta', $theme_meta, $theme_key, $theme, $status ); 
     345                                        $theme_meta = apply_filters( 'theme_row_meta', $theme_meta, $stylesheet, $theme, $status ); 
    345346                                        echo implode( ' | ', $theme_meta ); 
    346347 
    347348                                        echo "</div></td>"; 
     
    349350 
    350351                                default: 
    351352                                        echo "<td class='$column_name column-$column_name'$style>"; 
    352                                         do_action( 'manage_themes_custom_column', $column_name, $theme_key, $theme ); 
     353                                        do_action( 'manage_themes_custom_column', $column_name, $stylesheet, $theme ); 
    353354                                        echo "</td>"; 
    354355                        } 
    355356                } 
     
    357358                echo "</tr>"; 
    358359 
    359360                if ( $this->is_site_themes ) 
    360                         remove_action( "after_theme_row_$theme_key", 'wp_theme_update_row' ); 
    361                 do_action( 'after_theme_row', $theme_key, $theme, $status ); 
    362                 do_action( "after_theme_row_$theme_key", $theme_key, $theme, $status ); 
     361                        remove_action( "after_theme_row_$stylesheet", 'wp_theme_update_row' ); 
     362                do_action( 'after_theme_row', $stylesheet, $theme, $status ); 
     363                do_action( "after_theme_row_$stylesheet", $stylesheet, $theme, $status ); 
    363364        } 
    364365} 
  • wp-admin/includes/class-wp-upgrader.php

     
    15001500 
    15011501                $preview_link = add_query_arg( array( 
    15021502                        'preview'    => 1, 
    1503                         'template'   => $template, 
    1504                         'stylesheet' => $stylesheet, 
    1505                 ), trailingslashit( get_home_url() ) ); 
     1503                        'template'   => urlencode( $template ), 
     1504                        'stylesheet' => urlencode( $stylesheet ), 
     1505                ), trailingslashit( home_url() ) ); 
    15061506 
    15071507                $activate_link = add_query_arg( array( 
    15081508                        'action'     => 'activate', 
    1509                         'template'   => $template, 
    1510                         'stylesheet' => $stylesheet, 
     1509                        'template'   => urlencode( $template ), 
     1510                        'stylesheet' => urlencode( $stylesheet ), 
    15111511                ), admin_url('themes.php') ); 
    15121512                $activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet ); 
    15131513 
     
    15171517                $install_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>'; 
    15181518 
    15191519                if ( is_network_admin() && current_user_can( 'manage_network_themes' ) ) 
    1520                         $install_actions['network_enable'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=enable&amp;theme=' . $stylesheet, 'enable-theme_' . $stylesheet ) ) . '" title="' . esc_attr__( 'Enable this theme for all sites in this network' ) . '" target="_parent">' . __( 'Network Enable' ) . '</a>'; 
     1520                        $install_actions['network_enable'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=enable&amp;theme=' . urlencode( $stylesheet ), 'enable-theme_' . $stylesheet ) ) . '" title="' . esc_attr__( 'Enable this theme for all sites in this network' ) . '" target="_parent">' . __( 'Network Enable' ) . '</a>'; 
    15211521 
    15221522                if ( $this->type == 'web' ) 
    15231523                        $install_actions['themes_page'] = '<a href="' . self_admin_url('theme-install.php') . '" title="' . esc_attr__('Return to Theme Installer') . '" target="_parent">' . __('Return to Theme Installer') . '</a>'; 
     
    15641564 
    15651565                        $preview_link = add_query_arg( array( 
    15661566                                'preview'    => 1, 
    1567                                 'template'   => $template, 
    1568                                 'stylesheet' => $stylesheet, 
    1569                         ), trailingslashit( get_home_url() ) ); 
     1567                                'template'   => urlencode( $template ), 
     1568                                'stylesheet' => urlencode( $stylesheet ), 
     1569                        ), trailingslashit( home_url() ) ); 
    15701570 
    15711571                        $activate_link = add_query_arg( array( 
    15721572                                'action'     => 'activate', 
    1573                                 'template'   => $template, 
    1574                                 'stylesheet' => $stylesheet, 
     1573                                'template'   => urlencode( $template ), 
     1574                                'stylesheet' => urlencode( $stylesheet ), 
    15751575                        ), admin_url('themes.php') ); 
    15761576                        $activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet ); 
    15771577 
  • wp-admin/includes/theme.php

     
    2323 
    2424        ob_start(); 
    2525        if ( empty( $redirect ) ) 
    26                 $redirect = wp_nonce_url('themes.php?action=delete&stylesheet=' . $stylesheet, 'delete-theme_' . $stylesheet); 
     26                $redirect = wp_nonce_url('themes.php?action=delete&stylesheet=' . urlencode( $stylesheet ), 'delete-theme_' . $stylesheet); 
    2727        if ( false === ($credentials = request_filesystem_credentials($redirect)) ) { 
    2828                $data = ob_get_contents(); 
    2929                ob_end_clean(); 
  • wp-admin/includes/class-wp-themes-list-table.php

     
    128128                        $activate_link = wp_nonce_url( "themes.php?action=activate&amp;template=" . urlencode( $template ) . "&amp;stylesheet=" . urlencode( $stylesheet ), 'switch-theme_' . $stylesheet ); 
    129129 
    130130                        $preview_link = esc_url( add_query_arg( 
    131                                 array( 'preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'preview_iframe' => true, 'TB_iframe' => 'true' ), 
     131                                array( 'preview' => 1, 'template' => urlencode( $template ), 'stylesheet' => urlencode( $stylesheet ), 'preview_iframe' => true, 'TB_iframe' => 'true' ), 
    132132                                home_url( '/' ) ) ); 
    133133 
    134134                        $actions = array(); 
     
    143143                                        . __( 'Live Preview' ) . '</a>'; 
    144144 
    145145                        if ( ! is_multisite() && current_user_can( 'delete_themes' ) ) 
    146                                 $actions['delete'] = '<a class="submitdelete deletion" href="' . wp_nonce_url( "themes.php?action=delete&amp;stylesheet=$stylesheet", 'delete-theme_' . $stylesheet ) 
     146                                $actions['delete'] = '<a class="submitdelete deletion" href="' . wp_nonce_url( 'themes.php?action=delete&amp;stylesheet=' . urlencode( $stylesheet ), 'delete-theme_' . $stylesheet ) 
    147147                                        . '" onclick="' . "return confirm( '" . esc_js( sprintf( __( "You are about to delete this theme '%s'\n  'Cancel' to stop, 'OK' to delete." ), $title ) ) 
    148148                                        . "' );" . '">' . __( 'Delete' ) . '</a>'; 
    149149 
  • wp-admin/theme-editor.php

     
    4646wp_reset_vars( array( 'action', 'error', 'file', 'theme' ) ); 
    4747 
    4848if ( $theme ) 
    49         $stylesheet = urldecode( $theme ); 
     49        $stylesheet = $theme; 
    5050else 
    5151        $stylesheet = get_stylesheet(); 
    5252 
     
    6868        $relative_file = 'style.css'; 
    6969        $file = $allowed_files['style.css']; 
    7070} else { 
    71         $relative_file = urldecode( stripslashes( $file ) ); 
     71        $relative_file = stripslashes( $file ); 
    7272        $file = $theme->get_stylesheet_directory() . '/' . $relative_file; 
    7373} 
    7474