output = new Output(); $this->connector = new Connector(); $this->admin = new Admin( $this->connector ); $this->output->register(); add_filter( 'allowed_redirect_hosts', array( $this->connector, 'filter_allowed_redirect_hosts' ) ); add_action( 'admin_init', array( $this->connector, 'handle_connect_request' ) ); add_action( 'admin_init', array( $this->connector, 'handle_callback_request' ), 1 ); add_action( 'admin_post_aivisy_save_manual', array( $this->admin, 'handle_save_manual' ) ); add_action( 'admin_post_aivisy_set_mode', array( $this->admin, 'handle_set_mode' ) ); add_action( 'admin_post_aivisy_disconnect', array( $this->admin, 'handle_disconnect' ) ); add_action( 'admin_post_aivisy_sync', array( $this->admin, 'handle_sync' ) ); add_action( 'admin_post_aivisy_bind_property', array( $this->admin, 'handle_bind_property' ) ); add_action( 'admin_post_aivisy_save_exclusions', array( $this->admin, 'handle_save_exclusions' ) ); add_action( 'admin_post_aivisy_save_root_file', array( $this->admin, 'handle_save_root_file' ) ); add_action( 'admin_post_aivisy_merge_wordpress', array( $this->admin, 'handle_merge_wordpress_only' ) ); Sync_Remote::register(); } /** * Activation: ensure defaults + rewrite rules. */ public static function activate() { $opt = get_option( Settings::OPTION_KEY, null ); if ( null === $opt ) { add_option( Settings::OPTION_KEY, Settings::sanitize_all( Settings::defaults() ), '', false ); } Output::flush_rewrite_rules(); } /** * Deactivation: flush rewrite rules. */ public static function deactivate() { flush_rewrite_rules( false ); } }