HEX
Server: LiteSpeed
System: Linux cluster02.load-balancer.x2.network 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64
User: kbdhpghp (1098)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /home/kbdhpghp/vivenciarteatelie.com.br/wp-content/plugins/internal-links/helper/cleanup.php
<?php

namespace ILJ\Helper;

use ILJ\Core\IndexBuilder;
use ILJ\Database\Linkindex;
use ILJ\Database\LinkindexIndividualTemp;
use ILJ\Database\LinkindexTemp;

/**
 * Cleanup toolset
 *
 * Methods for clearing database and scheduled actions
 *
 * @package ILJ\Helper
 *
 * @since 2.1.2
 */
class Cleanup {

	/**
	 * Initiate the cleanup process
	 *
	 * @return void
	 */
	public static function initiate_cleanup() {
		self::clean_scheduled_actions();
		self::clean_database();
	}

	/**
	 * Cleans all scheduled actions
	 *
	 * @return void
	 */
	public static function clean_scheduled_actions() {
		// Cancel all ongoing actions
		as_unschedule_all_actions(IndexBuilder::ILJ_RUN_SETTING_BATCHED_INDEX_REBUILD);
		as_unschedule_all_actions(IndexBuilder::ILJ_SET_BATCHED_INDEX_REBUILD);
		as_unschedule_all_actions(IndexBuilder::ILJ_BUILD_BATCHED_INDEX);
		as_unschedule_all_actions(IndexBuilder::ILJ_DELETE_INDEX_BY_ID);

		as_unschedule_all_actions(IndexBuilder::ILJ_SET_INDIVIDUAL_INDEX_REBUILD);
		as_unschedule_all_actions(IndexBuilder::ILJ_INDIVIDUAL_DELETE_INDEX);
		as_unschedule_all_actions(IndexBuilder::ILJ_INDIVIDUAL_INDEX_REBUILD_OUTGOING);
		as_unschedule_all_actions(IndexBuilder::ILJ_SET_INDIVIDUAL_INDEX_REBUILD_INCOMING);
		as_unschedule_all_actions(IndexBuilder::ILJ_INDIVIDUAL_INDEX_REBUILD_INCOMING);
	}

	/**
	 * Resets all database entries and delete temp database
	 *
	 * @return void
	 */
	public static function clean_database() {
		// Flush index
		Linkindex::flush();

		// delete if exists temp database
		LinkindexIndividualTemp::uninstall_temp_db();
		LinkindexTemp::uninstall_temp_db();

		// reset batch info ilj_batch_info
		BatchInfo::reset_batch_info();

		// reset statistics data
		Statistic::reset_statistics_info();
	}
}