HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/fps/public_html/wp-content/plugins/broken-link-checker/includes/transactions-manager.php
<?php

class TransactionManager {

	private $isTransactionStarted = false; //phpcs:ignore WordPress.NamingConventions.ValidVariableName.PropertyNotSnakeCase
	private static $instance;

	public function start() {
		global $wpdb;

		if ( ! $this->isTransactionStarted ) {
			$wpdb->query( 'BEGIN' );
			$this->isTransactionStarted = true;
		}
	}

	public function commit() {
		global $wpdb;
		global $blclog;
		$blclog->debug( 'Starting DB commit.' );

		$this->start();

		try {
			$wpdb->query( 'COMMIT' );
			$blclog->debug( 'Commit executed.' );
			$this->isTransactionStarted = false;
		} catch ( Exception $e ) {
			$wpdb->query( 'ROLLBACK' );
			$blclog->debug( 'Commit failed; rollback.' );
			$this->isTransactionStarted = false;
		}
	}

    //phpcs:ignore WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid
	static public function getInstance() {
		if ( ! self::$instance ) {
			self::$instance = new TransactionManager();
		}

		return self::$instance;
	}
}