Файл: fo/admin.php
Строк: 270
<?php
require '../sid.php';
require '../config.php';
$link = connect_db();
list($user, $id, $ps) = check_login($link);
whorm(0, 'fo');
include '../head.php';
include '../navigator.php';
if ($user['level'] != 1 && $user['level'] != 4 && $user['level'] != 5) {
header('Location: index.php?' . $ref);
die();
}
$do = isset($_GET['do']) ? $_GET['do'] : NULL;
switch($do) {
default:
echo $div_left . $div_title . 'Зона обмена' . $div_end;
$num_r = mysql_result(mysql_query("SELECT COUNT(*) FROM `fo_cat`"), 0);
$num_p = mysql_result(mysql_query("SELECT COUNT(*) FROM `fo_pod`"), 0);
echo '<fieldset>
» <a href="admin.php?do=fo_razdel">Разделы</a> (' . $num_r . ')<br/>
» <a href="admin.php?do=fo_podrazdel">Подразделы</a> (' . $num_p . ')<br/>
» <a href="admin.php?do=fo_sys">Система</a>
</fieldset>';
echo $div_end;
break;
// разделы обменника
case fo_razdel:
echo $div_title . 'Разделы' . $div_end . $div_left;
// создание раздела
if (isset($_POST['add'])) {
$nazv = trim(mysql_real_escape_string(check($_POST['nazv'])));
$empty = mysql_query("SELECT `id` FROM `fo_cat` WHERE `title` = '$nazv' LIMIT 1");
if (empty($nazv)) {
err('Не заполнено название раздела!');
} elseif (mysql_num_rows($empty) != FALSE) {
err('Раздел с таким названием уже создан!');
} else {
mysql_query("INSERT INTO `fo_cat` SET `title` = '$nazv'");
header('Location: admin.php?do=fo_razdel');
}
}
// удаление раздела
if (isset($_GET['del'])) {
$del = my_int($_GET['del']);
// проверка существовани раздела
$empty = mysql_query("SELECT * FROM `fo_cat` WHERE `id` = '$del' LIMIT 1");
if (mysql_num_rows($empty) != FALSE) {
// выборка разделов
$podr = mysql_query("SELECT * FROM `fo_cat` WHERE `id` = '$del'");
while($q = mysql_fetch_assoc($podr)) {
// выборка подразделов
$pd = mysql_fetch_assoc(mysql_query("SELECT `id` FROM `fo_pod` WHERE `cid` = '$q[id]'"));
// выборка файлов
$files = mysql_fetch_assoc(mysql_query("SELECT `id`, `url` FROM `fo_files` WHERE `rid` = '$pd[id]'"));
// удаление файлов
$game = explode('.', $files['url']);
// если удаляется игра
if ($game[1] == 'jar') {
// то удаляем файлы к ней
if (file_exists($game[0] . '.jad')) unlink($game[0] . '.jad');
} elseif ($game[1] == 'jad') {
if (file_exists($game[0] . '.jar')) unlink($game[0] . '.jar');
}
// если удаляется тема
if ($game[1] == 'nth') {
// то удаляем скрины к ней
if (file_exists($game[0] . '.nth.gif')) unlink($game[0] . '.nth.gif');
} elseif ($game[1] == 'thm') {
if (file_exists($game[0] . '.thm.gif')) unlink($game[0] . '.thm.gif');
}
// удаление файлов с папки
if (file_exists($files['url'])) unlink($files['url']);
// удаление файлов с базы
mysql_query("DELETE FROM `fo_files` WHERE `rid` = '$pd[id]'");
// удаление рейтинга файла
mysql_query("DELETE FROM `rating_files` WHERE `uid` = '$files[id]'");
// удаление комментариев файла
mysql_query("DELETE FROM `fo_komm` WHERE `uid` = '$files[id]'");
// удаление подразделов
mysql_query("DELETE FROM `fo_pod` WHERE `cid` = '$q[id]'");
}
// удаление раздела
mysql_query("DELETE FROM `fo_cat` WHERE `id` = '$del' LIMIT 1");
header('Location: admin.php?do=fo_razdel');
} else {
err('Раздела не существует!');
}
}
// завершение редактирования
if (isset($_POST['edit_ok'])) {
$idr = my_int($_POST['idr']);
$sql_1 = mysql_query("SELECT `id` FROM `fo_cat` WHERE `id` = '$idr' LIMIT 1");
$nazv = trim(mysql_real_escape_string(check($_POST['nazv'])));
$sql_2 = mysql_query("SELECT `id` FROM `fo_cat` WHERE `title` = '$nazv' AND `id` != '$idr' LIMIT 1");
if (empty($nazv)) {
err('Не заполнено название раздела!');
} elseif (mysql_num_rows($sql_2) != FALSE) {
err('Раздел с таким названием уже создан!');
} elseif (mysql_num_rows($sql_1) == FALSE) {
err('Раздела не существует!');
} else {
mysql_query("UPDATE `fo_cat` SET `title` = '$nazv' WHERE `id` = '$idr' LIMIT 1");
header('Location: admin.php?do=fo_razdel');
}
}
// редактирование раздела
if (isset($_GET['ed'])) {
$ed = my_int($_GET['ed']);
$empty = mysql_query("SELECT * FROM `fo_cat` WHERE `id` = '$ed' LIMIT 1");
if (mysql_num_rows($empty) != FALSE) {
$i = mysql_fetch_assoc($empty);
echo '<fieldset>
<FORM method="POST" action="admin.php?do=fo_razdel">
<label>Изменить имя:</label><br/>
<input type="text" name="nazv" value="' . $i['title'] . '"/>
<br/>
<input type="hidden" name="idr" value="' . $ed . '"/>
<input type="submit" name="edit_ok" value="Изменить"/>
</FORM>
</fieldset>';
} else {
err('Раздела не существует!');
}
} else {
echo '<fieldset>
<FORM method="POST" action="admin.php?do=fo_razdel">
<label>Новый раздел:</label><br/>
<input type="text" name="nazv"/>
<br/>
<input type="submit" name="add" value="Создать"/>
</FORM>
</fieldset>';
}
$look = mysql_result(mysql_query("SELECT COUNT(*) FROM `fo_cat`"), 0);
$n = new navigator($look, 10, '?do=fo_razdel&');
$view = mysql_query("SELECT `fo_cat`.*,(SELECT COUNT(*) FROM `fo_pod` WHERE `fo_pod`.`cid` = `fo_cat`.`id`) AS c FROM `fo_cat` ORDER BY `fo_cat`.`id` ASC {$n->limit}");
if ($look != FALSE) {
$i = 0;
while($a = mysql_fetch_assoc($view)) {
$del = ' <a href="admin.php?do=fo_razdel&del='.$a['id'].'"><img src="../ico/delete.gif" alt=""/></a> ';
$ed = '<a href="admin.php?do=fo_razdel&ed='.$a['id'].'"><img src="../ico/edit.gif" alt=""/></a>';
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
echo $ed . $del . $a['title'] . ' (' . $a['c'] . ')' . $div_end;
}
echo $n->navi();
} else {
echo 'Разделы не созданы!<br/>';
}
echo $div_end;
break;
// подразделы
case fo_podrazdel:
echo $div_title . 'Подразделы' . $div_end . $div_left;
// создание подраздела
if (isset($_POST['add'])) {
$nazv = trim(mysql_real_escape_string(check($_POST['nazv'])));
$r = my_int($_POST['r']);
$forms = trim(mysql_real_escape_string(check($_POST['forms'])));
$empty = mysql_query("SELECT `id` FROM `fo_pod` WHERE `cid` = '$r' AND `title` = '$nazv' LIMIT 1");
if (empty($nazv)) {
err('Не заполнено название подраздела!');
} elseif (mysql_num_rows($empty) != FALSE) {
err('Подраздел с таким названием уже создан!');
} elseif (preg_match('/(php|pl|htaccess)/i', $formats)) {
err('Вы указали запрещенные форматы!');
} elseif (empty($r)) {
err('Не выбран раздел!');
} else {
$ins = "INSERT INTO `fo_pod` SET `cid` = '$r', `title` = '$nazv', `formats` = '$forms'";
if (mysql_query($ins)) {
header('Location: admin.php?do=fo_podrazdel');
} else {
echo mysql_error();
}
}
}
// удаление подраздела
if (isset($_GET['del'])) {
$del = my_int($_GET['del']);
$empty = mysql_query("SELECT `id` FROM `fo_pod` WHERE `id` = '$del' LIMIT 1");
if (mysql_num_rows($empty) != FALSE) {
while($i = mysql_fetch_assoc($empty)) {
$files = mysql_fetch_assoc(mysql_query("SELECT `id`, `url` FROM `fo_files` WHERE `rid` = '$i[id]'"));
// удаление файлов
$game = explode('.', $files['url']);
// если удаляется игра
if ($game[1] == 'jar') {
// то удаляем файлы к ней
if (file_exists($game[0] . '.jad')) unlink($game[0] . '.jad');
} elseif ($game[1] == 'jad') {
if (file_exists($game[0] . '.jar')) unlink($game[0] . '.jar');
}
// если удаляется тема
if ($game[1] == 'nth') {
// то удаляем скрины к ней
if (file_exists($game[0] . '.nth.gif')) unlink($game[0] . '.nth.gif');
} elseif ($game[1] == 'thm') {
if (file_exists($game[0] . '.thm.gif')) unlink($game[0] . '.thm.gif');
}
if (file_exists($files['url'])) unlink($files['url']);
mysql_query("DELETE FROM `fo_files` WHERE `id` = '$files[id]' LIMIT 1");
// удаление рейтинга файла
mysql_query("DELETE FROM `rating_files` WHERE `uid` = '$files[id]'");
// удаление комментариев файла
mysql_query("DELETE FROM `fo_komm` WHERE `uid` = '$files[id]'");
}
// удаление подраздела
mysql_query("DELETE FROM `fo_pod` WHERE `id` = '$del' LIMIT 1");
header('Location: admin.php?do=fo_podrazdel');
} else {
err('Подраздела не существует!');
}
}
echo '<fieldset>
<FORM method="POST" action="admin.php?do=fo_podrazdel">
<label>Новый подраздел:</label><br/>
<input type="text" name="nazv"/>
<br/>
<label>В разделе:</label><br/>
<select name="r">';
$razdels = mysql_query("SELECT * FROM `fo_cat`");
while($sel = mysql_fetch_assoc($razdels)) {
echo '<option value="' . $sel['id'] . '">' . $sel['title'] . '</option>';
}
echo '</select>
<br/>
<label>Разрешить загружать:</label><br/>
<select name="forms">
<option value="pictures">Изображения</option>
<option value="music">Музыка</option>
<option value="video">Видео</option>
<option value="theme">Темы</option>
<option value="game">Приложения</option>
<option value="archive">Архивы</option>
<option value="flash">Флэш</option>
<option value="other">Книги</option>
</select>
<br/>
<input type="submit" name="add" value="Создать"/>
</FORM>
</fieldset>';
$view = mysql_query("SELECT * FROM `fo_cat` ORDER BY `id` ASC");
if (mysql_num_rows($view) != FALSE) {
while($q = mysql_fetch_assoc($view)) {
echo $div_menu . $q['title'] . $div_end;
$in_view = mysql_query("SELECT `fo_pod`.*,(SELECT COUNT(*) FROM `fo_files` WHERE `fo_files`.`cat` = `fo_pod`.`id`) AS c FROM `fo_pod` WHERE `fo_pod`.`cid` = '$q[id]' ORDER BY `id` ASC");
$i = 0;
if (mysql_num_rows($in_view) != FALSE) {
while($a = mysql_fetch_assoc($in_view)) {
$del = ' <a href="admin.php?do=fo_podrazdel&del='.$a['id'].'"><img src="../ico/delete.gif" alt=""/></a> ';
$ed = '<a href="admin.php?do=edit&e='.$a['id'].'"><img src="../ico/edit.gif" alt=""/></a>';
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
echo $ed . $del . $a['title'] . ' (' . $a['c'] . ')' . $div_end;
}
} else {
echo '(Пусто)<br/>';
}
}
} else {
echo 'Подразделы не созданы!<br/>';
}
echo $div_end;
break;
// редактирования подраздела
case edit:
echo $div_title . 'Изменить' . $div_end . $div_left;
$e = my_int($_GET['e']);
// завершение редактирования
if (isset($_POST['ok'])) {
$nazv = trim(mysql_real_escape_string(check($_POST['nazv'])));
$forms = trim(mysql_real_escape_string(check($_POST['forms'])));
$sql_1 = mysql_query("SELECT * FROM `fo_pod` WHERE `id` = '$e' LIMIT 1");
$insql = mysql_fetch_array($sql_1);
$sql_2 = mysql_query("SELECT `id` FROM `fo_pod` WHERE `cid` = '$insql[cid]' AND `id` != '$e' AND `title` = '$nazv' LIMIT 1");
if (mysql_num_rows($sql_2) != FALSE) {
err('Подраздел с таким названием уже создан!');
} elseif (empty($nazv)) {
err('Не заполнено название подраздела!');
} elseif (preg_match('/(php|pl|htaccess)/i', $formats)) {
err('Вы указали запрещенные форматы!');
} elseif (mysql_num_rows($sql_1) == FALSE) {
err('Подраздела не существует!');
} else {
mysql_query("UPDATE `fo_pod` SET `title` = '$nazv', `formats` = '$forms' WHERE `id` = '$e' LIMIT 1");
header('Location: admin.php?do=fo_podrazdel');
}
}
$empty = mysql_query("SELECT `title`, `formats` FROM `fo_pod` WHERE `id` = '$e' LIMIT 1");
if (mysql_num_rows($empty) != FALSE) {
$i = mysql_fetch_assoc($empty);
if ($i['formats'] == 'pictures') $sl_1 = 'selected';
elseif ($i['formats'] == 'music') $sl_2 = 'selected';
elseif ($i['formats'] == 'video') $sl_3 = 'selected';
elseif ($i['formats'] == 'theme') $sl_4 = 'selected';
elseif ($i['formats'] == 'game') $sl_5 = 'selected';
elseif ($i['formats'] == 'archive') $sl_6 = 'selected';
elseif ($i['formats'] == 'flash') $sl_7 = 'selected';
elseif ($i['formats'] == 'other') $sl_8 = 'selected';
echo '<fieldset>
<FORM method="POST" action="admin.php?do=edit&e='.$e.'">
<label>Изменить имя:</label><br/>
<input type="text" name="nazv" value="' . $i['title'] . '"/>
<br/>
<label>Разрешить загружать:</label><br/>
<select name="forms">
<option ' . $sl_1 . ' value="pictures">Изображения</option>
<option ' . $sl_2 . ' value="music">Музыка</option>
<option ' . $sl_3 . ' value="video">Видео</option>
<option ' . $sl_4 . ' value="theme">Темы</option>
<option ' . $sl_5 . ' value="game">Приложения</option>
<option ' . $sl_6 . ' value="archive">Архивы</option>
<option ' . $sl_7 . ' value="flash">Флэш</option>
<option ' . $sl_8 . ' value="other">Книги</option>
</select>
<br/>
<input type="submit" name="ok" value="Изменить"/>
</FORM>
</fieldset>';
} else {
err('Подраздела не существует.');
}
echo $div_end;
break;
// настройка З.О.
case fo_sys:
echo $div_title . 'Подразделы' . $div_end . $div_left;
$set = mysql_fetch_array(mysql_query("SELECT `fo_moder`, `fo_limit` FROM `setting` WHERE `ids` = '1'"));
if ($set[0] == 0) $_mod_1 = 'checked="checked"';
elseif ($set[0] == 1) $_mod_2 = 'checked="checked"';
if (isset($_GET['ok'])) msg('Настройки успешно сохранены!');
if (isset($_POST['save'])) {
$mod = my_int($_POST['mod']);
$limit = my_int($_POST['limit']);
mysql_query("UPDATE `setting` SET `fo_moder` = '$mod', `fo_limit` = '$limit' WHERE `ids` = '1'");
header('Location: admin.php?do=fo_sys&ok');
}
$mod_files = mysql_result(mysql_query("SELECT COUNT(*) FROM `fo_files` WHERE `moder` = '1'"), 0);
echo '<fieldset>
<FORM method="POST" action="admin.php?do=fo_sys">
' . $div_razdel . '
<label>Модерация файлов:</label>
' . $div_end . $div_tworazdel . '
<input type="radio" name="mod" ' . $_mod_2 . ' value="1"/> Включить
<br/>
<input type="radio" name="mod" ' . $_mod_1 . ' value="0"/> Выключить
' . $div_end . $div_razdel . '
<label>Лимит загрузки:</label>
' . $div_end . $div_tworazdel . '
<input type="text" name="limit" size="2" maxlength="2" value="' . $set[1] . '"/> Mb.
' . $div_end . '
<input type="submit" name="save" value="Сохранить"/>
</FORM>
</fieldset>
» <a href="admin.php?do=fo_moder">Файлы на модерации</a> (' . $mod_files . ')';
echo $div_end;
break;
case fo_moder:
echo $div_title . 'Файлы на модерации' . $div_end . $div_left;
if (isset($_GET['yes'])) {
$yes = my_int($_GET['yes']);
$sql = mysql_query("SELECT `id` FROM `fo_files` WHERE `id` = '$yes' AND `moder` = '1' LIMIT 1");
if (mysql_num_rows($sql) != FALSE) {
mysql_query("UPDATE `fo_files` SET `moder` = '0' WHERE `id` = '$yes' LIMIT 1");
header('Location: admin.php?do=fo_moder');
} else {
err('Такого файла нет на модерации!');
}
}
if (isset($_GET['no'])) {
$no = my_int($_GET['no']);
$sql = mysql_query("SELECT * FROM `fo_files` WHERE `id` = '$no' AND `moder` = '1' LIMIT 1");
if (mysql_num_rows($sql) != FALSE) {
$inf = mysql_fetch_assoc($sql);
if (file_exists($inf['url'])) unlink($inf['url']);
mysql_query("DELETE FROM `fo_files` WHERE `id` = '$no' AND `moder` = '1' LIMIT 1");
header('Location: admin.php?do=fo_moder');
} else {
err('Такого файла нет на модерации!');
}
}
$look = mysql_result(mysql_query("SELECT COUNT(*) FROM `fo_files` WHERE `moder` = '1'"), 0);
$n = new navigator($look, 10, '?do=fo_moder&');
$view = mysql_query("SELECT * FROM `fo_files` WHERE `moder` = '1' ORDER BY `id` DESC {$n->limit}");
if ($look != FALSE) {
$i = 0;
while($a = mysql_fetch_assoc($view)) {
$ex = pathinfo($a['url']);
$ext = strtolower($ex['extension']);
if ($ext == '3gp') $format = '<img src="img/3gp.gif" alt="*"/> ';
elseif ($ext == 'avi') $format = '<img src="img/avi.gif" alt="*"/> ';
elseif ($ext == 'gif') $format = '<img src="img/gif.gif" alt="*"/> ';
elseif ($ext == 'jpg') $format = '<img src="img/jpg.gif" alt="*"/> ';
elseif ($ext == 'mp3') $format = '<img src="img/mp3.gif" alt="*"/> ';
elseif ($ext == 'zip') $format = '<img src="img/zip.gif" alt="*"/> ';
elseif ($ext == 'jar') $format = '<img src="img/jar.gif" alt="*"/> ';
else $format = '<img src="img/unknown.gif" alt="*"/> ';
#######################
$yes = ' <a href="admin.php?do=fo_moder&yes='.$a['id'].'"><span class="next"><img src="../ico/ok.gif" alt=""/>доб</a></span>';
$no = ' <a href="admin.php?do=fo_moder&no='.$a['id'].'"><span class="next"><img src="../ico/delete.gif" alt=""/>уд</a></span>';
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
echo $format . '<a href="'.$a['url'].'">' . $a['title'] . '</a>' . $yes . $no . $div_end;
}
echo $n->navi();
} else {
echo 'Файлов на модерации нет!<br/>';
}
echo $div_end;
break;
}
echo '<b>« <a href="../admin.php?">Админ-панель</a></b>';
include '../foot.php';
?>