WordPress.org

Make WordPress Core

Ticket #9836: 9936.diff

File 9936.diff, 4.3 KB (added by dd32, 9 years ago)
  • wp-admin/includes/class-wp-upgrader.php

     
    391391
    392392                $current = get_transient( 'update_plugins' );
    393393                if ( !isset( $current->response[ $plugin ] ) ) {
     394                        $this->skin->set_result(false);
    394395                        $this->skin->error('up_to_date');
     396                        $this->skin->after();
    395397                        return false;
    396                         //return new WP_Error('up_to_date', $this->strings['up_to_date']);
    397398                }
    398399
    399400                // Get the URL to the zip file
     
    553554
    554555                // Is an update available?
    555556                $current = get_transient( 'update_themes' );
    556                 if ( !isset( $current->response[ $theme ] ) )
    557                         return new WP_Error('up_to_date', $this->strings['up_to_date']);
    558 
     557                if ( !isset( $current->response[ $theme ] ) ) {
     558                        $this->skin->set_result(false);
     559                        $this->skin->error('up_to_date');
     560                        $this->skin->after();
     561                        return false;
     562                }
     563               
    559564                $r = $current->response[ $theme ];
    560565
    561566                add_filter('upgrader_pre_install', array(&$this, 'current_before'), 10, 2);
     
    984989
    985990        function after() {
    986991
    987                 if ( empty($this->upgrader->result['destination_name']) )
    988                         return;
     992                if ( !empty($this->upgrader->result['destination_name']) &&
     993                        ($theme_info = $this->upgrader->theme_info()) &&
     994                        !empty($theme_info) ) {
    989995
    990                 $theme_info = $this->upgrader->theme_info();
    991                 if ( empty($theme_info) )
    992                         return;
    993                 $name = $theme_info['Name'];
    994                 $stylesheet = $this->upgrader->result['destination_name'];
    995                 $template = !empty($theme_info['Template']) ? $theme_info['Template'] : $stylesheet;
     996                        $name = $theme_info['Name'];
     997                        $stylesheet = $this->upgrader->result['destination_name'];
     998                        $template = !empty($theme_info['Template']) ? $theme_info['Template'] : $stylesheet;
     999       
     1000                        $preview_link = htmlspecialchars( add_query_arg( array('preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'TB_iframe' => 'true' ), trailingslashit(esc_url(get_option('home'))) ) );
     1001                        $activate_link = wp_nonce_url("themes.php?action=activate&template=" . urlencode($template) . "&stylesheet=" . urlencode($stylesheet), 'switch-theme_' . $template);
     1002       
     1003                        $update_actions =  array(
     1004                                'preview' => '<a href="' . $preview_link . '" class="thickbox thickbox-preview" title="' . esc_attr(sprintf(__('Preview &#8220;%s&#8221;'), $name)) . '">' . __('Preview') . '</a>',
     1005                                'activate' => '<a href="' . $activate_link .  '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>',
     1006                        );
     1007                        if ( ( ! $this->result || is_wp_error($this->result) ) || $stylesheet == get_stylesheet() )
     1008                                unset($update_actions['preview'], $update_actions['activate']);
     1009                }
    9961010
    997                 $preview_link = htmlspecialchars( add_query_arg( array('preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'TB_iframe' => 'true' ), trailingslashit(esc_url(get_option('home'))) ) );
    998                 $activate_link = wp_nonce_url("themes.php?action=activate&amp;template=" . urlencode($template) . "&amp;stylesheet=" . urlencode($stylesheet), 'switch-theme_' . $template);
     1011                $update_actions['themes_page'] = '<a href="' . admin_url('themes.php') . '" title="' . esc_attr__('Return to Themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>';
    9991012
    1000                 $update_actions =  array(
    1001                         'preview' => '<a href="' . $preview_link . '" class="thickbox thickbox-preview" title="' . esc_attr(sprintf(__('Preview &#8220;%s&#8221;'), $name)) . '">' . __('Preview') . '</a>',
    1002                         'activate' => '<a href="' . $activate_link .  '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>',
    1003                         'themes_page' => '<a href="' . admin_url('themes.php') . '" title="' . esc_attr__('Return to Themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>',
    1004                 );
    1005                 if ( ( ! $this->result || is_wp_error($this->result) ) || $stylesheet == get_stylesheet() )
    1006                         unset($update_actions['preview'], $update_actions['activate']);
    1007 
    10081013                $update_actions = apply_filters('update_theme_complete_actions', $update_actions, $this->theme);
    10091014                if ( ! empty($update_actions) )
    10101015                        $this->feedback('<strong>' . __('Actions:') . '</strong> ' . implode(' | ', (array)$update_actions));