<?php

#Данный скрипт добавяет отсутствующие таблицы в базу данных
#Также он используется для установки движка

include_once H . 'sys/classes/sql_parser.class.php';

$tab = mysql_query('SHOW TABLES');
while ($tables = mysql_fetch_array($tab)) {
    $_ver_table[$tables[0]] = 1;
}

$k_sql = 0;
$ok_sql = 0;
$opdirtables = opendir(H . 'install/db_tables');
while ($filetables = readdir($opdirtables)) {
    if (preg_match('#\.sql$#i', $filetables)) {
        $table_name = preg_replace('#\.sql$#i', null, $filetables);
        if (!isset($_ver_table[$table_name])) {

            $sql = sql_parser::getQueriesFromFile(H . 'install/db_tables/' . $filetables);


            for ($i = 0; $i < count($sql); $i++) {
                #счетчик запросов (для установщика)
                $k_sql++;
                if (@mysql_query($sql[$i])) {
                    #счетчик успешно выполненных запросов (для установщика)
                    $ok_sql++;
                }
            }
        }
    }
}
closedir($opdirtables);





if (!isset($install)) {

// выполнение одноразовых запросов
    $opdirtables = opendir(H . 'install/update/');
    while ($rd = readdir($opdirtables)) {
        if (preg_match('#^\.#', $rd))
            continue;
        if (isset($set['update'][$rd]))
            continue;

        if (preg_match('#\.sql$#i', $rd)) {
            
            $sql = SQLParser::getQueriesFromFile(H . 'install/update/' . $rd);
            for ($i = 0; $i < count($sql); $i++) {
                mysql_query($sql[$i]);
            }
            $set['update'][$rd] = true;
            $save_settings = true;
        } elseif (preg_match('#\.php$#i', $rd)) {
            include_once H . 'install/update/' . $rd;
            $set['update'][$rd] = true;
            $save_settings = true;
        }
    }

    closedir($opdirtables);

    if (isset($save_settings))
        save_settings($set);
}