Файл: install/functions/config.func.php
Строк: 31
<?php
# Author: ???;
# Package: WGame Engine;
# Version: 0.1;
if (!defined("APP")) die("Access Denied");
function config_parseSql($file = false, PDO $pdo)
{
$errors = [];
if ($file && file_exists($file)) {
$query = fread(fopen($file, 'r'), filesize($file));
$query = trim($query);
$query = preg_replace("/n#[^n]*/", '', "n" . $query);
$buffer = [];
$ret = [];
$in_string = false;
for ($i = 0; $i < strlen($query) - 1; $i++) {
if ($query[$i] == ";" && !$in_string) {
$ret[] = substr($query, 0, $i);
$query = substr($query, $i + 1);
$i = 0;
}
if ($in_string && ($query[$i] == $in_string) && $buffer[1] != "\") {
$in_string = false;
} elseif (!$in_string && ($query[$i] == '"' || $query[$i] == "'") && (!isset($buffer[0]) || $buffer[0] != "\")) {
$in_string = $query[$i];
}
if (isset($buffer[1])) {
$buffer[0] = $buffer[1];
}
$buffer[1] = $query[$i];
}
if (!empty($query)) {
$ret[] = $query;
}
for ($i = 0; $i < count($ret); $i++) {
$ret[$i] = trim($ret[$i]);
if (!empty($ret[$i]) && $ret[$i] != "#") {
try {
$pdo->query($ret[$i]);
} catch (PDOException $e) {
$errors[] = $e->getMessage();
}
}
}
} else {
$errors[] = 'ERROR: SQL file';
}
return $errors;
}