set_custom_path('abece-booking',$root.'/languages');} public static function errors($network=false, $root=null, $translate=true) { global $wp_version, $wpdb; $errors=array(); if(version_compare(PHP_VERSION,self::PHP_MIN,'<') || PHP_INT_SIZE<8) $errors[]=($translate ? __('ABeCe Booking requires 64-bit PHP 8.1 or newer.','abece-booking') : 'ABeCe Booking requires 64-bit PHP 8.1 or newer.'); if(isset($wp_version) && version_compare($wp_version,self::WP_MIN,'<')) $errors[]=($translate ? __('ABeCe Booking requires WordPress 6.2 or newer.','abece-booking') : 'ABeCe Booking requires WordPress 6.2 or newer.'); /* translators: %s: required PHP extension name. */ foreach(self::extensions($root) as $extension) if(!extension_loaded($extension)) $errors[]=sprintf(($translate ? __('Required PHP extension is missing: %s.','abece-booking') : 'Required PHP extension is missing: %s.'),$extension); if($network || (function_exists('is_multisite') && is_multisite())) $errors[]=($translate ? __('WordPress Multisite is not supported by this pilot release. No plugin data has been created.','abece-booking') : 'WordPress Multisite is not supported by this pilot release. No plugin data has been created.'); if(isset($wpdb) && method_exists($wpdb,'db_server_info')) { require_once __DIR__.'/DatabaseCompatibility.php'; if(!DatabaseCompatibility::inspect($wpdb)['supported'])$errors[]=DatabaseCompatibility::message($wpdb,$translate); } if(isset($wpdb) && method_exists($wpdb,'get_var')) { $engine=$wpdb->get_var("SELECT SUPPORT FROM information_schema.ENGINES WHERE ENGINE='InnoDB'"); if(!in_array($engine,array('YES','DEFAULT'),true)) $errors[]=($translate ? __('The database must support InnoDB before ABeCe Booking can be activated.','abece-booking') : 'The database must support InnoDB before ABeCe Booking can be activated.'); } if($root!==null) foreach(array('vendor/autoload.php','assets/build/admin.js','assets/build/public.js','assets/build/admin.asset.php','assets/build/public.asset.php','assets/build/calendar.css','admin-ui/admin.css','public-ui/public.css') as $file) if(!is_readable($root.'/'.$file)) { $errors[]=($translate ? __('The plugin package is incomplete. Install the complete ABeCe Booking release ZIP.','abece-booking') : 'The plugin package is incomplete. Install the complete ABeCe Booking release ZIP.');break; } return $errors; } }