HEX
Server: Apache/2
System: Linux host.jethost.pl 4.19.0-26-amd64 #1 SMP Debian 4.19.304-1 (2024-01-09) x86_64
User: frigodor (1049)
PHP: 7.4.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname,mail
Upload Files
File: /home/frigodor/public_html/wp-content/plugins/search-and-replace/inc/Database/Importer.php
<?php
namespace Inpsyde\SearchReplace\Database;

use Inpsyde\SearchReplace\Service\MaxExecutionTime;

/**
 * Class Importer
 *
 * @package Inpsyde\SearchReplace\Database
 */
class Importer {

	/**
	 * @var MaxExecutionTime
	 */
	private $max_execution;

	/**
	 * Importer constructor.
	 *
	 * @param MaxExecutionTime $max_execution
	 */
	public function __construct( MaxExecutionTime $max_execution ) {
		$this->max_execution = $max_execution;
	}

	/**
	 * Imports a sql file via mysqli
	 *
	 * @param  string $sql
	 *
	 * @return int  Number of Sql queries made, -1 if error
	 */
	public function import_sql( $sql ) {

		$this->max_execution->set();

		// connect via mysqli for easier db import
		$mysqli = new \mysqli( DB_HOST, DB_USER, DB_PASSWORD, DB_NAME );

		// Run the SQL
		$i = 1;
		if ( $mysqli->multi_query( $sql ) ) {
			do {
				if ( $mysqli->more_results() ) {
					$mysqli->next_result();

					$i ++;
				}
			} while ( $mysqli->more_results() );
		}

		if ( $mysqli->errno ) {
			return - 1;
		}

		mysqli_close( $mysqli );

		$this->max_execution->restore();

		return $i;
	}

}