options_helper = $options_helper; $this->indexable_helper = $indexable_helper; } /** * Registers the action to register a cleanup routine run after the plugin is activated. * * @return void */ public function register_hooks() { \add_action( 'wpseo_activate', [ $this, 'register_cleanup_routine' ], 11 ); } /** * Registers a run of the cleanup routine if this has not happened yet. * * @return void */ public function register_cleanup_routine() { if ( ! $this->indexable_helper->should_index_indexables() ) { return; } $first_activated_on = $this->options_helper->get( 'first_activated_on', false ); if ( ! $first_activated_on || \time() > ( $first_activated_on + ( \MINUTE_IN_SECONDS * 5 ) ) ) { if ( ! \wp_next_scheduled( Cleanup_Integration::START_HOOK ) ) { \wp_schedule_single_event( ( \time() + \DAY_IN_SECONDS ), Cleanup_Integration::START_HOOK ); } } } }