<?php
/**
* Plugin Name: ITCCA Allievi
* Plugin URI: https://example.com
* Description: Gestione iscrizioni allievi ai corsi di Tai Chi: estende l'utente WordPress con i campi del registro INSARRI, espone un form pubblico di iscrizione e sincronizza i dati con un Google Sheet privato selezionabile da Drive.
* Version: 1.0.0
* Requires at least: 6.0
* Requires PHP: 8.1
* Author: Fabio Arrigoni
* License: GPL-2.0-or-later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: itcca-allievi
* Domain Path: /languages
*
* @package ItccaAllievi
*/
declare(strict_types=1);
if (!defined('ABSPATH')) {
exit;
}
define('ITCCA_VERSION', '1.0.0');
define('ITCCA_FILE', __FILE__);
define('ITCCA_PATH', plugin_dir_path(__FILE__));
define('ITCCA_URL', plugin_dir_url(__FILE__));
define('ITCCA_META_PREFIX', 'itcca_');
define('ITCCA_ROLE', 'allievo');
define('ITCCA_OPTION_PREFIX', 'itcca_');
if (file_exists(ITCCA_PATH . 'vendor/autoload.php')) {
require_once ITCCA_PATH . 'vendor/autoload.php';
}
spl_autoload_register(static function (string $class): void {
if (!str_starts_with($class, 'ItccaAllievi\\')) {
return;
}
$relative = substr($class, strlen('ItccaAllievi\\'));
$relative = str_replace('\\', DIRECTORY_SEPARATOR, $relative);
$file = ITCCA_PATH . 'includes' . DIRECTORY_SEPARATOR . 'class-'
. strtolower(preg_replace('/(?<!^)([A-Z])/', '-$1', $relative)) . '.php';
if (file_exists($file)) {
require_once $file;
}
});
register_activation_hook(__FILE__, [\ItccaAllievi\Plugin::class, 'activate']);
register_deactivation_hook(__FILE__, [\ItccaAllievi\Plugin::class, 'deactivate']);
add_action('plugins_loaded', static function (): void {
\ItccaAllievi\Plugin::instance()->boot();
});