From 9c1b30860c3d3af7985e342956cff5a1eada4e31 Mon Sep 17 00:00:00 2001 From: Dion Hulse Date: Fri, 13 Sep 2013 12:52:28 +0000 Subject: [PATCH] Upgrader: Allow plugins to short-circuit the package download. Props rmccue and DrewAPicture. Fixes #22378 git-svn-id: https://develop.svn.wordpress.org/trunk@25427 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/class-wp-upgrader.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/wp-admin/includes/class-wp-upgrader.php b/src/wp-admin/includes/class-wp-upgrader.php index d1bc082059..657e4fa88c 100644 --- a/src/wp-admin/includes/class-wp-upgrader.php +++ b/src/wp-admin/includes/class-wp-upgrader.php @@ -108,6 +108,19 @@ class WP_Upgrader { function download_package($package) { + /** + * Filter whether to return the package. + * + * @since 3.7.0 + * + * @param bool $reply Whether to bail without returning the package. Default is false. + * @param string $package The package file name. + * @param object $this The WP_Upgrader instance. + */ + $reply = apply_filters( 'upgrader_pre_download', false, $package, $this ); + if ( false !== $reply ) + return $reply; + if ( ! preg_match('!^(http|https|ftp)://!i', $package) && file_exists($package) ) //Local file or remote? return $package; //must be a local file..