Skip to content
Snippets Groups Projects
Commit 2dbd5981 authored by lucha's avatar lucha
Browse files

[auto] mu-plugin: disable-updates

parent 8909b55f
Branches
Tags
No related merge requests found
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
Plugin Name: Disable All WordPress Updates Plugin Name: Disable All WordPress Updates
Description: Disables the theme, plugin and core update checking, the related cronjobs and notification system. Description: Disables the theme, plugin and core update checking, the related cronjobs and notification system.
Plugin URI: https://wordpress.org/plugins/disable-wordpress-updates/ Plugin URI: https://wordpress.org/plugins/disable-wordpress-updates/
Version: 1.5.0 Version: 1.6.2
Author: Oliver Schlöbe Author: Oliver Schlöbe
Author URI: https://www.schloebe.de/ Author URI: https://www.schloebe.de/
License: GPL2 License: GPL2
...@@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ...@@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
/** /**
* Define the plugin version * Define the plugin version
*/ */
define("OSDWPUVERSION", "1.5.0"); define("OSDWPUVERSION", "1.6.2");
/** /**
...@@ -49,9 +49,6 @@ define("OSDWPUVERSION", "1.5.0"); ...@@ -49,9 +49,6 @@ define("OSDWPUVERSION", "1.5.0");
* @author scripts@schloebe.de * @author scripts@schloebe.de
*/ */
class OS_Disable_WordPress_Updates { class OS_Disable_WordPress_Updates {
private $__pluginsFiles;
private $__themeFiles;
/** /**
* The OS_Disable_WordPress_Updates class constructor * The OS_Disable_WordPress_Updates class constructor
* initializing required stuff for the plugin * initializing required stuff for the plugin
...@@ -62,42 +59,47 @@ class OS_Disable_WordPress_Updates { ...@@ -62,42 +59,47 @@ class OS_Disable_WordPress_Updates {
* @author scripts@schloebe.de * @author scripts@schloebe.de
*/ */
function __construct() { function __construct() {
$this->__pluginsFiles = array();
$this->__themeFiles = array();
add_action( 'admin_init', array(&$this, 'admin_init') ); add_action( 'admin_init', array(&$this, 'admin_init') );
/* /*
* Disable Theme Updates * Disable Theme Updates
* 2.8 to 3.0 * 2.8 to 3.0
*/ */
add_filter( 'pre_transient_update_themes', array($this, 'last_checked_themes') ); add_filter( 'pre_transient_update_themes', array($this, 'last_checked_atm') );
/* /*
* 3.0 * 3.0
*/ */
add_filter( 'pre_site_transient_update_themes', array($this, 'last_checked_themes') ); add_filter( 'pre_site_transient_update_themes', array($this, 'last_checked_atm') );
/* /*
* Disable Plugin Updates * Disable Plugin Updates
* 2.8 to 3.0 * 2.8 to 3.0
*/ */
add_action( 'pre_transient_update_plugins', array(&$this, 'last_checked_plugins') ); add_action( 'pre_transient_update_plugins', array($this, 'last_checked_atm') );
/* /*
* 3.0 * 3.0
*/ */
add_filter( 'pre_site_transient_update_plugins', array($this, 'last_checked_plugins') ); add_filter( 'pre_site_transient_update_plugins', array($this, 'last_checked_atm') );
/* /*
* Disable Core Updates * Disable Core Updates
* 2.8 to 3.0 * 2.8 to 3.0
*/ */
add_filter( 'pre_transient_update_core', array($this, 'last_checked_core') ); add_filter( 'pre_transient_update_core', array($this, 'last_checked_atm') );
/* /*
* 3.0 * 3.0
*/ */
add_filter( 'pre_site_transient_update_core', array($this, 'last_checked_core') ); add_filter( 'pre_site_transient_update_core', array($this, 'last_checked_atm') );
/*
* Filter schedule checks
*
* @link https://wordpress.org/support/topic/possible-performance-improvement/#post-8970451
*/
add_action('schedule_event', array($this, 'filter_cron_events'));
/* /*
...@@ -138,6 +140,11 @@ class OS_Disable_WordPress_Updates { ...@@ -138,6 +140,11 @@ class OS_Disable_WordPress_Updates {
function admin_init() { function admin_init() {
if ( !function_exists("remove_action") ) return; if ( !function_exists("remove_action") ) return;
/*
* Remove 'update plugins' option from bulk operations select list
*/
global $current_user;
$current_user->allcaps['update_plugins'] = 0;
/* /*
* Hide maintenance and update nag * Hide maintenance and update nag
...@@ -147,14 +154,6 @@ class OS_Disable_WordPress_Updates { ...@@ -147,14 +154,6 @@ class OS_Disable_WordPress_Updates {
remove_action( 'admin_notices', 'maintenance_nag' ); remove_action( 'admin_notices', 'maintenance_nag' );
remove_action( 'network_admin_notices', 'maintenance_nag' ); remove_action( 'network_admin_notices', 'maintenance_nag' );
/*
* Filter schedule checks
*
* @link https://wordpress.org/support/topic/possible-performance-improvement/#post-8970451
*/
add_action('schedule_event', array($this, 'filter_cron_events'));
/* /*
* Disable Theme Updates * Disable Theme Updates
...@@ -254,72 +253,32 @@ class OS_Disable_WordPress_Updates { ...@@ -254,72 +253,32 @@ class OS_Disable_WordPress_Updates {
* @since 1.5.0 * @since 1.5.0
*/ */
public function filter_cron_events($event) { public function filter_cron_events($event) {
$ignore = array( switch( $event->hook ) {
'wp_version_check', case 'wp_version_check':
'wp_update_plugins', case 'wp_update_plugins':
'wp_update_themes', case 'wp_update_themes':
'wp_maybe_auto_update' case 'wp_maybe_auto_update':
); $event = false;
break;
if( in_array($event->hook, $ignore) ) {
return false;
} }
return $event; return $event;
} }
/** /**
* Override core version check info * Override version check info
* *
* @since 1.4.3 * @since 1.6.0
*/ */
public function last_checked_core() { public function last_checked_atm( $t ) {
global $wp_version; include( ABSPATH . WPINC . '/version.php' );
return (object) array( $current = new stdClass;
'last_checked' => time(), $current->updates = array();
'updates' => array(), $current->version_checked = $wp_version;
'version_checked' => $wp_version $current->last_checked = time();
);
}
/**
* Override themes version check info
*
* @since 1.4.3
*/
public function last_checked_themes() {
global $wp_version;
if( count( wp_get_themes() ) > 0 ) foreach( wp_get_themes() as $theme ) $this->__themeFiles[$theme->get_stylesheet()] = $theme->get('Version');
return (object) array(
'last_checked' => time(),
'updates' => array(),
'version_checked' => $wp_version,
'checked' => $this->__themeFiles
);
}
/**
* Override plugins version check info
*
* @since 1.4.3
*/
public function last_checked_plugins() {
global $wp_version;
if( !function_exists( 'get_plugins' ) ) require_once ABSPATH . 'wp-admin/includes/plugin.php';
if( count( get_plugins() ) > 0 ) foreach( get_plugins() as $file => $pl ) $this->__pluginsFiles[$file] = $pl['Version'];
return (object) array( return $current;
'last_checked' => time(),
'updates' => array(),
'version_checked' => $wp_version,
'checked' => $this->__pluginsFiles
);
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment