Файл: adm_panel/tables.php
Строк: 94
<?php
if (!defined('H')) {
    define('H', $_SERVER['DOCUMENT_ROOT'] . '/');
}
include_once H . 'sys/inc/start.php';
include_once H . 'sys/inc/sess.php';
include_once H . 'sys/inc/settings.php';
include_once H . 'sys/inc/db_connect.php';
include_once H . 'sys/inc/ipua.php';
include_once H . 'sys/inc/fnc.php';
include_once H . 'sys/inc/adm_check.php';
include_once H . 'sys/inc/user.php';
user_access('adm_mysql', null, 'index.php?'.SID);
adm_check();
protect_panel();
$set['title']='Залитие таблиц';
include_once H . 'sys/inc/thead.php';
title();
if (isset($_FILES['file'])) {
    $file = esc(stripcslashes(htmlspecialchars($_FILES['file']['name'])));
    $ras = strtolower(preg_replace('#^.*.#i', null, $file));
    if ($ras != 'sql') {
        $err = lang('Не верный формат файла');
    }
    if (!isset($err)) {
        copy($_FILES['file']['tmp_name'], H."sys/sql_update/".$_FILES['file']['name']);
// выполнение одноразовых запросов
$opdirtables=opendir(H.'sys/sql_update/');
        while ($rd=readdir($opdirtables)) {
            if (preg_match('#^.#', $rd)) {
                continue;
            }
            if (isset($set['update'][$rd])) {
                continue;
            }
            if (preg_match('#.sql$#i', $rd)) {
                include_once H.'sys/inc/sql_parser.php';
                $sql = SQLParser::getQueriesFromFile(H.'sys/sql_update/'.$rd);
                for ($i = 0; $i < count($sql);$i++) {
                    $db->query($sql[$i], array());
                }
                $set['update'][$rd]=true;
                $save_settings=true;
            }
        }
        closedir($opdirtables);
        @unlink(H."sys/sql_update/".$_FILES['file']['name']."");
        $_SESSION['message'] = lang('Таблицы успешно залиты');
        exit(header('Location: ?'));
    }
}
if (isset($_GET['update_file'])) {
    $file = esc(stripcslashes(htmlspecialchars(base64_decode($_GET['update_file']))));
    $ras = strtolower(preg_replace('#^.*.#i', null, $file));
    if ($ras != 'sql') {
        $err = lang('Не верный формат файла');
    }
    if (!isset($err)) {
        include_once H.'sys/inc/sql_parser.php';
        $sql = SQLParser::getQueriesFromFile(H.'sys/sql_update/'.$file);
        for ($i = 0; $i < count($sql);$i++) {
            $db->query($sql[$i]);
        }
//удаляем файл
@unlink(H."sys/sql_update/". $file);
        $count = lang('Выполнено').' : ('.count($sql).') '.lang('Запросов');
        $_SESSION['message'] = lang('Таблица успешно залита') . $count;
        exit(header('Location: ?'));
    }
}
err();
aut();
    echo "
    <div class='p_m'>
    <form method='post' enctype='multipart/form-data' action=''>
    ".lang('Выгрузить').":<br />
    <input name='file' type='file' accept='sql' /><br /><input value='".lang('Залить')."' type='submit' />
    </form>
    <br /> ".lang('Внимание , После загрузки файла и выполнения запроса, он будет автоматически удален')."</div>
    ";
  echo '<div class="p_m">';
  $scandirs = scandir(H.'sys/sql_update/');
  foreach ($scandirs as $file) {
      # Нам не нужно добавлять в новый zip-файл ранее созданные архивы
    if (
    $file == '.' or
    $file == '..' or
    $file == '.htaccess' or
    $file == 'clear_conf.txt') {
        continue;
    }
      $files[] = $file;
      echo '<div class="menu_razd">' . $file .' [<a href="?update_file='.base64_encode($file).'">'.lang('Залить в базу').'</a>]</div>';
  }
  echo "</div>";
echo "<div class='foot'>";
echo "«<a href='mysql.php'>".lang('MySQL запросы')."</a><br />";
echo "«<a href='".APANEL."/'>".lang('В админку')."</a><br />";
echo "</div>";
include_once H . 'sys/inc/tfoot.php';