set_basename(is_readable(__DIR__ . '/premium/bootstrap.php'), __FILE__); } return; } define('PCWP_VERSION', '1.1.1'); define('PCWP_FILE', __FILE__); define('PCWP_PATH', plugin_dir_path(__FILE__)); define('PCWP_URL', plugin_dir_url(__FILE__)); require_once PCWP_PATH . 'vendor_prefixed/rrule/autoload.php'; spl_autoload_register(static function (string $class): void { $prefix = 'ProCalendarWP\\'; if (! str_starts_with($class, $prefix)) { return; } $relative = str_replace('\\', '/', substr($class, strlen($prefix))); $aliases = [ 'Premium/Views/WeekLayout' => 'Views/WeekLayout', 'Premium/Recurrence/SeriesMeta' => 'Recurrence/SeriesMeta', 'Premium/Recurrence/SeriesController' => 'Recurrence/SeriesController', 'Premium/Recurrence/SeriesMaterializer' => 'Recurrence/SeriesMaterializer', 'Premium/Recurrence/Rfc5545Engine' => 'Recurrence/Rfc5545Engine', ]; if (isset($aliases[$relative])) { class_alias($prefix . str_replace('/', '\\', $aliases[$relative]), $class); return; } $paths = [PCWP_PATH . 'src/' . $relative . '.php']; if (str_starts_with($relative, 'Premium/')) { $paths[] = PCWP_PATH . 'premium/src/' . substr($relative, strlen('Premium/')) . '.php'; } foreach ($paths as $path) { if (is_readable($path)) { require_once $path; return; } } }); require_once PCWP_PATH . 'includes/functions.php'; require_once PCWP_PATH . 'includes/freemius.php'; // Freemius changes `is_premium` to false in the generated free package. pcwp_fs(); register_activation_hook(__FILE__, [ProCalendarWP\Infrastructure\Activator::class, 'activate']); register_deactivation_hook(__FILE__, [ProCalendarWP\Infrastructure\Activator::class, 'deactivate']); add_action('plugins_loaded', static function (): void { ProCalendarWP\Plugin::instance()->boot(); });