Файл: fo/admin.php
Строк: 341
<?php
require '../lang_inc.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?lg='.$lg.'&' . $ref);
die();
}
$do = isset($_GET['do']) ? $_GET['do'] : NULL;
switch($do) {
default:
echo $div_left . $div_title . ''.$lang['Зона обмена'].'' . $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&lg='.$lg.'">'.$lang['Разделы'].'</a> (' . $num_r . ')<br/>
» <a href="admin.php?do=fo_podrazdel&lg='.$lg.'">'.$lang['Подразделы'].'</a> (' . $num_p . ')<br/>
» <a href="admin.php?do=fo_sys&lg='.$lg.'">'.$lang['Система'].'</a>
</fieldset>';
echo $div_end;
break;
// разделы обменника
case fo_razdel:
echo $div_title . ''.$lang['Разделы'].'' . $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(''.$lang['Не заполнено название раздела'].'!');
} elseif (mysql_num_rows($empty) != FALSE) {
err(''.$lang['Раздел с таким названием уже создан'].'!');
} else {
mysql_query("INSERT INTO `fo_cat` SET `title` = '$nazv'");
header('Location: admin.php?do=fo_razdel&lg='.$lg.'');
}
}
// удаление раздела
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&lg='.$lg.'');
} else {
err(''.$lang['Раздела не существует'].'!');
}
}
// завершение редактирования
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(''.$lang['Не заполнено название раздела'].'!');
} elseif (mysql_num_rows($sql_2) != FALSE) {
err(''.$lang['Раздел с таким названием уже создан'].'!');
} elseif (mysql_num_rows($sql_1) == FALSE) {
err(''.$lang['Раздела не существует'].'!');
} else {
mysql_query("UPDATE `fo_cat` SET `title` = '$nazv' WHERE `id` = '$idr' LIMIT 1");
header('Location: admin.php?do=fo_razdel&lg='.$lg.'');
}
}
// редактирование раздела
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&lg='.$lg.'">
<label>'.$lang['Изменить имя'].':</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="'.$lang['Изменить'].'"/>
</FORM>
</fieldset>';
} else {
err(''.$lang['Раздела не существует'].'!');
}
} else {
echo '<fieldset>
<FORM method="POST" action="admin.php?do=fo_razdel&lg='.$lg.'">
<label>'.$lang['Новый раздел'].':</label><br/>
<input type="text" name="nazv"/>
<br/>
<input type="submit" name="add" value="'.$lang['Создать'].'"/>
</FORM>
</fieldset>';
}
$look = mysql_result(mysql_query("SELECT COUNT(*) FROM `fo_cat`"), 0);
$n = new navigator($look, 10, '?do=fo_razdel&lg='.$lg.'&');
$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'].'&lg='.$lg.'"><img src="../ico/delete.gif" alt=""/></a> ';
$ed = '<a href="admin.php?do=fo_razdel&ed='.$a['id'].'&lg='.$lg.'"><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 ''.$lang['Разделы не созданы'].'!<br/>';
}
echo $div_end;
break;
// подразделы
case fo_podrazdel:
echo $div_title . ''.$lang['Подразделы'].'' . $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(''.$lang['Не заполнено название подраздела'].'!');
} elseif (mysql_num_rows($empty) != FALSE) {
err(''.$lang['Подраздел с таким названием уже создан'].'!');
} elseif (preg_match('/(php|pl|htaccess)/i', $formats)) {
err(''.$lang['Вы указали запрещенные форматы'].'!');
} elseif (empty($r)) {
err(''.$lang['Не выбран раздел'].'!');
} else {
$ins = "INSERT INTO `fo_pod` SET `cid` = '$r', `title` = '$nazv', `formats` = '$forms'";
if (mysql_query($ins)) {
header('Location: admin.php?do=fo_podrazdel&lg='.$lg.'');
} 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&lg='.$lg.'');
} else {
err(''.$lang['Подраздела не существует'].'!');
}
}
echo '<fieldset>
<FORM method="POST" action="admin.php?do=fo_podrazdel&lg='.$lg.'">
<label>'.$lang['Новый подраздел'].':</label><br/>
<input type="text" name="nazv"/>
<br/>
<label>'.$lang['В разделе'].':</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>'.$lang['Разрешить загружать'].':</label><br/>
<select name="forms">
<option value="pictures">'.$lang['Изображения'].'</option>
<option value="music">'.$lang['Музыка'].'</option>
<option value="video">'.$lang['Видео'].'</option>
<option value="theme">'.$lang['Темы'].'</option>
<option value="game">'.$lang['Приложения'].'</option>
<option value="archive">'.$lang['Архивы'].'</option>
<option value="flash">'.$lang['Флэш'].'</option>
<option value="other">'.$lang['Книги'].'</option>
</select>
<br/>
<input type="submit" name="add" value="'.$lang['Создать'].'"/>
</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'].'&lg='.$lg.'"><img src="../ico/delete.gif" alt=""/></a> ';
$ed = '<a href="admin.php?do=edit&e='.$a['id'].'&lg='.$lg.'"><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 '('.$lang['Пусто'].')<br/>';
}
}
} else {
echo ''.$lang['Подразделы не созданы'].'!<br/>';
}
echo $div_end;
break;
// редактирования подраздела
case edit:
echo $div_title . ''.$lang['Изменить'].'' . $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(''.$lang['Подраздел с таким названием уже создан'].'!');
} elseif (empty($nazv)) {
err(''.$lang['Не заполнено название подраздела'].'!');
} elseif (preg_match('/(php|pl|htaccess)/i', $formats)) {
err(''.$lang['Вы указали запрещенные форматы'].'!');
} elseif (mysql_num_rows($sql_1) == FALSE) {
err(''.$lang['Подраздела не существует'].'!');
} else {
mysql_query("UPDATE `fo_pod` SET `title` = '$nazv', `formats` = '$forms' WHERE `id` = '$e' LIMIT 1");
header('Location: admin.php?do=fo_podrazdel&lg='.$lg.'');
}
}
$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.'&lg='.$lg.'">
<label>'.$lang['Изменить имя'].':</label><br/>
<input type="text" name="nazv" value="' . $i['title'] . '"/>
<br/>
<label>'.$lang['Разрешить загружать'].':</label><br/>
<select name="forms">
<option ' . $sl_1 . ' value="pictures">'.$lang['Изображения'].'</option>
<option ' . $sl_2 . ' value="music">'.$lang['Музыка'].'</option>
<option ' . $sl_3 . ' value="video">'.$lang['Видео'].'</option>
<option ' . $sl_4 . ' value="theme">'.$lang['Темы'].'</option>
<option ' . $sl_5 . ' value="game">'.$lang['Приложения'].'</option>
<option ' . $sl_6 . ' value="archive">'.$lang['Архивы'].'</option>
<option ' . $sl_7 . ' value="flash">'.$lang['Флэш'].'</option>
<option ' . $sl_8 . ' value="other">'.$lang['Книги'].'</option>
</select>
<br/>
<input type="submit" name="ok" value="'.$lang['Изменить'].'"/>
</FORM>
</fieldset>';
} else {
err(''.$lang['Подраздела не существует'].'.');
}
echo $div_end;
break;
// настройка З.О.
case fo_sys:
echo $div_title . ''.$lang['Подразделы'].'' . $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(''.$lang['Настройки успешно сохранены'].'!');
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&lg='.$lg.'');
}
$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&lg='.$lg.'">
' . $div_razdel . '
<label>'.$lang['Модерация файлов'].':</label>
' . $div_end . $div_tworazdel . '
<input type="radio" name="mod" ' . $_mod_2 . ' value="1"/> '.$lang['Включить'].'
<br/>
<input type="radio" name="mod" ' . $_mod_1 . ' value="0"/> '.$lang['Выключить'].'
' . $div_end . $div_razdel . '
<label>'.$lang['Лимит загрузки'].':</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="'.$lang['Сохранить'].'"/>
</FORM>
</fieldset>
» <a href="admin.php?do=fo_moder&lg='.$lg.'">'.$lang['Файлы на модерации'].'</a> (' . $mod_files . ')';
echo $div_end;
break;
case fo_moder:
echo $div_title . ''.$lang['Файлы на модерации'].'' . $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&lg='.$lg.'');
} else {
err(''.$lang['Такого файла нет на модерации'].'!');
}
}
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&lg='.$lg.'');
} else {
err(''.$lang['Такого файла нет на модерации'].'!');
}
}
$look = mysql_result(mysql_query("SELECT COUNT(*) FROM `fo_files` WHERE `moder` = '1'"), 0);
$n = new navigator($look, 10, '?do=fo_moder&lg='.$lg.'&');
$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'].'&lg='.$lg.'"><span class="next"><img src="../ico/ok.gif" alt=""/>'.$lang['доб'].'</a></span>';
$no = ' <a href="admin.php?do=fo_moder&no='.$a['id'].'&lg='.$lg.'"><span class="next"><img src="../ico/delete.gif" alt=""/>'.$lang['уд'].'</a></span>';
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
echo $format . '<a href="'.$a['url'].'&lg='.$lg.'">' . $a['title'] . '</a>' . $yes . $no . $div_end;
}
echo $n->navi();
} else {
echo ''.$lang['Файлов на модерации нет'].'!<br/>';
}
echo $div_end;
break;
}
echo '<b>« <a href="../admin.php?lg='.$lg.'">'.$lang['Админ-панель'].'</a></b>';
include '../foot.php';
?>