HEX
Server: LiteSpeed
System: Linux cde2.duelhost.dk 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64
User: dtptviut (1121)
PHP: 8.0.30
Disabled: exec,system,passthru,shell_exec,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/dtptviut/domains/financo.dk/private_html/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();
	}
}