update‐notificanion.php - 1989shack/sentry-netlify-build-plugin GitHub Wiki
`<?php /**
- Plugin Name: WPMU DEV Dashboard
- Plugin URI: https://wpmudev.com/project/wpmu-dev-dashboard/
- Description: Brings the powers of WPMU DEV directly to you. It will revolutionize how you use WordPress. Activate now!
- Author: WPMU DEV
- Version: 4.11.19
- Author URI: https://wpmudev.com/
- Text Domain: wpmudev
- Domain Path: includes/languages/
- Network: true
- WDP ID: 119
- @package WPMUDEV_Dashboard */
/* Copyright 2007-2018 Incsub (http://incsub.com) Author - Aaron Edwards Contributors - Philipp Stracker, Victor Ivanov, Vladislav Bailovic, Jeffri H, Marko Miljus
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (Version 2 - GPLv2) as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/**
-
The main Dashboard class that behaves as an interface to the other Dashboard
-
classes. */ class WPMUDEV_Dashboard {
/**
- The current plugin version. Must match the plugin header.
- @var string (Version number) */ public static $version = '4.11.19';
/**
- The current SUI version.
- @var string (SUI Version number)
- Required for the body class on admin pages
- Use sui followed by version number
- Use dash instead of dots as number seperator */ public static $sui_version = 'sui-2-12-21';
/**
- The current plugin base file name.
- @var string $file File name. */ public static $basename;
/**
- Holds the API module.
- Handles all the remote calls to the WPMUDEV Server.
- @var WPMUDEV_Dashboard_Api
- @since 4.0.0 */ public static $api = null;
/**
- Holds the Remote module.
- Handles all the Hub calls from the WPMUDEV Servers.
- @var WPMUDEV_Dashboard_Remote
- @since 4.0.0 */ public static $remote = null;
/**
- Holds the settings module.
- Handles all local things like storing/fetching settings.
- @var WPMUDEV_Dashboard_Settings
- @since 4.11.10 */ public static $settings = null;
/**
- Holds the Site module.
- @var WPMUDEV_Dashboard_Site
- @since 4.0.0 */ public static $site = null;
/**
- Holds the ajax module.
- @var WPMUDEV_Dashboard_Site
- @since 4.11.6 */ public static $ajax = null;
/**
- Holds the UI module.
- Handles all the UI tasks, like displaying a specific Dashboard page.
- @var WPMUDEV_Dashboard_Ui
- @since 4.0.0 */ public static $ui = null;
/**
- Holds the Upgrader module.
- Handles all upgrade/installation relevant tasks.
- @var WPMUDEV_Dashboard_Upgrader
- @since 4.1.0 */ public static $upgrader = null;
/**
- Holds the Notification module.
- Handles all the dashboard notifications.
- @var WPMUDEV_Dashboard_Notice
- @since 4.0.0 */ public static $notice = null;
/**
- Whitelabel functionality class.
- @var WPMUDEV_Dashboard_Whitelabel
- @since 4.11.1 */ public static $whitelabel = null;
/**
- Utility functionality class.
- @var WPMUDEV_Dashboard_Utils
- @since 4.11.3 */ public static $utils = null;
/**
- Compatibility functionality class.
- @var WPMUDEV_Dashboard_Compatibility
- @since 4.11.3 */ public static $compatibility = null;
/**
-
Creates and returns the WPMUDEV Dashboard object.
-
We'll have only one of those ;)
-
Important: This function must be called BEFORE the plugins_loaded hook!
-
@since 4.0.0
-
@return WPMUDEV_Dashboard */ public static function instance() { static $inst = null;
if ( null === $inst ) { $inst = new WPMUDEV_Dashboard(); }
return $inst; }
/**
-
The singleton constructor will initialize the modules.
-
Important: This function must be called BEFORE the plugins_loaded hook!
-
@since 1.0.0 */ private function __construct() { // Plugin base name. self::$basename = plugin_basename( FILE );
require_once 'shared-ui/plugin-ui.php';
require_once 'includes/class-wpmudev-dashboard-settings.php'; require_once 'includes/class-wpmudev-dashboard-site.php'; require_once 'includes/class-wpmudev-dashboard-ajax.php'; require_once 'includes/class-wpmudev-dashboard-api.php'; require_once 'includes/class-wpmudev-dashboard-remote.php'; require_once 'includes/class-wpmudev-dashboard-sui-page-urls.php'; require_once 'includes/class-wpmudev-dashboard-ui.php'; require_once 'includes/class-wpmudev-dashboard-upgrader.php'; require_once 'includes/class-wpmudev-dashboard-notice.php'; require_once 'includes/class-wpmudev-dashboard-whitelabel.php'; require_once 'includes/class-wpmudev-dashboard-utils.php'; require_once 'includes/class-wpmudev-dashboard-compatibility.php'; require_once 'includes/class-wpmudev-dashboard-special-upgrader.php';
self::$settings = new WPMUDEV_Dashboard_Settings(); self::$utils = new WPMUDEV_Dashboard_Utils(); self::$site = new WPMUDEV_Dashboard_Site( FILE ); self::$ajax = new WPMUDEV_Dashboard_Ajax(); self::$api = new WPMUDEV_Dashboard_Api(); self::$remote = new WPMUDEV_Dashboard_Remote(); self::$notice = new WPMUDEV_Dashboard_Message(); self::$upgrader = new WPMUDEV_Dashboard_Upgrader(); self::$whitelabel = new WPMUDEV_Dashboard_Whitelabel(); self::$compatibility = new WPMUDEV_Dashboard_Compatibility();
/*
- The UI module sets up all the WP hooks when it is created.
- So it should stay the last module to create, so it can access the
- other modules already in the constructor. */ self::$ui = new WPMUDEV_Dashboard_Ui();
// Register the plugin activation hook. register_activation_hook( FILE, array( $this, 'activate_plugin' ) );
// Register the plugin deactivation hook. register_deactivation_hook( FILE, array( $this, 'deactivate_plugin' ) );
// Get db version. $version = self::$settings->get( 'version', 'general' ); // Only for v4.11.10. if ( empty( $version ) ) { // Try to get old structured version number. $version = self::$settings->get( 'version' ); }
// If existing version is not same, upgrade. if ( ! empty( $version ) && version_compare( $version, self::$version, '<' ) ) { $this->upgrade_plugin( $version ); }
/**
- Custom code can be executed after Dashboard is initialized with the
- default settings.
- @param WPMUDEV_Dashboard $this The initialized dashboard object.
- @since 4.0.0 */ do_action( 'wpmudev_dashboard_init', $this ); }
/**
-
Run code on plugin activation.
-
@since 1.0.0
-
@internal Action hook */ public function activate_plugin() { global $current_user;
// Register the plugin uninstall hook. register_uninstall_hook( FILE, array( 'WPMUDEV_Dashboard', 'uninstall_plugin' ) );
// If first time activation. if ( self::$settings->get( 'first_setup', 'flags', true ) ) { /** * Action hook to execute on first plugin activation. * * @since 4.11.2 */ do_action( 'wpmudev_dashboard_first_activation' );
// Not a first time activation anymore. self::$settings->set( 'first_setup', false, 'flags' );
}
// Make sure all Dashboard settings exist in the DB. self::$settings->init();
// Reset the admin-user when plugin is activated. if ( $current_user && $current_user->ID ) { self::$site->add_allowed_user( $current_user->ID ); }
// On next page load we want to redirect user to login page. self::$settings->set( 'redirected_v4', false, 'flags' );
// Set plugin version on activation. self::$settings->set( 'version', self::$version, 'general' );
// Force refresh of all data when plugin is activated. self::$settings->set( 'refresh_profile', true, 'flags' );
// This needs to trigger after init to prevent Call to undefined function wp_get_current_user() errors. add_action( 'shutdown', array( self::$api, 'refresh_projects_data' ) );
self::$site->schedule_shutdown_refresh(); }
/**
- Run code on plugin deactivation.
- @since 4.1.1
- @internal Action hook */ public function deactivate_plugin() { // On next page load we want to redirect user to login page. self::$settings->set( 'redirected_v4', false, 'flags' ); }
/**
- Run code on plugin uninstall.
- @since 4.5
- @internal Action hook */ public static function uninstall_plugin() { $keep_data = self::$settings->get( 'uninstall_keep_data', 'flags' ); $keep_settings = self::$settings->get( 'uninstall_preserve_settings', 'flags' ); // On next page load we want to redirect user to login page. if ( ! $keep_data && ! $keep_settings ) { self::$site->logout( false ); } }
/**
-
Run code on plugin version upgrade.
-
@param string $version Old version.
-
@since 4.11
-
@return void */ private function upgrade_plugin( $version ) { // Set new version. self::$settings->set( 'version', self::$version, 'general' );
// Show upgrade highlights modal. // self::$settings->set( 'highlights_dismissed', false, 'flags' );
/**
- Action hook to execute upgrade functions.
- @param string $version Old version.
- @param string $new_version New version.
- @since 4.11 */ do_action( 'wpmudev_dashboard_version_upgrade', $version, self::$version ); } }
// Initialize the WPMUDEV Dashboard. WPMUDEV_Dashboard::instance();
if ( ! class_exists( 'WPMUDEV_Update_Notifications' ) ) {
/**
* Dummy class for backwards compatibility to stone-age.
*/
class WPMUDEV_Update_Notifications {
}
}`