'includes/class-utils.php', 'Aradt_Route_Explorer' => 'includes/class-route-explorer.php', 'Aradt_Request_Handler' => 'includes/class-request-handler.php', 'Aradt_Profiler' => 'includes/class-profiler.php', 'Aradt_Logger' => 'includes/class-rest-logger.php', 'Aradt_Collections' => 'includes/class-collections.php', 'Aradt_Environments' => 'includes/class-environments.php', 'Aradt_Mock_Simulator' => 'includes/class-mock-simulator.php', 'Aradt_Admin_Pages' => 'admin/class-admin-pages.php', ); foreach ( $classes as $class => $file ) { $path = ARADT_DIR . $file; if ( file_exists( $path ) ) { require_once $path; } } } /** * Initialize the plugin. */ function aradt_init() { // Admin pages & menus. if ( is_admin() ) { new Aradt_Admin_Pages(); } // Register CPTs. Aradt_Logger::register_post_type(); Aradt_Collections::register_post_type(); // Route explorer AJAX. Aradt_Route_Explorer::register_ajax(); // Request handler AJAX. Aradt_Request_Handler::register_ajax(); // Logger AJAX + hooks. Aradt_Logger::register_ajax(); Aradt_Logger::register_hooks(); // Collections AJAX. Aradt_Collections::register_ajax(); // Environments AJAX. Aradt_Environments::register_ajax(); // Mock simulator hooks. Aradt_Mock_Simulator::register_ajax(); Aradt_Mock_Simulator::register_hooks(); } add_action( 'plugins_loaded', 'aradt_autoload' ); add_action( 'init', 'aradt_init' ); /** * Activation hook. */ function aradt_activate() { // Flush rewrite rules for CPTs. aradt_autoload(); Aradt_Logger::register_post_type(); Aradt_Collections::register_post_type(); flush_rewrite_rules(); // Set default options. if ( false === get_option( 'aradt_settings' ) ) { update_option( 'aradt_settings', array( 'logging_enabled' => false, 'log_retention_days' => 30, 'history_limit' => 100, ) ); } // Schedule cron for log cleanup. if ( ! wp_next_scheduled( 'aradt_cleanup_logs' ) ) { wp_schedule_event( time(), 'daily', 'aradt_cleanup_logs' ); } } register_activation_hook( __FILE__, 'aradt_activate' ); /** * Deactivation hook. */ function aradt_deactivate() { wp_clear_scheduled_hook( 'aradt_cleanup_logs' ); flush_rewrite_rules(); } register_deactivation_hook( __FILE__, 'aradt_deactivate' );