=' ) && version_compare( $wp_version, VEFDK_MIN_WP_VERSION, '>=' );
}
if ( ! vefdk_environment_ok() ) {
add_action(
'admin_notices',
static function () {
echo '
';
printf(
/* translators: 1: minimum PHP version, 2: minimum WordPress version */
esc_html__( 'VEFdocsKit requires PHP %1$s+ and WordPress %2$s+. The plugin is disabled until these requirements are met.', 'vefdocskit' ),
esc_html( VEFDK_MIN_PHP_VERSION ),
esc_html( VEFDK_MIN_WP_VERSION )
);
echo '
';
}
);
return;
}
$vefdk_core = array(
'class-vefdk-color.php',
'class-vefdk-text.php',
'class-vefdk-font-metrics.php',
'pdf/class-vefdk-pdf-exception.php',
'pdf/class-vefdk-pdf-syntax.php',
'pdf/class-vefdk-pdf-document.php',
'pdf/class-vefdk-pdf-image.php',
'pdf/class-vefdk-pdf-pages.php',
'pdf/class-vefdk-pdf-stamper.php',
'stamp/class-vefdk-stamp-definition.php',
'stamp/class-vefdk-stamp-renderer.php',
'stamp/class-vefdk-placement.php',
'class-vefdk-settings.php',
'class-vefdk-db.php',
'class-vefdk-storage.php',
'class-vefdk-capabilities.php',
'class-vefdk-accounts.php',
'class-vefdk-journal.php',
'class-vefdk-job.php',
'class-vefdk-tools.php',
'class-vefdk-samples.php',
'class-vefdk-download.php',
'class-vefdk-rest.php',
'class-vefdk-rate-limiter.php',
'class-vefdk-prefs.php',
'class-vefdk-free-license.php',
'class-vefdk-menu-family.php',
'class-vefdk-views.php',
'class-vefdk-privacy.php',
'interface-vefdk-editor.php',
);
foreach ( $vefdk_core as $vefdk_file ) {
require_once VEFDK_PLUGIN_DIR . 'includes/core/' . $vefdk_file;
}
require_once VEFDK_PLUGIN_DIR . 'includes/class-vefdk-installer.php';
require_once VEFDK_PLUGIN_DIR . 'includes/class-vefdk-front.php';
require_once VEFDK_PLUGIN_DIR . 'includes/editors/class-vefdk-editors.php';
require_once VEFDK_PLUGIN_DIR . 'includes/class-vefdk-admin-ui.php';
require_once VEFDK_PLUGIN_DIR . 'includes/class-vefdk-data-tools.php';
require_once VEFDK_PLUGIN_DIR . 'includes/class-vefdk-admin.php';
require_once VEFDK_PLUGIN_DIR . 'includes/class-vefdk-help.php';
require_once VEFDK_PLUGIN_DIR . 'includes/class-vefdk-about.php';
require_once VEFDK_PLUGIN_DIR . 'includes/class-vefdk-diagnostic.php';
require_once VEFDK_PLUGIN_DIR . 'includes/class-vefdk-support.php';
require_once VEFDK_PLUGIN_DIR . 'includes/class-vefdk-free-license-admin.php';
if ( is_admin() ) {
VEFDK_Menu_Family::init();
}
/**
* Starts the modules once WordPress has loaded every plugin.
*
* @return void
*/
function vefdk_bootstrap() {
VEFDK_DB::maybe_upgrade();
VEFDK_Capabilities::hooks();
VEFDK_Free_License::hooks();
VEFDK_Accounts::hooks();
VEFDK_Download::hooks();
VEFDK_REST::hooks();
VEFDK_Front::hooks();
VEFDK_Editors::hooks();
VEFDK_Privacy::hooks();
add_action( VEFDK_Installer::PURGE_HOOK, array( 'VEFDK_Journal', 'purge_expired' ) );
if ( is_admin() ) {
VEFDK_Admin::instance();
VEFDK_Data_Tools::hooks();
VEFDK_Support::instance();
VEFDK_Free_License_Admin::hooks();
}
/**
* The core of VEFdocsKit is loaded. Other plugins check for it after this hook, never before.
*/
do_action( 'vefdk_loaded' );
}
add_action( 'plugins_loaded', 'vefdk_bootstrap' );
register_activation_hook( VEFDK_PLUGIN_FILE, array( 'VEFDK_Installer', 'activate' ) );
register_deactivation_hook( VEFDK_PLUGIN_FILE, array( 'VEFDK_Installer', 'deactivate' ) );