HEX
Server: LiteSpeed
System: Linux cde4.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: dmhkjfau (1027)
PHP: 7.4.33
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/dmhkjfau/public_html/wp-content/plugins/wp-seopress/src/Services/Table/TableManager.php
<?php // phpcs:ignore

namespace SEOPress\Services\Table;

defined( 'ABSPATH' ) || exit;

use SEOPress\Models\Table\TableInterface;
use SEOPress\Core\Table\QueryCreateTable;
use SEOPress\Core\Table\QueryExistTable;


/**
 * TableManager
 */
class TableManager {

	/**
	 * The queryCreateTable property.
	 *
	 * @var QueryCreateTable
	 */
	protected $query_create_table;

	/**
	 * The queryExistTable property.
	 *
	 * @var QueryExistTable
	 */
	protected $query_exist_table;

	/**
	 * The __construct function.
	 *
	 * @return void
	 */
	public function __construct() {
		$this->query_create_table = new QueryCreateTable();
		$this->query_exist_table  = new QueryExistTable();
	}

	/**
	 * The exist function.
	 *
	 * @param TableInterface $table The table.
	 *
	 * @return bool
	 */
	public function exist( TableInterface $table ) {
		return $this->query_exist_table->exist( $table );
	}

	/**
	 * The create function.
	 *
	 * @param TableInterface $table The table.
	 *
	 * @return void
	 */
	public function create( TableInterface $table ) {
		if ( $this->exist( $table ) ) {
			return;
		}

		$this->query_create_table->create( $table );
	}

	/**
	 * The createTablesIfNeeded function.
	 *
	 * @param array $tables The tables.
	 *
	 * @return void
	 */
	public function createTablesIfNeeded( $tables ) { // phpcs:ignore -- TODO: check if method is outside this class before renaming.
		foreach ( $tables as $key => $table ) {
			$this->create( $table );
		}
	}
}