Файл: admin/mysql_panel.php
Строк: 491
<?
error_reporting(0);
require'../config.php';
$align='left';
$title='Управление mysql';
include '../style/head.php';
aut();
levels(9);
@header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
@header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
@header('Cache-Control: no-store, no-cache, must-revalidate');
@header('Cache-Control: post-check=0, pre-check=0', false);
@header('Pragma: no-cache');
$_POST['h'] = DB_host;
$_POST['u'] = DB_user;
$_POST['p'] = DB_pass;
$_POST['b'] = DB_db;
@define('MY77FL', 'YES');
if(!@defined('MY77FL')) {
exit('ERROR!!!'); }
@define('ONPAGE', 25); //баз и таблиц на страницу
@define('BACKUPDR', './backup'); //папка создания файлов backup'a
@define('YESSQL', 'YES'); //если YES - sql запросы разрешены
@define('MYSITE', 'http://waport.ru'); //ваша главная
$oall = 0;
if(isset($_POST['all']))
{
$oall = 1;
}
$om = 0;
if((isset($_POST['m']))||(isset($_GET['m'])))
{
if(isset($_POST['m']))
{
$om = intval($_POST['m']);
}
else
{
$om = intval($_GET['m']);
}
if(($om < 0)||($om > 10))
{
$om = 0;
}
}
$obp = 1;
if((isset($_POST['bp']))||(isset($_GET['bp'])))
{
if(isset($_POST['bp']))
{
$obp = intval($_POST['bp']);
}
else
{
$obp = intval($_GET['bp']);
}
if($obp < 1)
{
$obp = 1;
}
}
$otp = 1;
if((isset($_POST['tp']))||(isset($_GET['tp']))) {
if(isset($_POST['tp'])) {
$otp = intval($_POST['tp']);
} else {
$otp = intval($_GET['tp']);
}
if($otp < 1) {
$otp = 1; } }
$oh = ''; $rh = '';
$ou = ''; $ru = '';
$op = ''; $rp = '';
if((isset($_POST['h'], $_POST['u'], $_POST['p']))||(isset($_GET['h'], $_GET['u'], $_GET['p']))) {
if(isset($_POST['h'], $_POST['u'], $_POST['p'])) {
$h = $_POST['h'];
$u = $_POST['u'];
$p = $_POST['p'];
} else {
$h = $_GET['h'];
$u = $_GET['u'];
$p = $_GET['p'];
}
$h = trim(rawurldecode($h));
if(@preg_match('~^[[:print:]]{4,64}$~i', $h)) {
$oh = $h;
$rh = rawurlencode($h); }
unset($h);
$u = trim(rawurldecode($u));
if(@preg_match('~^[[:print:]]{1,64}$~i', $u)) {
$ou = $u;
$ru = rawurlencode($u); }
unset($u);
$p = trim(rawurldecode($p));
if(@preg_match('~^[[:print:]]{1,128}$~i', $p)) {
$op = $p;
$rp = rawurlencode($p); }
unset($p); }
if($oh === '') {
$oh = 'localhost'; }
$ob = ''; $rb = '';
if((isset($_POST['b']))||(isset($_GET['b']))) {
if(isset($_POST['b'])) {
$b = $_POST['b'];
} else {
$b = $_GET['b'];
}
$b = trim(rawurldecode($b));
if(@preg_match('~^[[:print:]]{1,64}$~i', $b)) {
$ob = $b;
$rb = rawurlencode($b); }
unset($b); }
$cnms = 0;
$onms = '';
if(isset($_POST['nms'])) {
if(@is_array($_POST['nms'])) {
$nms = @array_map('trim', @array_map('rawurldecode', $_POST['nms']));
$ctnms = count($nms);
if($ctnms >= 1) {
$check = 0;
for($ch = 0; $ch < $ctnms; $ch++) {
if(@preg_match('~^[[:print:]]{1,64}$~i', $nms[$ch])) {
$check++; } }
if($ctnms === $check) {
$cnms = $ctnms;
$onms = $nms; } }
unset($nms); } }
$connect = 0;
if(($oh !== '')&&($ou !== '')&&($op !== '')&&($om >= 1)) {
if(@mysql_connect($oh, $ou, $op)) {
$connect = 1; } }
$selectdb = 0;
if(($connect === 1)&&($ob !== '')&&($om > 3)) {
if(@mysql_select_db($ob)) {
$selectdb = 1; } }
$r = @mt_rand(100,999);
@define('MY77CH', 'YES');
if(!@defined('MY77CH')) {
exit('Error!!!'); }
echo '<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>';
if($connect !== 1) {
echo '<font color="'.FONTS.'"><u>Вход в панель</u>:';
if(($oh !== '')&&($ou !== '')&&($op !== '')&&($om >= 1)) {
echo '<br/>Нет соединения!<br/>Проверьте ввод!';
}
echo '</font><br/>---</small></p>'.
'<form action="mysql_panel?r='.$r.'" method="post">'.
'<p align="left" style="background-color: '.FORMS.'">'.
'<input type="hidden" name="m" value="1"/>'.
'<small><u><font color="'.FONTS.'">*</font> MySQL сервер</u>:</small><br/>'.
'<textarea name="h" cols="10" rows="1">'.str_replace('$', '$', htmlspecialchars($oh, ENT_QUOTES)).'</textarea><br/>'.
'<small><u><font color="'.FONTS.'">*</font> Пользователь</u>:</small><br/>'.
'<textarea name="u" cols="10" rows="1">'.str_replace('$', '$', htmlspecialchars($ou, ENT_QUOTES)).'</textarea><br/>'.
'<small><u><font color="'.FONTS.'">*</font> Пароль</u>:</small><br/>'.
'<textarea name="p" cols="10" rows="1">'.str_replace('$', '$', htmlspecialchars($op, ENT_QUOTES)).'</textarea><br/>'.
'<small><u>Имя базы</u>:</small><br/>'.
'<textarea name="b" cols="10" rows="1">'.str_replace('$', '$', htmlspecialchars($ob, ENT_QUOTES)).'</textarea><br/>'.
'<input type="submit" value="Войти!"/>'.
'</p></form>'.
'</body></html>';
echo gb.'<a href="mysql_panel">В админку</a><br />'.div;
include '../style/foot.php';
exit; }
if(($ob === '')||($om === 2)||($om === 3)) {
if(($om === 2)&&(isset($_POST['newdb']))) {
$newdb = trim($_POST['newdb']);
if(@preg_match('~^[[:print:]]{1,64}$~i', $newdb)) {
if(@$db->sql_query('CREATE DATABASE '.$newdb.'')) {
echo '<font color="'.FONTS.'"><u>База данных</u>:<br/>'.str_replace('$', '$', htmlspecialchars($newdb, ENT_QUOTES)).'<br/>успешно создана!</font><br/>';
} else {
echo '<font color="'.FONTS.'"><u>База данных</u>:<br/>'.str_replace('$', '$', htmlspecialchars($newdb, ENT_QUOTES)).'<br/>не была создана.<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>';
} } else {
echo '<font color="'.FONTS.'">Недопустимое имя для базы данных или его длинна более 64 символов!</font><br/>';
}
unset($newdb);
echo '---<br/>'; }
if(($om === 3)&&($cnms >= 1)&&($onms !== '')) {
$tq = 0; $fq = 0;
for($q = 0; $q < $cnms; $q++) {
if(@$db->sql_query('DROP DATABASE '.$onms[$q].'')) {
$tq++; } else {
$fq++;
echo '<font color="'.FONTS.'"><u>База данных</u>:<br/>'.str_replace('$', '$', htmlspecialchars($onms[$q], ENT_QUOTES)).'<br/>не была удалена.<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>---<br/>';
} }
if($tq === $cnms) {
if($cnms > 1) {
$bas = '<u>'.$tq.'</u> баз данных';
} else {
$bas = 'базы данных<br/><u>'.str_replace('$', '$', htmlspecialchars($onms[0], ENT_QUOTES)).'</u>';
}
echo '<font color="'.FONTS.'">Запрос на удаление<br/>'.$bas.'<br/>успешно выполнен!</font><br/>---<br/>';
}
unset($onms); }
if($shdbs = @$db->sql_query('SHOW DATABASES')) {
$alldbs = @$db->sql_numrows($shdbs);
if($alldbs >= 1) {
echo '<u>Баз данных</u>: <font color="'.FONTS.'"><u>'.$alldbs.'</u></font><br/>---<br/>';
}
$allpgs = ceil($alldbs/ONPAGE);
if($obp > $allpgs) {
$obp = $allpgs; }
$otb = intval($obp * ONPAGE - ONPAGE);
if($otb < 0) {
$otb = 0; }
$dob = intval($otb + ONPAGE);
if($dob > $alldbs) {
$dob = $alldbs; }
echo '</small></p>'.
'<form action="mysql_panel?r='.$r.'" method="post">'.
'<p align="left" style="background-color: '.FORMS.'">'.
'<input type="hidden" name="h" value="'.$rh.'"/>'.
'<input type="hidden" name="u" value="'.$ru.'"/>'.
'<input type="hidden" name="p" value="'.$rp.'"/>';
if($alldbs >= 1) {
for($n = $otb; $n < $dob; $n++) {
$bnm = @$db->sql_fetchfield($shdbs, $n, 0);
echo '<input type="checkbox" name="nms[]" value="'.rawurlencode($bnm).'"/> '.
'<small><a href="mysql_panel?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.rawurlencode($bnm).'&m=1&bp='.$obp.'" style="color: '.FONTS.'">'.str_replace('$', '$', htmlspecialchars($bnm, ENT_QUOTES)).'</a></small><br/>';
} } else {
echo '<small><font color="'.FONTS.'">Баз данных пока нет.</font></small><br/>';
}
echo '<small>---</small><br/>';
if($allpgs > 1) {
echo '<small>Стр.: <u>'.$obp.'/'.$allpgs.'</u><br/>';
if($obp > 1) {
echo '[<a href="mysql_panel?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&m=1&bp='.($obp - 1).'"><<</a>]';
}
if($obp < $allpgs) {
echo '[<a href="mysql_panel?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&m=1&bp='.($obp + 1).'">>></a>]';
}
echo '</small><br/>';
if($allpgs > 2) {
echo '<input type="text" name="bp" size="4" maxlength="4" value="'.$obp.'"/><br/>';
} else {
echo '<input type="hidden" name="bp" value="'.$obp.'"/>';
} }
echo '<small><u>Новая база</u>:</small><br/>'.
'<textarea name="newdb" cols="20" rows="3"></textarea><br/>'.
'<small><u>Действие</u>:</small><br/>'.
'<select name="m">'.
'<option value="2" selected="selected">создать</option>';
if($allpgs > 2) {
echo '<option value="1">перейти</option>';
}
if($alldbs >= 1) {
echo '<option value="3">удалить</option>';
}
echo '</select><br/>';
echo '<input type="submit" value="Выполнить!"/>'.
'</p></form>'.
'<p align="left"><small>';
} else {
echo '<font color="'.FONTS.'">Просмотр списка баз данных невозможен.<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>';
} } else {
$gots = 1;
echo '<u>База данных</u>:<br/><font color="'.FONTS.'">'.str_replace('$', '$', htmlspecialchars($ob, ENT_QUOTES)).'</font><br/>';
if(($om > 3)&&($selectdb !== 1)) {
echo '<font color="'.FONTS.'">Сейчас невозможно<br/>выбрать базу данных.<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>'.
'---<br/><a href="mysql_panel?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&m=1&bp='.$obp.'">К базам</a><br/>'.
'<a href="mysql_panel?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.$rb.'">Войти снова</a>'.
'</small></p></body></html>';
exit; }
if(($om === 4)&&(isset($_POST['sql']))) {
echo '---<br/>';
$sql = trim($_POST['sql']);
if(isset($_POST['yes'])) {
$sql = trim(@base64_decode($sql));
if(@preg_match('~^[[:print:]]{1,1020}(.sql|.txt)$~i', $sql)) {
if(@filetype($sql) === 'file') {
if($data = @file_get_contents($sql)) {
@preg_match_all('~((DROP.+;)|(CREATE.+).*;)|(INSERT.+)s*;(r|n)))~isU', $data."n", $matches);
$ct = count($matches[0]);
if($ct >= 1) {
$tq = 0; $fq = 0;
for($q = 0; $q < $ct; $q++) {
$query = trim($matches[0][$q]);
if(@$db->sql_query($query)) {
$tq++; } else {
$fq++;
echo '<font color="'.FONTS.'"><u>Ошибка в запросе</u>:<br/>'.str_replace('$', '$', htmlspecialchars($query, ENT_QUOTES)).'<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>---<br/>';
} }
if($tq === $ct) {
echo '<font color="'.FONTS.'">Импорт таблиц<br/>успешно выполнен!</font><br/>---<br/>';
}
echo 'Запросов: <u>'.$ct.'</u><br/>Успешных: <u>'.$tq.'</u><br/>С ошибкой: <u>'.$fq.'</u><br/>';
} else {
echo '<font color="'.FONTS.'"><u>Запросов типа</u>:<br/>DROP, CREATE, INSERT<br/>в файле нет.</font><br/>';
}
unset($data);
unset($matches);
} else {
echo '<font color="'.FONTS.'"><u>Ошибка импорта.</u></font><br/>';
} } else {
echo '<font color="'.FONTS.'">Файл не является<br/>обычным файлом<br/>или не был найден.</font><br/>';
}
@clearstatcache();
} else {
echo '<font color="'.FONTS.'">Возможно в адресе недопустимые символы или его длинна более 1024.<br/>Возможно расширение файла не ".sql" и не ".txt".</font><br/>';
} } else {
if($sql !== '') {
echo '<font color="'.FONTS.'">Подтверждаем<br/>импорт таблиц?</font><br/>-</small></p>'.
'<form action="mysql_panel?r='.$r.'" method="post">'.
'<p align="left" style="background-color: '.FORMS.'">'.
'<input type="hidden" name="h" value="'.$rh.'"/>'.
'<input type="hidden" name="u" value="'.$ru.'"/>'.
'<input type="hidden" name="p" value="'.$rp.'"/>'.
'<input type="hidden" name="b" value="'.$rb.'"/>'.
'<input type="hidden" name="m" value="4"/>'.
'<input type="hidden" name="bp" value="'.$obp.'"/>'.
'<input type="hidden" name="tp" value="'.$otp.'"/>'.
'<input type="hidden" name="sql" value="'.@base64_encode($sql).'"/>'.
'<input type="hidden" name="yes" value="yes"/>'.
'<input type="submit" value="Да, выполнить!"/>'.
'</p></form>'.
'<p align="left"><small>';
} else {
echo '<font color="'.FONTS.'">Строка адреса<br/>SQL - таблиц<br/>была пуста.</font><br/>';
} }
unset($sql); }
elseif(($om === 5)&&((($cnms >= 1)&&($onms !== ''))||($oall === 1))) {
echo '---<br/>';
if($oall === 1) {
$onms = array();
if($shts = @$db->sql_query('SHOW TABLES FROM '.$ob.'')) {
while($tnm = @mysql_fetch_row($shts)) {
$onms[] = $tnm[0];
} } }
$ct = count($onms);
if($ct >= 1) {
$dump = '';
$d = 0; $v = 0;
for($n = 0; $n < $ct; $n++) {
$shcr = @$db->sql_query('SHOW CREATE TABLE '.$onms[$n].'');
$rwcr = @mysql_fetch_row($shcr);
$dump .= 'DROP TABLE IF EXISTS `'.$onms[$n].'`;'."rn";
$dump .= @strtr(@preg_replace('~[s]+~', ' ', $rwcr[1]), @array("( "=>"(rn", ", "=>",rn", ") )"=>")rn)")).";rnrn";
$st = @$db->sql_query('SELECT * FROM '.$onms[$n].'');
$nr = @$db->sql_numrows($st);
$nf = @mysql_num_fields($st);
$wi = 0;
while($rowi = @mysql_fetch_row($st)) {
$in = 'INSERT INTO `'.$onms[$n].'` VALUES (';
for($i = 0; $i < $nf; $i++) {
if($rowi[$i] === NULL) {
$in .= 'NULL'; }
elseif($rowi[$i] !== '') {
$ft = @mysql_field_type($st, $i);
if(($ft === 'tinyint')||($ft === 'smallint')||($ft === 'mediumint')||($ft === 'int')||($ft === 'integer')||($ft === 'bigint')) {
$in .= $rowi[$i];
} else {
$in .= '''.$rowi[$i].''';
} } else {
$in .= ''''; }
if($i < $nf - 1) {
$in .= ', '; } }
$in .= ');'."rn";
$dump .= $in;
unset($in);
if($wi === $nr - 1) {
$dump .= "rn"; }
$wi++; }
$d++; $v += $wi; }
if($ct > 1) {
$backupnm = $ob;
} else {
$backupnm = $onms[0];
}
if($fp = @fopen(BACKUPDR.'/'.$backupnm.'.txt', 'wb')) {
$w = @fwrite($fp, $dump);
if($w !== -1) {
if(($w >= 0)&&($w < 1024)) {
$wr = @round($w/1000, 3).' Kb';
}
elseif(($w >= 1024)&&($w < 1048576)) {
$wr = @round($w/1024, 3).' Kb';
}
elseif($w > 1048576) {
$wr = @round($w/1024/1024, 3).' Mb';
} else { $wr = '--'; }
if($ct > 1) {
$tabl = ''; } else {
$tabl = 'ы'; }
echo '<font color="'.FONTS.'">Дамп из <u>'.$d.'</u> таблиц'.$tabl.'<br/>успешно создан!<br/>Его вес: <u>'.$wr.'</u></font><br/>---<br/>Записано<br/>CREATE: <u>'.$d.'</u><br/>INSERT: <u>'.$v.'</u><br/>DROP: <u>'.$d.'</u><br/>';
} else {
echo '<font color="'.FONTS.'">Запись в файл<br/>не была выполнена.</font><br/>';
}
@fclose($fp);
} else {
echo '<font color="'.FONTS.'">Невозможно<br/>создать файл!</font><br/>';
}
unset($dump);
} else {
echo '<font color="'.FONTS.'">Массив таблиц пуст.</font><br/>';
}
unset($onms); }
elseif(($om === 6)&&(YESSQL === 'YES')&&(isset($_POST['sql']))) {
echo '---<br/>';
$sql = trim($_POST['sql']);
if(isset($_POST['yes'])) {
$sql = str_replace('*_96*', '`', trim(@base64_decode($sql)));
if(@get_magic_quotes_gpc()) {
$sql = @stripslashes($sql);
}
if($sql !== '') {
if(@$db->sql_query($sql)) {
echo '<font color="'.FONTS.'">Ваш SQL - запрос<br/>успешно выполнен!</font><br/>';
} else {
echo '<font color="'.FONTS.'">Ваш SQL - запрос<br/>не был выполнен.<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>';
} } else {
echo '<font color="'.FONTS.'">Строка вашего<br/>SQL - запроса<br/>была пуста.</font><br/>';
} } else {
if($sql !== '') {
echo '<font color="'.FONTS.'">Подтверждаем<br/>SQL - запрос?</font><br/>-</small></p>'.
'<form action="mysql_panel?r='.$r.'" method="post">'.
'<p align="left" style="background-color: '.FORMS.'">'.
'<input type="hidden" name="h" value="'.$rh.'"/>'.
'<input type="hidden" name="u" value="'.$ru.'"/>'.
'<input type="hidden" name="p" value="'.$rp.'"/>'.
'<input type="hidden" name="b" value="'.$rb.'"/>'.
'<input type="hidden" name="bp" value="'.$obp.'"/>'.
'<input type="hidden" name="tp" value="'.$otp.'"/>'.
'<input type="hidden" name="m" value="6"/>'.
'<input type="hidden" name="sql" value="'.@base64_encode($sql).'"/>'.
'<input type="hidden" name="yes" value="yes"/>'.
'<input type="submit" value="Да, выполнить!"/>'.
'</p></form>'.
'<p align="left"><small>';
} else {
echo '<font color="'.FONTS.'">Строка вашего<br/>SQL - запроса<br/>была пуста.</font><br/>';
} }
unset($sql); }
elseif((($om > 6)&&($om < 10)&&((($cnms >= 1)&&($onms !== ''))||($oall === 1)))||(($om === 10)&&($cnms === 1)&&($onms !== '')&&(isset($_POST['sql'])))) {
echo '---<br/>';
if(($om > 6)&&($om < 10)&&((($cnms >= 1)&&($onms !== ''))||($oall === 1))) {
if($om === 7) {
$query = 'DROP TABLE ';
$action = 'удаление, для';
}
if($om === 8) {
$query = 'TRUNCATE TABLE ';
$action = 'очистка, для';
}
if($om === 9) {
$query = 'OPTIMIZE TABLE ';
$action = 'оптимизация, для';
}
if($oall === 1) {
$onms = array();
if($shtbs = @$db->sql_query('SHOW TABLES FROM '.$ob.'')) {
while($rowtbs = @mysql_fetch_row($shtbs)) {
$onms[] = $rowtbs[0];
} } }
$ct = count($onms);
if($ct >= 1) {
$tq = 0; $fq = 0;
for($q = 0; $q < $ct; $q++) {
$querys = trim($query.$onms[$q]);
if(@$db->sql_query($querys)) {
$tq++; } else {
$fq++;
echo '<font color="'.FONTS.'">Ваш запрос -<br/>'.$action.'<br/>'.str_replace('$', '$', htmlspecialchars($onms[$q], ENT_QUOTES)).'<br/>не был выполнен.<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>';
if($ct > 1) {
echo '---<br/>'; }
} }
if($tq === $ct) {
if($ct > ONPAGE) {
echo '<font color="'.FONTS.'">Ваш запрос -<br/>'.$action.'<br/>';
if($oall === 1) {
echo 'ВСЕХ <u>'.$ct.'</u> таблиц<br/>';
} else {
echo '<u>'.$ct.'</u> таблиц<br/>'; }
echo 'успешно выполнен!</font><br/>';
} else {
echo '<font color="'.FONTS.'">Ваш запрос -<br/>'.$action.'<br/>';
if($oall === 1) {
echo 'ВСЕХ <u>'.$ct.'</u> таблиц:<br/>';
}
echo ''.@strtr(htmlspecialchars(@implode(",n", $onms), ENT_QUOTES), @array("n"=>"<br/>", "$"=>"$")).'<br/>успешно выполнен!</font><br/>';
} }
if($ct > 1) {
if($fq < 1) {
echo '---<br/>'; }
echo 'Запросов: <u>'.$ct.'</u><br/>Успешных: <u>'.$tq.'</u><br/>С ошибкой: <u>'.$fq.'</u><br/>';
} } else {
echo '<font color="'.FONTS.'">Массив таблиц пуст!</font><br/>';
}
unset($onms); }
elseif(($om === 10)&&($cnms === 1)&&($onms !== '')&&(isset($_POST['sql']))) {
$sql = trim($_POST['sql']);
if(@preg_match('~^[[:print:]]{1,64}$~i', $sql)) {
if(@$db->sql_query('ALTER TABLE '.$onms[0].' RENAME '.$sql.'')) {
echo '<font color="'.FONTS.'"><u>Таблица</u>:<br/>'.str_replace('$', '$', htmlspecialchars($onms[0], ENT_QUOTES)).'<br/>переименована в<br/>'.str_replace('$', '$', htmlspecialchars($sql, ENT_QUOTES)).'</font><br/>';
} else {
echo '<font color="'.FONTS.'"><u>Таблица</u>:<br/>'.str_replace('$', '$', htmlspecialchars($onms[0], ENT_QUOTES)).'<br/>не переименована в<br/>'.str_replace('$', '$', htmlspecialchars($sql, ENT_QUOTES)).'<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>';
} } else {
echo '<font color="'.FONTS.'">Недопустимое новое имя для таблицы или его длинна более 64 символов!</font><br/>';
}
unset($onms);
unset($sql); }
else {
echo '<font color="'.FONTS.'">Произошла ошибка.<br/>Команда не ясна.</font><br/>';
} }
else {
$gots = 2;
if($shtbs = @$db->sql_query('SHOW TABLES FROM '.$ob.'')) {
$alltbs = @$db->sql_numrows($shtbs);
if($alltbs >= 1) {
echo '<u>Таблиц</u>: <font color="'.FONTS.'"><u>'.$alltbs.'</u></font><br/>';
}
$allpgs = ceil($alltbs/ONPAGE);
if($otp > $allpgs) {
$otp = $allpgs; }
$ott = intval($otp * ONPAGE - ONPAGE);
if($ott < 0) {
$ott = 0; }
$dot = intval($ott + ONPAGE);
if($dot > $alltbs) {
$dot = $alltbs; }
echo '---</small></p>'.
'<form action="mysql_panel?r='.$r.'" method="post">'.
'<p align="left" style="background-color: '.FORMS.'">'.
'<input type="hidden" name="h" value="'.$rh.'"/>'.
'<input type="hidden" name="u" value="'.$ru.'"/>'.
'<input type="hidden" name="p" value="'.$rp.'"/>'.
'<input type="hidden" name="b" value="'.$rb.'"/>';
if($alltbs >= 1) {
for($n = $ott; $n < $dot; $n++) {
$tnm = @$db->sql_fetchfield($shtbs, $n, 0);
echo '<input type="checkbox" name="nms[]" value="'.rawurlencode($tnm).'"/> '.
'<small><font color="'.FONTS.'">'.str_replace('$', '$', htmlspecialchars($tnm, ENT_QUOTES)).'</small><br/>';
} } else {
echo '<small><font color="'.FONTS.'">Таблиц пока нет.</font></small><br/>';
}
echo '<input type="hidden" name="bp" value="'.$obp.'"/>'.
'<small>---</small><br/>';
if($allpgs > 1) {
echo '<small>Стр.: <u>'.$otp.'/'.$allpgs.'</u><br/>';
if($otp > 1) {
echo '[<a href="mysql_panel?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.$rb.'&m=1&bp='.$obp.'&tp='.($otp - 1).'"><<</a>]';
}
if($otp < $allpgs) {
echo '[<a href="mysql_panel?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.$rb.'&m=1&bp='.$obp.'&tp='.($otp + 1).'">>></a>]';
}
echo '</small><br/>';
if($allpgs > 2) {
echo '<input type="text" name="tp" size="4" maxlength="4" value="'.$otp.'"/><br/>';
} else {
echo '<input type="hidden" name="tp" value="'.$otp.'"/>';
} }
echo '<small><u>Данные запроса</u>:</small><br/>'.
'<textarea name="sql" cols="20" rows="6"></textarea><br/>'.
'<small><u>Действие</u>:</small><br/>'.
'<select name="m">'.
'<option value="4" selected="selected">импорт таблиц</option>';
if($allpgs > 2) {
echo '<option value="1">переход на стр.</option>';
}
if($alltbs >= 1) {
echo '<option value="5">BackUp таблиц</option>';
if(YESSQL === 'YES') {
echo '<option value="6">SQL - запрос</option>';
}
echo '<option value="7">удаление таб.</option>'.
'<option value="8">очистка таб.</option>'.
'<option value="9">оптимизация</option>'.
'<option value="10">переименов.</option>';
}
echo '</select><br/>';
if($alltbs > 1) {
echo '<input type="checkbox" name="all" value="all"/>'.
'<small><u>ВСЕ</u></small><br/>';
}
echo '<input type="submit" value="Выполнить!"/>'.
'</p></form>'.
'<p align="left"><small>';
} else {
echo '---<br/><font color="'.FONTS.'">Просмотр списка таблиц невозможен.<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>';
} }
if(($ob !== '')&&($om !== 2)&&($om !== 3)) {
echo '---<br/><a href="mysql_panel?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&m=1&bp='.$obp.'">К базам</a><br/>';
if($gots === 1) {
echo '<a href="mysql_panel?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.$rb.'&m=1&bp='.$obp.'&tp='.$otp.'">К таблицам</a><br/>';
} } }
echo '---<br/><a href="mysql_panel?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.$rb.'">Войти снова</a>'.
'</small></p></body></html>';
echo gb.'<a href="index">В админку</a><br />'.div;
include '../style/foot.php';
?>