'; printf( /* translators: %s: minimum PHP version */ esc_html__( 'VEFmultiBooking requires PHP %s or higher. The plugin is disabled until this requirement is met.', 'vefmultibooking' ), esc_html( VEFMB_MIN_PHP_VERSION ) ); echo '

'; } ); return; } /** * Database schema version (compared with the `vefmb_db_version` option by * VEFMB_DB_Installer::maybe_upgrade()). Must be bumped with ANY change to * an existing CREATE TABLE — never confused with VEFMB_VERSION. */ define( 'VEFMB_DB_VERSION', '23' ); /** * Publisher support address — recipient of the "Support and feature * request" form (Diagnostic and support tab). The site administrator's * own address is set as Reply-To. */ define( 'VEFMB_SUPPORT_EMAIL', 'efabre@v-images.com' ); /** Absolute path of the plugin folder, with trailing slash. */ define( 'VEFMB_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); /** Absolute URL of the plugin folder, with trailing slash. */ define( 'VEFMB_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); /** Main plugin file. */ define( 'VEFMB_PLUGIN_FILE', __FILE__ ); /** * Dedicated autoloader: VEFMB_* classes are loaded on demand from * includes/ (core, repositories, admin, editors). */ require_once VEFMB_PLUGIN_DIR . 'includes/core/class-vefmb-autoloader.php'; VEFMB_Autoloader::register(); /** * Keeps the menu entries of the VEF plugins side by side (moves nothing else). */ if ( is_admin() ) { VEFMB_Menu_Family::init(); } /** * Shared helper functions (not classes — not covered by the autoloader), * loaded early so every service finds them. */ require_once VEFMB_PLUGIN_DIR . 'includes/core/vefmb-functions.php'; /** * Activation / deactivation hooks, registered from the main file so they * stay valid even before the autoloader has run. */ register_activation_hook( __FILE__, array( 'VEFMB_Activator', 'activate' ) ); register_deactivation_hook( __FILE__, array( 'VEFMB_Deactivator', 'deactivate' ) ); /** * Boot once all plugins are loaded, so that VEFmultiBooking Pro (a separate * plugin extending this core, never a copy of it) can hook in cleanly. */ add_action( 'plugins_loaded', array( 'VEFMB_Plugin', 'instance' ) );