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 {
}

}`