View file ä󿪫¬/panel/system/mysql.php

File size: 1.99Kb
<?php

foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'adm_check', 'user') as $inc) {
    require_once "../../sys/inc/{$inc}.php";
}
$temp_set = $set;
$set['title'] = lang('MySQL запросы');
require_once H . 'sys/inc/thead.php';
aut();

if (access('adm_mysql')){ 

#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='/panel/'>" . lang('Админ кабинет') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo lang('MySQL запросы');
echo "</div>";

if (isset($_GET['set']) && $_GET['set'] == 'set' && isset($_POST['query'])) {
    $sql = trim($_POST['query']);

    if ($conf['phpversion'] == 5) {
        $sql = sql_parser::getQueries($sql); // при помощи парсера запросы разбиваются точнее, но работает это только в php5
    } else {
        $sql = preg_split(";(\n|\r)*", $sql);
    }

    $k_z = 0;
    $k_z_ok = 0;
    for ($i = 0; $i < count($sql); $i++) {
        if ($sql[$i] != '') {
            $k_z++;
            if (mysql_query($sql[$i])) {
                $k_z_ok++;
            }
        }
    }
    if ($k_z_ok > 0) {
        if ($k_z_ok == 1 && $k_z = 1) {
            msg("Запрос успешно выполнен");
        } else {
            msg("Выполнено $k_z_ok запросов из $k_z");
        }

        admin_log('Админка', 'MySQL', "Выполнено $k_z_ok запрос(ов)");
    }
}

echo "<form method='post' class='list-group-item' action='mysql.php?set=set'>";

$doc->Textarea('query', 'SQL запрос');
echo "<br />";
echo "<button class='btn btn-primary btn-sm'>Выполнить</button>";
echo "</form>\n";

}else{
header('location: /index.php');
$_SESSION['err'] = 'Ошибка доступа';
}

require_once H . 'sys/inc/tfoot.php';