60 lines
1.5 KiB
PHP
60 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* Plugin config.
|
|
*
|
|
* @package Google\Site_Kit
|
|
* @copyright 2021 Google LLC
|
|
* @license https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
|
|
* @link https://sitekit.withgoogle.com
|
|
*/
|
|
|
|
namespace Google\Site_Kit;
|
|
|
|
// Define global constants.
|
|
define( 'GOOGLESITEKIT_PLUGIN_BASENAME', plugin_basename( GOOGLESITEKIT_PLUGIN_MAIN_FILE ) );
|
|
define( 'GOOGLESITEKIT_PLUGIN_DIR_PATH', plugin_dir_path( GOOGLESITEKIT_PLUGIN_MAIN_FILE ) );
|
|
|
|
/**
|
|
* Loads generated class maps for autoloading.
|
|
*
|
|
* @since 1.0.0
|
|
* @access private
|
|
*/
|
|
function autoload_classes() {
|
|
$class_map = array_merge(
|
|
// Site Kit classes.
|
|
include GOOGLESITEKIT_PLUGIN_DIR_PATH . 'includes/vendor/composer/autoload_classmap.php',
|
|
// Third-party classes.
|
|
include GOOGLESITEKIT_PLUGIN_DIR_PATH . 'third-party/vendor/composer/autoload_classmap.php'
|
|
);
|
|
|
|
spl_autoload_register(
|
|
function ( $class ) use ( $class_map ) {
|
|
if ( isset( $class_map[ $class ] ) && 'Google\\Site_Kit' === substr( $class, 0, 15 ) ) {
|
|
require_once $class_map[ $class ];
|
|
}
|
|
},
|
|
true,
|
|
true
|
|
);
|
|
}
|
|
autoload_classes();
|
|
|
|
/**
|
|
* Loads files containing functions from generated file map.
|
|
*
|
|
* @since 1.0.0
|
|
* @access private
|
|
*/
|
|
function autoload_vendor_files() {
|
|
// Third-party files.
|
|
$files = require GOOGLESITEKIT_PLUGIN_DIR_PATH . 'third-party/vendor/autoload_files.php';
|
|
foreach ( $files as $file_identifier => $file ) {
|
|
require_once $file;
|
|
}
|
|
}
|
|
autoload_vendor_files();
|
|
|
|
// Initialize the plugin.
|
|
Plugin::load( GOOGLESITEKIT_PLUGIN_MAIN_FILE );
|