PluginProbe
MainWP Dashboard: Self-hosted WordPress Management for Agencies / 4.0.5
MainWP Dashboard: Self-hosted WordPress Management for Agencies v4.0.5
6.2 6.1.8 6.1.7 6.1.6 6.1.5 6.1.4 6.1.3 6.1.2 6.1.1 6.1 6.0.12 6.0.11 4.6.0.1 5.0 5.0.1 5.0.2 5.0.3 5.0.3.1 5.0.3.2 5.1 5.1.1 5.2 5.2.1 5.2.2 5.3 All 153 releases
← All changes | mainwp.php +51 -96 5.04.0.5 View file →
@@ -1,133 +1,88 @@
1 1 <?php
2 -/**
3 - * Plugin Name: MainWP Dashboard
4 - *
5 - * Description: Manage all of your WP sites, even those on different servers, from one central dashboard that runs off of your own self-hosted WordPress install.
6 - *
7 - * Author: MainWP
8 - * Author URI: https://mainwp.com
9 - * Plugin URI: https://mainwp.com/
10 - * Text Domain: mainwp
11 - * Version: 5.0
12 - *
13 - * @package MainWP/Dashboard
14 - *
15 - * @uses \MainWP\Dashboard\MainWP_System
2 +
3 +/*
4 + Plugin Name: MainWP Dashboard
5 + Plugin URI: https://mainwp.com/
6 + Description: Manage all of your WP sites, even those on different servers, from one central dashboard that runs off of your own self-hosted WordPress install.
7 + Author: MainWP
8 + Author URI: https://mainwp.com
9 + Text Domain: mainwp
10 + Version: 4.0.5
16 11 */
17 12
18 -if ( ! defined( 'MAINWP_PLUGIN_FILE' ) ) {
19 -
20 - /**
21 - * Define MainWP Dashboard Plugin absolute full path and filename of this file.
22 - *
23 - * @const ( string ) Defined MainWP dashboard file path.
24 - * @source https://github.com/mainwp/mainwp/blob/master/mainwp.php
25 - */
13 +if ( !defined( 'MAINWP_PLUGIN_FILE' ) ) {
26 14 define( 'MAINWP_PLUGIN_FILE', __FILE__ );
27 15 }
28 16
29 -if ( ! defined( 'MAINWP_PLUGIN_DIR' ) ) {
30 - /**
31 - * Define MainWP Dashboard Plugin Directory.
32 - *
33 - * @const ( string ) Defined MainWP Dashboard Plugin Directory.
34 - * @source https://github.com/mainwp/mainwp/blob/master/mainwp.php
35 - */
17 +if ( !defined( 'MAINWP_PLUGIN_DIR' ) ) {
36 18 define( 'MAINWP_PLUGIN_DIR', plugin_dir_path( MAINWP_PLUGIN_FILE ) );
37 19 }
38 20
39 -if ( ! defined( 'MAINWP_PLUGIN_URL' ) ) {
40 - /**
41 - * Define MainWP Child Dashboard URL.
42 - *
43 - * @const ( string ) Defined MainWP Dashboard Plugin URL.
44 - * @source https://github.com/mainwp/mainwp/blob/master/mainwp.php
45 - */
21 +if ( !defined( 'MAINWP_PLUGIN_URL' ) ) {
46 22 define( 'MAINWP_PLUGIN_URL', plugin_dir_url( MAINWP_PLUGIN_FILE ) );
47 23 }
48 24
25 +include_once( ABSPATH . 'wp-includes' . DIRECTORY_SEPARATOR . 'version.php' ); //Version information from wordpress
49 26
50 -if ( ! defined( 'MAINWP_MODULES_DIR' ) ) {
51 - define( 'MAINWP_MODULES_DIR', MAINWP_PLUGIN_DIR . 'modules' . DIRECTORY_SEPARATOR );
52 -}
27 +if ( !function_exists( 'mainwp_autoload' ) ) {
53 28
54 -if ( ! defined( 'MAINWP_MODULES_URL' ) ) {
55 - define( 'MAINWP_MODULES_URL', MAINWP_PLUGIN_URL . 'modules/' );
56 -}
29 + function mainwp_autoload( $class_name ) {
30 + if ( 0 !== strpos( $class_name, 'MainWP_' ) )
31 + return;
57 32
33 + $autoload_types = array( 'class' => 'class', 'pages' => 'page', 'widgets' => 'widget' );
58 34
59 -/**
60 - * Define enable Log Module.
61 - */
62 -if ( ! defined( 'MAINWP_MODULE_LOG_ENABLED' ) ) {
63 - define( 'MAINWP_MODULE_LOG_ENABLED', true );
64 -}
35 + foreach ( $autoload_types as $type => $prefix ) {
36 + $autoload_dir = \trailingslashit( dirname( __FILE__ ) . DIRECTORY_SEPARATOR . $type );
37 + $autoload_path = sprintf( '%s%s-%s.php', $autoload_dir, $prefix, strtolower( str_replace( '_', '-', $class_name ) ) );
65 38
66 -if ( ! defined( 'MAINWP_MODULE_COST_TRACKER_ENABLED' ) ) {
67 - define( 'MAINWP_MODULE_COST_TRACKER_ENABLED', true );
39 + if ( file_exists( $autoload_path ) ) {
40 + require_once( $autoload_path );
41 + break;
42 + }
43 + }
44 + }
45 +
68 46 }
69 47
70 -if ( ! defined( 'MAINWP_MODULE_API_BACKUPS_ENABLED' ) ) {
71 - define( 'MAINWP_MODULE_API_BACKUPS_ENABLED', true );
72 -}
48 +spl_autoload_register( 'mainwp_autoload' );
73 49
50 +if ( !function_exists( 'mainwpdir' ) ) {
74 51
75 -// Version information from WordPress.
76 -require_once ABSPATH . 'wp-includes' . DIRECTORY_SEPARATOR . 'version.php';
52 + function mainwpdir() {
53 + return WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . dirname( plugin_basename( __FILE__ ) ) . DIRECTORY_SEPARATOR . 'libs' . DIRECTORY_SEPARATOR;
54 + }
77 55
78 -if ( ! function_exists( 'mainwp_autoload' ) ) {
56 +}
79 57
80 - /**
81 - * Autoloader for all classes, pages & widgets
82 - *
83 - * @param string $class_name Folder name class|pages|widgets.
84 - * @return require_once $autoload_path;
85 - */
86 - function mainwp_autoload( $class_name ) {
58 +if ( file_exists( WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . plugin_basename( __DIR__ ) . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 'class-mainwp-creport.php' ) ) {
59 + include_once WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . plugin_basename( __DIR__ ) . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 'class-mainwp-creport.php';
60 +}
87 61
88 - if ( 0 === strpos( $class_name, 'MainWP\Dashboard' ) ) {
89 - // trip the namespace prefix: MainWP\Dashboard\ .
90 - $class_name = substr( $class_name, 17 );
91 - }
62 +if ( !function_exists( 'mainwp_do_not_have_permissions' ) ) {
92 63
93 - if ( 0 !== strpos( $class_name, 'MainWP_' ) ) {
94 - return;
64 + function mainwp_do_not_have_permissions( $where = '', $echo = true ) {
65 + $msg = sprintf( __( 'You do not have sufficient permissions to access this page (%s).', 'mainwp' ), ucwords( $where ) );
66 + if ( $echo ) {
67 + echo '<div class="mainwp-permission-error"><p>' . esc_html( $msg ) . '</p>If you need access to this page please contact the dashboard administrator.</div>';
68 + } else {
69 + return $msg;
95 70 }
96 71
97 - $autoload_types = array(
98 - 'class' => 'class',
99 - 'pages' => 'page',
100 - 'widgets' => 'widget',
101 - );
72 + return false;
73 + }
102 74
103 - foreach ( $autoload_types as $type => $prefix ) {
104 - $autoload_dir = \trailingslashit( __DIR__ . DIRECTORY_SEPARATOR . $type );
105 - $autoload_path = sprintf( '%s%s-%s.php', $autoload_dir, $prefix, strtolower( str_replace( '_', '-', $class_name ) ) );
106 -
107 - if ( file_exists( $autoload_path ) ) {
108 - require_once $autoload_path;
109 - break;
110 - }
111 - }
112 - }
113 75 }
114 76
115 -spl_autoload_register( 'mainwp_autoload' );
116 -
117 -require_once MAINWP_PLUGIN_DIR . 'includes' . DIRECTORY_SEPARATOR . 'functions.php';
118 -require_once MAINWP_PLUGIN_DIR . 'includes' . DIRECTORY_SEPARATOR . 'compatible.php';
119 -require_once MAINWP_PLUGIN_DIR . 'includes' . DIRECTORY_SEPARATOR . 'class-mainwp-includes.php';
120 -
121 -// Detect if secupress_scanner is running.
122 77 $mainwp_is_secupress_scanning = false;
123 -if ( ! empty( $_GET ) && isset( $_GET['test'] ) && isset( $_GET['action'] ) && 'secupress_scanner' === $_GET['action'] ) { // phpcs:ignore WordPress.Security.NonceVerification,WordPress.Security.ValidatedSanitizedInput.InputNotSanitized.Recommended
78 +if ( !empty( $_GET ) && isset( $_GET[ 'test' ] ) && isset( $_GET[ 'action' ] ) && $_GET[ 'action' ] == 'secupress_scanner' ) {
124 79 $mainwp_is_secupress_scanning = true;
125 80 }
126 81
127 -// Fix a conflict with SecuPress plugin.
128 -if ( ! $mainwp_is_secupress_scanning ) {
129 - $mainWP = new MainWP\Dashboard\MainWP_System( WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . plugin_basename( __FILE__ ) );
82 +//to fix conflict with SecuPress plugin
83 +if ( !$mainwp_is_secupress_scanning ) {
84 + $mainWP = new MainWP_System( WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . plugin_basename( __FILE__ ) );
130 85 register_activation_hook( __FILE__, array( $mainWP, 'activation' ) );
131 86 register_deactivation_hook( __FILE__, array( $mainWP, 'deactivation' ) );
132 - add_action( 'plugins_loaded', array( $mainWP, 'update_install' ) );
87 + add_action( 'plugins_loaded', array( $mainWP, 'update' ) );
133 88 }