94 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Query Monitor plugin for WordPress
 | |
|  *
 | |
|  * @package   query-monitor
 | |
|  * @link      https://github.com/johnbillion/query-monitor
 | |
|  * @author    John Blackbourn <john@johnblackbourn.com>
 | |
|  * @copyright 2009-2023 John Blackbourn
 | |
|  * @license   GPL v2 or later
 | |
|  *
 | |
|  * Plugin Name:  Query Monitor
 | |
|  * Description:  The developer tools panel for WordPress.
 | |
|  * Version:      3.13.1
 | |
|  * Plugin URI:   https://querymonitor.com/
 | |
|  * Author:       John Blackbourn
 | |
|  * Author URI:   https://querymonitor.com/
 | |
|  * Text Domain:  query-monitor
 | |
|  * Domain Path:  /languages/
 | |
|  * Requires PHP: 7.4
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License as published by
 | |
|  * the Free Software Foundation; either version 2 of the License, or
 | |
|  * (at your option) any later version.
 | |
|  *
 | |
|  * 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.
 | |
|  */
 | |
| 
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
| 	exit;
 | |
| }
 | |
| 
 | |
| define( 'QM_VERSION', '3.13.1' );
 | |
| 
 | |
| $qm_dir = dirname( __FILE__ );
 | |
| 
 | |
| // This must be required before vendor/autoload.php so QM can serve its own message about PHP compatibility.
 | |
| require_once "{$qm_dir}/classes/PHP.php";
 | |
| 
 | |
| if ( ! QM_PHP::version_met() ) {
 | |
| 	add_action( 'all_admin_notices', 'QM_PHP::php_version_nope' );
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| if ( ! file_exists( "{$qm_dir}/vendor/autoload.php" ) ) {
 | |
| 	add_action( 'all_admin_notices', 'QM_PHP::vendor_nope' );
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| require_once "{$qm_dir}/vendor/autoload.php";
 | |
| 
 | |
| QM_Activation::init( __FILE__ );
 | |
| 
 | |
| if ( defined( 'WP_CLI' ) && WP_CLI ) {
 | |
| 	QM_CLI::init( __FILE__ );
 | |
| }
 | |
| 
 | |
| if ( defined( 'QM_DISABLED' ) && QM_DISABLED ) {
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| if ( defined( 'WP_INSTALLING' ) && WP_INSTALLING ) {
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| if ( 'cli' === php_sapi_name() && ! defined( 'QM_TESTS' ) ) {
 | |
| 	# For the time being, let's not load QM when using the CLI because we've no persistent storage and no means of
 | |
| 	# outputting collected data on the CLI. This will hopefully change in a future version of QM.
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
 | |
| 	# Let's not load QM during cron events for the same reason as above.
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| # Don't load QM during plugin updates to prevent function signature changes causing issues between versions.
 | |
| if ( is_admin() ) {
 | |
| 	if ( isset( $_GET['action'] ) && 'upgrade-plugin' === $_GET['action'] ) {
 | |
| 		return;
 | |
| 	}
 | |
| 
 | |
| 	if ( isset( $_POST['action'] ) && 'update-plugin' === $_POST['action'] ) {
 | |
| 		return;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| unset( $qm_dir );
 | |
| 
 | |
| QueryMonitor::init( __FILE__ )->set_up();
 |