WordPress.org

Make WordPress Core

Changeset 10923


Ignore:
Timestamp:
04/13/09 16:24:37 (6 years ago)
Author:
ryan
Message:

Theme insall cleanups. Props DD32. fixes #9508

Location:
trunk/wp-admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/theme-install.php

    r10900 r10923  
    9898 */ 
    9999function install_theme_search($page) { 
     100    global $theme_field_defaults; 
     101 
    100102    $type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : ''; 
    101103    $term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : ''; 
     
    399401<table id="availablethemes" cellspacing="0" cellpadding="0"> 
    400402<?php 
    401     $in_column = 0; 
    402403    $rows = ceil(count($themes) / 3); 
    403404    $table = array(); 
    404     $i = 0; 
    405     for ( $row = 1; $row <= $rows; $row++ ) { 
    406         for ( $col = 1; $col <= 3; $col++ ) { 
    407             $table[$row][$col] = $i; 
    408             $i++; 
    409         } 
    410     } 
     405    $theme_keys = array_keys($themes);  
     406    for ( $row = 1; $row <= $rows; $row++ )  
     407        for ( $col = 1; $col <= 3; $col++ )  
     408            $table[$row][$col] = array_shift($theme_keys);  
    411409 
    412410    foreach ( $table as $row => $cols ) { 
     
    420418        if ( $row == $rows ) $class[] = 'bottom'; 
    421419        if ( $col == 3 ) $class[] = 'right'; 
    422         $theme = $themes[$theme_index]; 
    423420        ?> 
    424421        <td class="<?php echo join(' ', $class); ?>"><?php 
    425             display_theme($theme); 
     422            if ( isset($themes[$theme_index]) )  
     423                display_theme($themes[$theme_index]);  
    426424        ?></td> 
    427425        <?php } // end foreach $cols ?> 
     
    468466    } 
    469467 
    470     if ( version_compare($GLOBALS['wp_version'], $api->tested, '>') ) 
     468    if ( !empty($api->tested) && version_compare($GLOBALS['wp_version'], $api->tested, '>') ) 
    471469        echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This theme has <strong>not been tested</strong> with your current version of WordPress.') . '</p></div>'; 
    472     else if ( version_compare($GLOBALS['wp_version'], $api->requires, '<') ) 
     470    else if ( !empty($api->requires) && version_compare($GLOBALS['wp_version'], $api->requires, '<') ) 
    473471        echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This theme has not been marked as <strong>compatible</strong> with your version of WordPress.') . '</p></div>'; 
    474472 
     
    477475    // Check to see if this theme is known to be installed, and has an update awaiting it. 
    478476    $update_themes = get_transient('update_themes'); 
    479     if ( is_object($update_themes) ) { 
    480         foreach ( (array)$update_themes->response as $file => $theme ) { 
    481             if ( $theme->slug === $api->slug ) { 
     477    if ( is_object($update_themes) && isset($update_themes->response) ) { 
     478        foreach ( (array)$update_themes->response as $theme_slug => $theme_info ) { 
     479            if ( $theme_slug === $api->slug ) { 
    482480                $type = 'update_available'; 
    483                 $update_file = $file; 
     481                $update_file = $theme_slug; 
    484482                break; 
    485483            } 
  • trunk/wp-admin/themes.php

    r10915 r10923  
    9494    if ( isset($themes_update->response[ $stylesheet ]) ) { 
    9595        $update = $themes_update->response[ $stylesheet ]; 
     96        $theme_name = is_object($theme) ? $theme->name : (is_array($theme) ? $theme['Name'] : ''); 
    9697        $details_url = add_query_arg(array('TB_iframe' => 'true', 'width' => 1024, 'height' => 800), $update['url']); //Theme browser inside WP? replace this, Also, theme preview JS will override this on the available list. 
    9798        $update_url = wp_nonce_url('update.php?action=upgrade-theme&amp;theme=' . urlencode($stylesheet), 'upgrade-theme_' . $stylesheet); 
    9899 
    99100        if ( ! current_user_can('update_themes') ) 
    100             printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a>.</p>'), $ct->name, $details_url, $update['new_version']); 
     101            printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a>.</p>'), $theme_name, $details_url, $update['new_version']); 
    101102        else if ( empty($update->package) ) 
    102             printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a> <em>automatic upgrade unavailable for this theme</em>.</p>'), $ct->name, $details_url, $update['new_version']); 
     103            printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a> <em>automatic upgrade unavailable for this theme</em>.</p>'), $theme_name, $details_url, $update['new_version']); 
    103104        else 
    104             printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a> or <a href="%4$s">upgrade automatically</a>.</p>'), $ct->name, $details_url, $update['new_version'], $update_url ); 
     105            printf( __('<p>There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s Details</a> or <a href="%4$s">upgrade automatically</a>.</p>'), $theme_name, $details_url, $update['new_version'], $update_url ); 
    105106    } 
    106107} 
Note: See TracChangeset for help on using the changeset viewer.