WordPress.org

Make WordPress Core

Changeset 11089


Ignore:
Timestamp:
04/26/2009 06:17:19 PM (13 years ago)
Author:
ryan
Message:

WP_Upgrader updates from DD32. see #7875

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/class-wp-upgrader.php

    r11084 r11089  
    11<?php
    22/**
    3  * This file is an attempt at an abstracted version of the plugin/theme/core installer/upgrader which can be used interchangably for all uses needed within WordPress.
    4  * It is designed to be as flexible as possible, but some logic may seem rather, crazy to say the least.
    5  * Yes, this header is designed to be replaced before commiting, Hopefully i'll get some proper documentation in here.
    6  *
    7  * This File obviously needs some new PHPDoc, However:
    8  * Tested:
    9  *   Theme/Plugin Upgrades/Installs
    10  *   Core Upgrade
    11  *   FTP Extension, FTP Sockets, Direct.
    12  * Untested:
    13  *   SSH2 Layer - Needs a good cleanup.
    14  *
    15  * TODO: Remove this commentblock and replace with some better docs.
     3 * A File upgrader class for WordPress.
     4 *
     5 * This set of classes are designed to be used to upgrade/install a local set of files on the filesystem via the Filesystem Abstraction classes.
     6 *
     7 * @link http://trac.wordpress.org/ticket/7875 consolidate plugin/theme/core upgrade/install functions
     8 *
     9 * @package WordPress
     10 * @subpackage Upgrader
     11 * @since 2.8.0
    1612 */
    1713
     14/**
     15 * WordPress Upgrader class for Upgrading/Installing a local set of files via the Filesystem Abstraction classes from a Zip file.
     16 *
     17 * @TODO More Detailed docs, for methods as well.
     18 *
     19 * @package WordPress
     20 * @subpackage Upgrader
     21 * @since 2.8.0
     22 */
    1823class WP_Upgrader {
    1924    var $strings = array();
     
    2934        else
    3035            $this->skin = $skin;
     36    }
     37   
     38    function init() {
    3139        $this->skin->set_upgrader($this);
     40        $this->generic_strings();
    3241    }
    3342
     
    324333}
    325334
     335/**
     336 * Plugin Upgrader class for WordPress Plugins, It is designed to upgrade/install plugins from a local zip, remote zip URL, or uploaded zip file.
     337 *
     338 * @TODO More Detailed docs, for methods as well.
     339 *
     340 * @package WordPress
     341 * @subpackage Upgrader
     342 * @since 2.8.0
     343 */
    326344class Plugin_Upgrader extends WP_Upgrader {
    327345
     
    329347
    330348    function upgrade_strings() {
    331         $this->generic_strings();
    332349        $this->strings['up_to_date'] = __('The plugin is at the latest version.');
    333350        $this->strings['no_package'] = __('Upgrade package not available.');
     
    342359
    343360    function install_strings() {
    344         $this->generic_strings();
    345361        $this->strings['no_package'] = __('Install package not available.');
    346362        $this->strings['downloading_package'] = __('Downloading install package from %s.');
     
    353369    function install($package) {
    354370
     371        $this->init();
    355372        $this->install_strings();
    356373
     
    370387    function upgrade($plugin) {
    371388
     389        $this->init();
    372390        $this->upgrade_strings();
    373391
     
    470488}
    471489
    472 
     490/**
     491 * Theme Upgrader class for WordPress Themes, It is designed to upgrade/install themes from a local zip, remote zip URL, or uploaded zip file.
     492 *
     493 * @TODO More Detailed docs, for methods as well.
     494 *
     495 * @package WordPress
     496 * @subpackage Upgrader
     497 * @since 2.8.0
     498 */
    473499class Theme_Upgrader extends WP_Upgrader {
    474500
     
    476502
    477503    function upgrade_strings() {
    478         $this->generic_strings();
    479504        $this->strings['up_to_date'] = __('The theme is at the latest version.');
    480505        $this->strings['no_package'] = __('Upgrade package not available.');
     
    488513
    489514    function install_strings() {
    490         $this->generic_strings();
    491515        $this->strings['no_package'] = __('Install package not available.');
    492516        $this->strings['downloading_package'] = __('Downloading install package from %s.');
     
    498522
    499523    function install($package) {
    500 
     524       
     525        $this->init();
    501526        $this->install_strings();
    502527
     
    524549    function upgrade($theme) {
    525550
     551        $this->init();
    526552        $this->upgrade_strings();
    527553
     
    617643}
    618644
    619 //Untested.
     645/**
     646 * Core Upgrader class for WordPress. It allows for WordPress to upgrade itself in combiantion with the wp-admin/includes/update-core.php file
     647 *
     648 * @TODO More Detailed docs, for methods as well.
     649 *
     650 * @package WordPress
     651 * @subpackage Upgrader
     652 * @since 2.8.0
     653 */
    620654class Core_Upgrader extends WP_Upgrader {
    621655
    622656    function upgrade_strings() {
    623         $this->generic_strings();
    624657        $this->strings['up_to_date'] = __('WordPress is at the latest version.');
    625658        $this->strings['no_package'] = __('Upgrade package not available.');
     
    631664    function upgrade($current) {
    632665        global $wp_filesystem;
     666
     667        $this->init();
    633668        $this->upgrade_strings();
    634 
    635669
    636670        if ( !empty($feedback) )
     
    669703}
    670704
    671 
    672705/**
    673  * Skin stuff here.
    674  * ============================================
    675  * ============================================
    676  * ============================================
     706 * Generic Skin for the WordPress Upgrader classes. This skin is designed to be extended for specific purposes.
     707 *
     708 * @TODO More Detailed docs, for methods as well.
     709 *
     710 * @package WordPress
     711 * @subpackage Upgrader
     712 * @since 2.8.0
    677713 */
    678 
    679714class WP_Upgrader_Skin {
    680715
     
    733768
    734769    function feedback($string) {
    735         if ( isset( $this->upgrader->strings[$string]) )
     770        if ( isset( $this->upgrader->strings[$string] ) )
    736771            $string = $this->upgrader->strings[$string];
    737772
     
    751786}
    752787
     788/**
     789 * Plugin Upgrader Skin for WordPress Plugin Upgrades.
     790 *
     791 * @TODO More Detailed docs, for methods as well.
     792 *
     793 * @package WordPress
     794 * @subpackage Upgrader
     795 * @since 2.8.0
     796 */
    753797class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
    754798    var $plugin = '';
     
    791835}
    792836
    793 
     837/**
     838 * Plugin Installer Skin for WordPress Plugin Installer.
     839 *
     840 * @TODO More Detailed docs, for methods as well.
     841 *
     842 * @package WordPress
     843 * @subpackage Upgrader
     844 * @since 2.8.0
     845 */
    794846class Plugin_Installer_Skin extends WP_Upgrader_Skin {
    795847    var $api;
     
    830882
    831883        if ( ! $this->result || is_wp_error($this->result) )
    832             unset( $update_actions['activate_plugin'] );
     884            unset( $install_actions['activate_plugin'] );
    833885
    834886        $install_actions = apply_filters('install_plugin_complete_actions', $install_actions, $this->api, $plugin_file);
     
    838890}
    839891
     892/**
     893 * Theme Installer Skin for the WordPress Theme Installer.
     894 *
     895 * @TODO More Detailed docs, for methods as well.
     896 *
     897 * @package WordPress
     898 * @subpackage Upgrader
     899 * @since 2.8.0
     900 */
    840901class Theme_Installer_Skin extends WP_Upgrader_Skin {
    841902    var $api;
     
    886947
    887948        if ( ! $this->result || is_wp_error($this->result) )
    888             unset( $update_actions['activate'], $update_actions['preview'] );
     949            unset( $install_actions['activate'], $install_actions['preview'] );
    889950
    890951        $install_actions = apply_filters('install_theme_complete_actions', $install_actions, $this->api, $stylesheet, $theme_info);
     
    894955}
    895956
     957/**
     958 * Theme Upgrader Skin for WordPress Theme Upgrades.
     959 *
     960 * @TODO More Detailed docs, for methods as well.
     961 *
     962 * @package WordPress
     963 * @subpackage Upgrader
     964 * @since 2.8.0
     965 */
    896966class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
    897967    var $theme = '';
     
    9391009}
    9401010
     1011/**
     1012 * Upgrade Skin helper for File uploads. This class handles the upload process and passes it as if its a local file to the Upgrade/Installer functions.
     1013 *
     1014 * @TODO More Detailed docs, for methods as well.
     1015 *
     1016 * @package WordPress
     1017 * @subpackage Upgrader
     1018 * @since 2.8.0
     1019 */
    9411020class File_Upload_Upgrader {
    9421021    var $package;
Note: See TracChangeset for help on using the changeset viewer.