Файл: pma_wap/index.php
Строк: 385
<?php
@define('MY77FL', 'YES');
include_once"config.php";
include_once"../head.php";
echo'<title>PHPmyAdmin</title>'.
'<div class="main">';
if($connect !== 1) {
echo 'Вход в PHPmyAdmin</div><div class="main">';
if(($oh !== '')&&($ou !== '')&&($op !== '')&&($om >= 1)) {
echo '<br/>Нет соединения!<br/>Проверьте ввод!';
}
echo'<form action="?r='.$r.'" method="post">'.
'<input type="hidden" name="m" value="1"/>'.
'<div class="phdr"><b>Сервер:</b></div>'.
'<textarea name="h" rows="1">'.str_replace('$', '$', htmlspecialchars($oh, ENT_QUOTES)).'</textarea><br/>'.
'<div class="phdr"><b>Пользователь:</b></div>'.
'<textarea name="u" rows="1">'.str_replace('$', '$', htmlspecialchars($ou, ENT_QUOTES)).'</textarea><br/>'.
'<div class="phdr"><b>Пароль:</b></div>'.
'<textarea name="p" rows="1">'.str_replace('$', '$', htmlspecialchars($op, ENT_QUOTES)).'</textarea><br/>'.
'<div class="phdr"><b>Имя базы:</b></div>'.
'<textarea name="b" rows="1">'.str_replace('$', '$', htmlspecialchars($ob, ENT_QUOTES)).'</textarea><br/>'.
'<input type="submit" value="Войти"/>'.
'</form>'.
'<br>'.
'</div>';
include_once"../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(@mysql_query('CREATE DATABASE '.$newdb.'')) {
echo '<font color="#000"><b>База данных:</b><br>'.str_replace('$', '$', htmlspecialchars($newdb, ENT_QUOTES)).'<br/> успешно создана!</font><br/>';
} else {
echo '<font color="#000"><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="#000">Недопустимое имя для базы данных или его длинна более 64 символов!</font><br/>';
}
unset($newdb);
echo '<br>'; }
if(($om === 3)&&($cnms >= 1)&&($onms !== '')) {
$tq = 0; $fq = 0;
for($q = 0; $q < $cnms; $q++) {
if(@mysql_query('DROP DATABASE '.$onms[$q].'')) {
$tq++; } else {
$fq++;
echo '<font color="#000"><u>База данных</u>:<br/>'.str_replace('$', '$', htmlspecialchars($onms[$q], ENT_QUOTES)).'<br/>не была удалена.<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br>';
} }
if($tq === $cnms) {
if($cnms > 1) {
$bas = '<u>'.$tq.'</u> баз данных';
} else {
$bas = 'базы данных<br/><u>'.str_replace('$', '$', htmlspecialchars($onms[0], ENT_QUOTES)).'</u>';
}
echo 'Запрос на удаление<br> '.$bas.' <br>успешно выполнен!<br>';
}
unset($onms); }
if($shdbs = @mysql_query('SHOW DATABASES')) {
$alldbs = @mysql_num_rows($shdbs);
if($alldbs >= 1) {
echo '<div classe="tp">PHPmyAdmin</div><div class="body"></div>Баз данных:</table> <b>'.$alldbs.'</b><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="?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 = @mysql_result($shdbs, $n, 0);
echo '<input type="checkbox" name="nms[]" value="'.rawurlencode($bnm).'"/> '.
'<small><a href="?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.rawurlencode($bnm).'&m=1&bp='.$obp.'" style="color: #000">'.str_replace('$', '$', htmlspecialchars($bnm, ENT_QUOTES)).'</a></small><br/>';
} } else {
echo 'Баз данных не обнаружено</b><br>';
}
echo'<br>';
if($allpgs > 1) {
echo '<small>Стр.: <u>'.$obp.'/'.$allpgs.'</u><br/>';
if($obp > 1) {
echo '[<a href="?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&m=1&bp='.($obp - 1).'"><<</a>]';
}
if($obp < $allpgs) {
echo '[<a href="?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 '<table>Новая база:</table><br>'.
'<textarea name="newdb" rows="4"></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 '<b>Просмотр списка баз данных невозможен</b> <br>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'<br>';
} } else {
$gots = 1;
echo '<u>База данных</u>:<br/><font color="#000">'.str_replace('$', '$', htmlspecialchars($ob, ENT_QUOTES)).'</font><br/>';
if(($om > 3)&&($selectdb !== 1)) {
echo '<b>Сейчас не возможно выбрать базу данных</b> <br>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'<br>'.
'<br>* <a href="?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&m=1&bp='.$obp.'">К базам</a><br/>'.
'<a href="?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.$rb.'">Войти снова</a>'.
'</small></p>'; include_once"../foot.php";
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(@mysql_query($query)) {
$tq++; } else {
$fq++;
echo '<b>Ошибка в запросе</b> <br>'.str_replace('$', '$', htmlspecialchars($query, ENT_QUOTES)).' <br>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'<br>';
} }
if($tq === $ct) {
echo '<font color="#000">Импорт таблиц<br/>успешно выполнен!</font><br>';
}
echo 'Запросов: <u>'.$ct.'</u><br/>Успешных: <u>'.$tq.'</u><br/>С ошибкой: <u>'.$fq.'</u><br/>';
} else {
echo '<font color="#000"><u>Запросов типа</u>:<br/>DROP, CREATE, INSERT<br/>в файле нет.</font><br/>';
}
unset($data);
unset($matches);
} else {
echo '<font color="#000"><u>Ошибка импорта.</u></font><br/>';
} } else {
echo 'Файл не является обычным файлом или не был найден<br>';
}
@clearstatcache();
} else {
echo 'Возможно в адресе недопустимые символы или его длинна более 1024.<br/>Возможно расширение файла не ".sql" и не ".txt".<br>';
} } else {
if($sql !== '') {
echo '<font color="#000">Подтверждаем<br/>импорт таблиц?</font><br/>-</small></p>'.
'<form action="?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="#000">Строка адреса<br/>SQL - таблиц<br/>была пуста.</font><br/>';
} }
unset($sql); }
elseif(($om === 5)&&((($cnms >= 1)&&($onms !== ''))||($oall === 1))) {
echo '</div><div class="main"><br/>';
if($oall === 1) {
$onms = array();
if($shts = @mysql_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 = @mysql_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 = @mysql_query('SELECT * FROM '.$onms[$n].'');
$nr = @mysql_num_rows($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 'Дамп из <u>'.$d.'</u> таблиц '.$tabl.' <br>успешно создан!<br/>Его вес: <u>'.$wr.'</u> <br>Записано<br/>CREATE: <u>'.$d.'</u><br/>INSERT: <u>'.$v.'</u><br/>DROP: <u>'.$d.'</u><br/>';
} else {
echo '<font color="#000">Запись в файл<br/>не была выполнена.</font><br/>';
}
@fclose($fp);
} else {
echo 'Невозможно <br>создать файл!<br>';
}
unset($dump);
} else {
echo '<font color="#000">Массив таблиц пуст.</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(@mysql_query($sql)) {
echo '<font color="#000">Ваш SQL - запрос<br/>успешно выполнен!</font><br/>';
} else {
echo '<font color="#000">Ваш SQL - запрос<br/>не был выполнен.<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>';
} } else {
echo '<font color="#000">Строка вашего<br/>SQL - запроса<br/>была пуста.</font><br/>';
} } else {
if($sql !== '') {
echo '<font color="#000">Подтверждаем<br/>SQL - запрос?</font><br/>-</small></p>'.
'<form action="?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 'Строка вашего <br>SQL - запроса<br/>была пуста<br>';
} }
unset($sql); }
elseif((($om > 6)&&($om < 10)&&((($cnms >= 1)&&($onms !== ''))||($oall === 1)))||(($om === 10)&&($cnms === 1)&&($onms !== '')&&(isset($_POST['sql'])))) {
echo '</div><div class="main"><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 = @mysql_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(@mysql_query($querys)) {
$tq++; } else {
$fq++;
echo 'Ваш запрос <br>'.$action.'<br/>'.str_replace('$', '$', htmlspecialchars($onms[$q], ENT_QUOTES)).'<br/>не был выполнен <br>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'<br>';
if($ct > 1) {
echo '<br>'; }
} }
if($tq === $ct) {
if($ct > ONPAGE) {
echo '<font color="#000">Ваш запрос -<br/>'.$action.'<br/>';
if($oall === 1) {
echo 'ВСЕХ <u>'.$ct.'</u> таблиц<br/>';
} else {
echo '<u>'.$ct.'</u> таблиц<br/>'; }
echo 'успешно выполнен!</font><br/>';
} else {
echo '<font color="#000">Ваш запрос -<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 '</div><div class="main"><br/>'; }
echo 'Запросов: <u>'.$ct.'</u><br/>Успешных: <u>'.$tq.'</u><br/>С ошибкой: <u>'.$fq.'</u><br/>';
} } else {
echo '<font color="#000">Массив таблиц пуст!</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(@mysql_query('ALTER TABLE '.$onms[0].' RENAME '.$sql.'')) {
echo '<font color="#000"><u>Таблица</u>:<br/>'.str_replace('$', '$', htmlspecialchars($onms[0], ENT_QUOTES)).'<br/>переименована в<br/>'.str_replace('$', '$', htmlspecialchars($sql, ENT_QUOTES)).'</font><br/>';
} else {
echo '<font color="#000"><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="#000">Недопустимое новое имя для таблицы или его длинна более 64 символов!</font><br/>';
}
unset($onms);
unset($sql); }
else {
echo '<font color="#000">Произошла ошибка.<br/>Команда не ясна.</font><br/>';
} }
else {
$gots = 2;
if($shtbs = @mysql_query('SHOW TABLES FROM '.$ob.'')) {
$alltbs = @mysql_num_rows($shtbs);
if($alltbs >= 1) {
echo '<u>Таблиц</u>: <font color="#000"><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 '</div><div class="main"></small></p>'.
'<form action="?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 = @mysql_result($shtbs, $n, 0);
echo '<input type="checkbox" name="nms[]" value="'.rawurlencode($tnm).'"/> '.
'<small><font color="#000">'.str_replace('$', '$', htmlspecialchars($tnm, ENT_QUOTES)).'</small><br/>';
} } else {
echo '<small><font color="#000">Таблиц пока нет.</font></small><br/>';
}
echo '<input type="hidden" name="bp" value="'.$obp.'"/>'.
'<small></div><div class="main"></small><br/>';
if($allpgs > 1) {
echo '<small>Стр.: <u>'.$otp.'/'.$allpgs.'</u><br/>';
if($otp > 1) {
echo '[<a href="?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.$rb.'&m=1&bp='.$obp.'&tp='.($otp - 1).'"><<</a>]';
}
if($otp < $allpgs) {
echo '[<a href="?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" rows="4"></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 '</div><div class="main"><br/><font color="#000">Просмотр списка таблиц невозможен.<br/><u>Причина ошибки</u>:<br/>'.str_replace('$', '$', htmlspecialchars(@mysql_error(), ENT_QUOTES)).'</font><br/>';
} }
if(($ob !== '')&&($om !== 2)&&($om !== 3)) {
echo '</div><div class="main"><br/><a href="?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&m=1&bp='.$obp.'">К базам</a><br/>';
if($gots === 1) {
echo '<a href="?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.$rb.'&m=1&bp='.$obp.'&tp='.$otp.'">К таблицам</a><br/>';
} } }
echo '</div><div class="main"><br/><a href="?r='.$r.'&h='.$rh.'&u='.$ru.'&p='.$rp.'&b='.$rb.'">Войти снова</a>'.
'</small></p></div>';
include_once"../foot.php";
?>