Make WordPress Core

Ticket #27436: 27436.diff

File 27436.diff, 11.0 KB (added by DrewAPicture, 11 years ago)
  • src/wp-admin/includes/class-wp-upgrader.php

     
    113113                 *
    114114                 * @since 3.7.0
    115115                 *
    116                  * @param bool    $reply   Whether to bail without returning the package. Default is false.
    117                  * @param string  $package The package file name.
    118                  * @param object $this    The WP_Upgrader instance.
     116                 * @param bool        $reply   Whether to bail without returning the package. Default is false.
     117                 * @param string      $package The package file name.
     118                 * @param WP_Upgrader $this    The WP_Upgrader instance.
    119119                 */
    120120                $reply = apply_filters( 'upgrader_pre_download', false, $package, $this );
    121121                if ( false !== $reply )
     
    198198
    199199                $this->skin->feedback('installing_package');
    200200
    201                 $res = apply_filters('upgrader_pre_install', true, $hook_extra);
     201                /**
     202                 * Filter install response before the installation has started.
     203                 *
     204                 * Returning a value that could be evaluated as a WP_Error will effectively
     205                 * short-circuit the installation, returning that value instead.
     206                 *
     207                 * @since
     208                 *
     209                 * @param bool|WP_Error $response   Response.
     210                 * @param array         $hook_extra Extra arguments passed to hooked filters.
     211                 */
     212                $res = apply_filters( 'upgrader_pre_install', true, $hook_extra );
    202213                if ( is_wp_error($res) )
    203214                        return $res;
    204215
     
    217228                else //It's only a single file, the upgrader will use the foldername of this file as the destination folder. foldername is based on zip filename.
    218229                        $source = trailingslashit($source);
    219230
    220                 //Hook ability to change the source file location..
    221                 $source = apply_filters('upgrader_source_selection', $source, $remote_source, $this);
     231                /**
     232                 * Filter the source file location for the upgrade package.
     233                 *
     234                 * @since
     235                 *
     236                 * @param string      $source        File source location.
     237                 * @param string      $remote_source Remove file source location.
     238                 * @param WP_Upgrader $this          WP_Upgrader instance.
     239                 */
     240                $source = apply_filters( 'upgrader_source_selection', $source, $remote_source, $this );
    222241                if ( is_wp_error($source) )
    223242                        return $source;
    224243
     
    243262                        $removed = true;
    244263                        if ( $wp_filesystem->exists($remote_destination) )
    245264                                $removed = $wp_filesystem->delete($remote_destination, true);
    246                         $removed = apply_filters('upgrader_clear_destination', $removed, $local_destination, $remote_destination, $hook_extra);
    247265
     266                        /**
     267                         * Filter whether the upgrader cleared the destination.
     268                         *
     269                         * @since
     270                         *
     271                         * @param bool   $removed            Whether the destination was cleared.
     272                         * @param string $local_destination  The local package destination.
     273                         * @param string $remote_destination The remote package destination.
     274                         * @param array  $hook_extra         Extra arguments passed to hooked filters.
     275                         */
     276                        $removed = apply_filters( 'upgrader_clear_destination', $removed, $local_destination, $remote_destination, $hook_extra );
     277
    248278                        if ( is_wp_error($removed) )
    249279                                return $removed;
    250280                        else if ( ! $removed )
     
    282312
    283313                $this->result = compact('local_source', 'source', 'source_name', 'source_files', 'destination', 'destination_name', 'local_destination', 'remote_destination', 'clear_destination', 'delete_source_dir');
    284314
    285                 $res = apply_filters('upgrader_post_install', true, $hook_extra, $this->result);
     315                /**
     316                 * Filter install response after the installation has finished.
     317                 *
     318                 * @since
     319                 *
     320                 * @param bool  $response   Install response.
     321                 * @param array $hook_extra Extra arguments passed to hooked filters.
     322                 * @param array $result     Installation result data.
     323                 */
     324                $res = apply_filters( 'upgrader_post_install', true, $hook_extra, $this->result );
     325
    286326                if ( is_wp_error($res) ) {
    287327                        $this->result = $res;
    288328                        return $res;
     
    373413                $this->skin->after();
    374414
    375415                if ( ! $is_multi ) {
     416                        /** This action is documented in wp-admin/includes/class-wp-upgrader.php */
    376417                        do_action( 'upgrader_process_complete', $this, $hook_extra );
    377418                        $this->skin->footer();
    378419                }
     
    593634
    594635                $this->maintenance_mode(false);
    595636
     637                /**
     638                 * Fires when the bulk plugin upgrader process is complete.
     639                 *
     640                 * @since
     641                 *
     642                 * @param Plugin_Upgrader $this Plugin_Upgrader instance.
     643                 * @param array           $data {
     644                 *     Array of bulk plugin update data.
     645                 *
     646                 *     @type string $action   Type of action. Default 'update'.
     647                 *     @type string $type     Type of update process. Accepts 'plugin', 'theme'.
     648                 *     @type bool   $bulk     Whether the update process is a bulk update. Default true.
     649                 *     @type array  $packages Array of plugins or themes to update.
     650                 * }
     651                 */
    596652                do_action( 'upgrader_process_complete', $this, array(
    597653                        'action' => 'update',
    598654                        'type' => 'plugin',
     
    9761032
    9771033                $this->maintenance_mode(false);
    9781034
     1035                /** This action is documented in wp-admin/includes/class-wp-upgrader.php */
    9791036                do_action( 'upgrader_process_complete', $this, array(
    9801037                        'action' => 'update',
    9811038                        'type' => 'theme',
     
    14031460                        if ( $try_rollback ) {
    14041461                                /** This filter is documented in wp-admin/includes/update-core.php */
    14051462                                apply_filters( 'update_feedback', $result );
     1463
    14061464                                /** This filter is documented in wp-admin/includes/update-core.php */
    14071465                                apply_filters( 'update_feedback', $this->strings['start_rollback'] );
    14081466
     
    14131471                        }
    14141472                }
    14151473
     1474                /** This action is documented in wp-admin/includes/class-wp-upgrader.php */
    14161475                do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'core' ) );
    14171476
    14181477                // Clear the current updates
     
    15081567
    15091568                // 3: 3.7-alpha-25000 -> 3.7-alpha-25678 -> 3.7-beta1 -> 3.7-beta2
    15101569                if ( $current_is_development_version ) {
     1570
     1571                        /**
     1572                         * Filter whether to allow automatic core updates for development versions.
     1573                         *
     1574                         * @since
     1575                         *
     1576                         * @param bool $upgrade_dev Whether to allow automatic updates for development versions.
     1577                         */
    15111578                        if ( ! apply_filters( 'allow_dev_auto_core_updates', $upgrade_dev ) )
    15121579                                return false;
    15131580                        // else fall through to minor + major branches below
    15141581                }
    15151582
    15161583                // 4: Minor In-branch updates (3.7.0 -> 3.7.1 -> 3.7.2 -> 3.7.4)
    1517                 if ( $current_branch == $new_branch )
     1584                if ( $current_branch == $new_branch ) {
     1585
     1586                        /**
     1587                         * Filter whether to allow automatic minor core updates.
     1588                         *
     1589                         * @since
     1590                         *
     1591                         * @param bool $upgrade_minor Whether to allow automatic minor core updates.
     1592                         */
    15181593                        return apply_filters( 'allow_minor_auto_core_updates', $upgrade_minor );
     1594                }
    15191595
    15201596                // 5: Major version updates (3.7.0 -> 3.8.0 -> 3.9.1)
    1521                 if ( version_compare( $new_branch, $current_branch, '>' ) )
     1597                if ( version_compare( $new_branch, $current_branch, '>' ) ) {
     1598
     1599                        /**
     1600                         * Filter whether to allow automatic major core updates.
     1601                         *
     1602                         * @since
     1603                         *
     1604                         * @param bool $upgrade_major Whether to allow automatic major core updates.
     1605                         */
    15221606                        return apply_filters( 'allow_major_auto_core_updates', $upgrade_major );
     1607                }
    15231608
    15241609                // If we're not sure, we don't want it
    15251610                return false;
     
    16601745                 * This also disables update notification emails. That may change in the future.
    16611746                 *
    16621747                 * @since 3.7.0
     1748                 *
    16631749                 * @param bool $disabled Whether the updater should be disabled.
    16641750                 */
    16651751                return apply_filters( 'automatic_updater_disabled', $disabled );
     
    17131799                }
    17141800
    17151801                /**
    1716                  * Filter whether the automatic updater should consider a filesystem location to be potentially
    1717                  * managed by a version control system.
     1802                 * Filter whether the automatic updater should consider a filesystem
     1803                 * location to be potentially managed by a version control system.
    17181804                 *
    17191805                 * @since 3.7.0
    17201806                 *
    1721                  * @param bool $checkout  Whether a VCS checkout was discovered at $context or ABSPATH, or anywhere higher.
    1722                  * @param string $context The filesystem context (a path) against which filesystem status should be checked.
     1807                 * @param bool $checkout  Whether a VCS checkout was discovered at $context
     1808                 *                        or ABSPATH, or anywhere higher.
     1809                 * @param string $context The filesystem context (a path) against which
     1810                 *                        filesystem status should be checked.
    17231811                 */
    17241812                return apply_filters( 'automatic_updates_is_vcs_checkout', $checkout, $context );
    17251813        }
     
    17291817         *
    17301818         * @since 3.7.0
    17311819         *
    1732          * @param string $type    The type of update being checked: 'core', 'theme', 'plugin', 'translation'.
     1820         * @param string $type    The type of update being checked: 'core', 'theme',
     1821         *                        'plugin', 'translation'.
    17331822         * @param object $item    The update offer.
    1734          * @param string $context The filesystem context (a path) against which filesystem access and status
    1735          *                        should be checked.
     1823         * @param string $context The filesystem context (a path) against which filesystem
     1824         *                        access and status should be checked.
    17361825         */
    17371826        public function should_update( $type, $item, $context ) {
    17381827                // Used to see if WP_Filesystem is set up to allow unattended updates.
     
    18271916                 *
    18281917                 * @since 3.7.0
    18291918                 *
    1830                  * @param bool $notify Whether the site administrator is notified.
    1831                  * @param object $item The update offer.
     1919                 * @param bool   $notify Whether the site administrator is notified.
     1920                 * @param object $item   The update offer.
    18321921                 */
    18331922                if ( ! apply_filters( 'send_core_update_notification_email', $notify, $item ) )
    18341923                        return false;
     
    20242113                         * Filter whether to send a debugging email for each automatic background update.
    20252114                         *
    20262115                         * @since 3.7.0
    2027                          * @param bool $development_version By default, emails are sent if the install is a development version.
    2028                          *                                  Return false to avoid the email.
     2116                         * @param bool $development_version By default, emails are sent if the install is
     2117                         *                                  a development version. Return false to avoid the email.
    20292118                         */
    20302119                        if ( apply_filters( 'automatic_updates_send_debug_email', $development_version ) )
    20312120                                $this->send_debug_email();
     
    23012390                 * @param array $email {
    23022391                 *     Array of email arguments that will be passed to wp_mail().
    23032392                 *
    2304                  *     @type string $to      The email recipient. An array of emails can be returned, as handled by wp_mail().
     2393                 *     @type string $to      The email recipient. An array of emails can be returned, as handled
     2394                 *                           by wp_mail().
    23052395                 *     @type string $subject The email's subject.
    23062396                 *     @type string $body    The email message body.
    23072397                 *     @type string $headers Any email headers, defaults to no headers.
    23082398                 * }
    2309                  * @param string $type        The type of email being sent. Can be one of 'success', 'fail', 'manual', 'critical'.
     2399                 * @param string $type        The type of email being sent. Can be one of 'success', 'fail',
     2400                 *                            'manual', 'critical'.
    23102401                 * @param object $core_update The update offer that was attempted.
    23112402                 * @param mixed  $result      The result for the core update. Can be WP_Error.
    23122403                 */