Файл: apanel.php
Строк: 1650
<?php
// mod Gemorroj
@set_time_limit(99999);
ignore_user_abort(true);
$HeadTime = microtime(true);
require 'moduls/config.php';
require 'moduls/header.php';
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
mysql_query('REPLACE INTO `loginlog` SET `time` = UNIX_TIMESTAMP(), `access_num` = 0, `id` = 1', $mysql);
if (mysql_result(mysql_query('SELECT COUNT(1) FROM `loginlog`', $mysql), 0) > 21) {
mysql_query('DELETE FROM `loginlog` WHERE `id` <> 1 ORDER BY `id` LIMIT 1', $mysql);
}
###################################################
if ($_SESSION['autorise'] != $setup['password'] || $_SESSION['ipu'] != $_SERVER['REMOTE_ADDR']) {
error($setup['hackmess']);
}
$action = isset($_GET['action']) ? $_GET['action'] : '';
switch ($action) {
case 'exit':
session_destroy();
echo 'Вы вышли из админки<br/><a href="index.php">Загрузки</a>';
break;
default:
echo '<div class="mainzag">Админка</div>';
if(!file('moduls/class/marker.png')) echo '<div class="row2"><strong>Отсутствует файл moduls/marker.png , это может повлечь за собой не возможность создавать скриншоты</strong></div>';
echo'<div class="row"><a href="apanel_news.php">Новости</a> (' . intval(mysql_result(mysql_query('SELECT COUNT(1) FROM `news`', $mysql), 0)) . ')</div>
<div class="mainzag">Файлы</div>
<div class="row"><a href="apanel_index.php">Файловый менеджер</a></div>
<div class="row"><a href="apanel.php?action=upload">Upload файлов</a></div>
<div class="row"><a href="apanel.php?action=import">Импорт файлов</a></div>
<div class="mainzag">База данных</div>
<div class="row"><a href="apanel_scan.php">Полное обновление БД</a></div>
<div class="row"><a href="apanel.php?action=rot">Очистка БД от мусора</a></div>
<div class="row"><a href="apanel.php?action=cleankomm">Очистка комментариев к файлам</a></div>
<div class="row"><a href="apanel.php?action=cleankomm_news">Очистка комментариев к новостям</a></div>
<div class="row"><a href="apanel.php?action=optm">Оптимизация БД</a></div>
<div class="row"><a href="apanel.php?action=clean">Очистка БД</a></div>
<div class="mainzag">Система</div>
<div class="row"><a href="apanel.php?action=setting">Настройки</a></div>
<div class="row"><a href="apanel.php?action=modules">Модули</a></div>
<div class="row"><a href="apanel.php?action=sec">Безопасность</a></div>
<div class="row"><a href="apanel.php?action=log">Лог авторизаций</a></div>
<div class="mainzag">Реклама</div>
<div class="row"><a href="apanel.php?action=84">Реклама и баннеры</a></div>
<div class="row"><a href="apanel.php?action=adv_link">Рекламные ссылки</a> (' . intval(mysql_result(mysql_query('SELECT COUNT(1) FROM `reklames` WHERE `stat`="2"', $mysql), 0)) . ')</div>
<div class="mainzag">Разное</div>
<div class="row"><a href="apanel.php?action=id3">MP3 теги</a></div>
<div class="row"><a href="apanel.php?action=mark">Маркер картинок</a></div>
<div class="row"><a href="apanel.php?action=library">Библиотека</a></div>
<div class="row"><a href="apanel.php?action=dopolne">Дополнительно</a></div>
<div class="row"><a href="apanel.php?action=exit">Выход</a></div>';
break;
case 'library':
if ($_POST) {
$lib = abs($_POST['lib']);
$lib_str = abs($_POST['lib_str']);
if (
mysql_query('REPLACE INTO setting(name, value) VALUES("lib", "' . $lib . '")', $mysql)
&&
mysql_query('REPLACE INTO setting(name, value) VALUES("lib_str", "' . $lib_str . '")', $mysql)
) {
echo '<div class="row">Настройки изменены<br/></div>';
} else {
error('Ошибка: ' . mysql_error($mysql));
}
} else {
echo '<div class="row">
<form action="apanel.php?action=library" method="post">
<div class="row">
Максимальное число символов на страницу:<br/>
<input class="enter" name="lib" type="text" value="' . $setup['lib'] . '"/><br/>
Максимальное число символов на одну строку:<br/>
<input class="enter" name="lib_str" type="text" value="' . $setup['lib_str'] . '"/><br/>
<input class="buttom" type="submit" value="Готово"/>
</div>
</form>
</div>';
}
break;
case 'mark':
if (!$_POST) {
echo '<form action="apanel.php?action=mark" method="post">
<div class="mainzag">Маркер картинок<br/></div>
<div class="row">
<input name="marker" type="radio" value="1" ' . ($setup['marker'] == 1 ? 'checked="checked"' : '') . '/>Вкл
<input name="marker" type="radio" value="0" ' . ($setup['marker'] == 0 ? 'checked="checked"' : '') . '/>Выкл
<input name="marker" type="radio" value="2" ' . ($setup['marker'] == 2 ? 'checked="checked"' : '') . '/>Только в общем просмотре<br/>
Расположение<br/>
<select name="marker_where">
<option value="top"' . ($setup['marker_where'] == 'top' ? ' selected="selected"' : '') . '>вверху</option>
<option value="foot"' . ($setup['marker_where'] == 'foot' ? ' selected="selected"' : '') . '>внизу</option>
</select><br/>
<input class="buttom" type="submit" value="Готово"/>
</div>
</form>
<form action="apanel.php?action=mark" method="post">
<div class="mainzag">На картинки будет нанесена указанная надпись, удалить ее будет невозможно<br/></div>
<div class="row">
<input name="text" type="text"/><br/>
Расположение<br/>
<select name="y">
<option value="top">вверху</option>
<option value="foot">внизу</option>
</select><br/>
Шрифт<br/>
<input name="size" type="text" size="3" value="12"/><br/>
Цвет<br/>
<input name="color[]" type="text" size="3" maxlength="3" value="200"/>
<input name="color[]" type="text" size="3" maxlength="3" value="200"/>
<input name="color[]" type="text" size="3" maxlength="3" value="200"/><br/>
<input class="buttom" type="submit" value="Готово"/>
</div>
</form>';
} else {
if (isset($_POST['marker'])) {
if (
mysql_query('REPLACE INTO setting(name, value) VALUES("marker", "' . intval($_POST['marker']) . '")', $mysql)
&&
mysql_query('REPLACE INTO setting(name, value) VALUES("marker_where", "' . ($_POST['marker_where'] == 'top' ? 'top' : 'foot') . '")', $mysql)
) {
echo 'Настройки изменены';
} else {
echo 'Ошибка: ' . mysql_error($mysql);
}
} else {
$q = mysql_query('SELECT `path` FROM `files` WHERE `path` LIKE "%.jpg" OR `path` LIKE "%.jpe" OR `path` LIKE "%.jpeg" OR `path` LIKE "%.gif" OR `path` LIKE "%.png"', $mysql);
$all = mysql_num_rows($q);
$i = $tmp = 0;
while ($arr = mysql_fetch_row($q)) {
$tmp++;
if ($tmp == 1000) {
$tmp = 0;
// такая вот хуита... =( забиваем буфер
echo 'scan ' . htmlspecialchars($arr[0], ENT_NOQUOTES) . '...<br/>' . str_repeat(' ', 2048);
ob_flush();
}
chmod($arr[0], 0666); // fix
list($w, $h, $type) = getimagesize($arr[0]);
switch ($type) {
case 1:
$pic = imagecreatefromgif($arr[0]);
break;
case 2:
$pic = imagecreatefromjpeg($arr[0]);
break;
case 3:
$pic = imagecreatefrompng($arr[0]);
break;
default:
$pic = false;
break;
}
if ($pic) {
$f = false;
// цвет
$color = imagecolorallocate($pic, $_POST['color'][0], $_POST['color'][1], $_POST['color'][2]);
// верх/низ
if ($_POST['y'] == 'foot') {
$y = $h - ($_POST['size'] * 1.5);
} else {
$y = $_POST['size'];
}
/*
imagestring($pic, $_POST['size'], ($w/2)-(strlen($_POST['text'])*3), $y, $_POST['text'], $color);
*/
imagettftext($pic, $_POST['size'], 0, ($w/2) - (iconv_strlen($_POST['text']) * 3), $y, $color, 'moduls/class/font.ttf', $_POST['text']);
switch ($type) {
case 1:
$f = imagegif($pic, $arr[0]);
break;
case 2:
$f = imagejpeg($pic, $arr[0], 100);
break;
case 3:
$f = imagepng($pic, $arr[0], 100);
break;
}
if ($f) {
$i++;
}
}
}
echo 'Всего картинок: ' . $all . ', промаркированы: ' . $i;
}
}
break;
// редактор MP3 тегов
case 'id3':
include 'moduls/PEAR/Id.php';
include 'moduls/class/mp3.class.php';
$id3 = new MP3_Id();
$genres = $id3->genres();
if (!$_POST) {
if ($id) {
$tmp = mysql_fetch_row(mysql_query('SELECT `path` FROM `files` WHERE `id`=' . $id, $mysql));
$id3->read($tmp[0]);
$name = str_to_utf8($id3->name);
$artists = str_to_utf8($id3->artists);
$album = str_to_utf8($id3->album);
$year = str_to_utf8($id3->year);
$track = str_to_utf8($id3->track);
$genre = str_to_utf8($id3->genre);
$comment = str_to_utf8($id3->comment);
echo '<div class="mainzag">Редактор MP3 тегов<br/></div>
<div class="row">
<form action="apanel.php?action=id3&id=' . $id . '" method="post">
<div class="row">
Название<br/>
<input name="name" type="text" value="' . $name . '"/><br/>
Артист<br/>
<input name="artists" type="text" value="' . $artists . '"/><br/>
Альбом<br/>
<input name="album" type="text" value="' . $album . '"/><br/>
Год<br/>
<input name="year" type="text" value="' . $year . '"/><br/>
Трек<br/>
<input name="track" type="text" value="' . $track . '"/><br/>
Жанр<br/>
<select name="genre"><option value="' . $genre . '"/>' . $genre . '</option>';
foreach ($genres as $var) {
if ($var == $genre) {
continue;
}
echo '<option value="' . htmlspecialchars($var) . '">' . htmlspecialchars($var, ENT_NOQUOTES) . '</option>';
}
echo '</select><br/>
Комментарии<br/>
<textarea name="comment" rows="2" cols="32">' . $comment . '</textarea><br/>
<input class="buttom" type="submit" value="Задать"/>
</div>
</form>
</div>';
} else {
echo '<div class="mainzag">Модуль задаст всем MP3 файлам указанные теги. Если поле пустое, то тег изменяться не будет</div>
<div class="row">
<form action="apanel.php?action=id3" method="post">
<div class="row">
Название<br/>
<input name="name" type="text"/><br/>
Артист<br/>
<input name="artists" type="text"/><br/>
Альбом<br/>
<input name="album" type="text"/><br/>
Год<br/>
<input name="year" type="text"/><br/>
Трек<br/>
<input name="track" type="text"/><br/>
Жанр<br/>
<select name="genre"><option value=""></option>';
foreach ($genres as $var) {
echo '<option value="' . htmlspecialchars($var) . '">' . htmlspecialchars($var, ENT_NOQUOTES) . '</option>';
}
echo '</select><br/>
Комментарии<br/>
<textarea name="comment" rows="2" cols="32"></textarea><br/>
<input class="buttom" type="submit" value="Задать"/>
</div>
</form>
</div>';
}
} else {
if ($id) {
$tmp = mysql_fetch_row(mysql_query('SELECT `path` FROM `files` WHERE `id` = ' . $id, $mysql));
chmod($tmp[0], 0666); // fix
$id3->read($tmp[0]);
$name = iconv('utf-8', 'windows-1251', $_POST['name']);
$artists = iconv('utf-8', 'windows-1251', $_POST['artists']);
$album = iconv('utf-8', 'windows-1251', $_POST['album']);
$year = iconv('utf-8', 'windows-1251', $_POST['year']);
$track = iconv('utf-8', 'windows-1251', $_POST['track']);
$genre = iconv('utf-8', 'windows-1251', $_POST['genre']);
$comment = iconv('utf-8', 'windows-1251', $_POST['comment']);
// Записываем Idv2 теги
$mp3 = new mp3($tmp[0]);
$mp3->striptags(); // bug
$mp3->setIdv3_2($track, $name, $artists, $album, $year, $genre, $comment, $artists, $artists, $comment, 'http://' . $_SERVER['HTTP_HOST'], '');
$mp3->save($tmp[0]);
// записываем Idv1 теги
$id3->name = $name;
$id3->artists = $artists;
$id3->album = $album;
$id3->year = $year;
$id3->track = $track;
$id3->genre = $genre;
$id3->comment = $comment;
$id3->write();
echo 'Теги изменены';
} else {
if ($_POST['name'] != '') {
$_POST['name'] = iconv('utf-8', 'windows-1251', $_POST['name']);
}
if ($_POST['artists'] != '') {
$_POST['artists'] = iconv('utf-8', 'windows-1251', $_POST['artists']);
}
if ($_POST['album'] != '') {
$_POST['album'] = iconv('utf-8', 'windows-1251', $_POST['album']);
}
if ($_POST['year'] != '') {
$_POST['year'] = iconv('utf-8', 'windows-1251', $_POST['year']);
}
if ($_POST['track'] != '') {
$_POST['track'] = iconv('utf-8', 'windows-1251', $_POST['track']);
}
if ($_POST['genre'] != '') {
$_POST['genre'] = iconv('utf-8', 'windows-1251', $_POST['genre']);
}
if ($_POST['comment'] != '') {
$_POST['comment'] = iconv('utf-8', 'windows-1251', $_POST['comment']);
}
$all = 0;
$q = mysql_query('SELECT `path` FROM `files` WHERE `dir` = "0" AND `path` LIKE("%.mp3")', $mysql);
while ($f = mysql_fetch_row($q)) {
// Записываем Idv2 теги
$mp3 = new mp3($f[0]);
//$mp3->striptags(); // bug
$mp3->setIdv3_2($_POST['track'], $_POST['name'], $_POST['artists'], $_POST['album'], $_POST['year'], $_POST['genre'], $_POST['comment'], $_POST['artists'], $_POST['artists'], $_POST['comment'], 'http://' . $_SERVER['HTTP_HOST'], '');
$mp3->save($f[0]);
$id3->read($f[0]);
if ($_POST['name'] != '') {
$id3->name = $_POST['name'];
}
if ($_POST['artists'] != '') {
$id3->artists = $_POST['artists'];
}
if ($_POST['album'] != '') {
$id3->album = $_POST['album'];
}
if ($_POST['year'] != '') {
$id3->year = $_POST['year'];
}
if ($_POST['track'] != '') {
$id3->track = $_POST['track'];
}
if ($_POST['genre'] != '') {
$id3->genre = $_POST['genre'];
}
if ($_POST['comment'] != '') {
$id3->comment = $_POST['comment'];
}
$id3->write();
$all++;
}
echo 'Теги заданы для ' . $all . ' файлов';
}
}
break;
######################################ЛОГ######################################################
case 'pos':
$file_info = mysql_fetch_assoc(mysql_query('SELECT `name`, `path` FROM `files` WHERE `id` = ' . $id, $mysql));
if (!is_dir($file_info['path'])) {
error('Error');
}
//$file_info['name'] = str_replace('*','',$file_info['name']);
if ($_GET['to'] == 'down') {
$query = 'UPDATE `files` SET `priority` = `priority` - 1 WHERE `id` = ' . $id;
} else if ($_GET['to'] == 'up') {
$query = 'UPDATE `files` SET `priority` = `priority` + 1 WHERE `id` = ' . $id;
}
if (mysql_query($query, $mysql)) {
echo '<div class="mainzag">Приоритет каталога ' . $file_info['name'] . ' изменен!</div>';
} else {
echo '<div class="minizag">Ошибка при изменении приоритета</div>';
}
break;
######################################ЛОГ######################################################
case 'rot':
ob_implicit_flush(1);
$d = $tmp = 0;
$r = mysql_query('SELECT `id`, `path` FROM `files`', $mysql);
while ($a = mysql_fetch_row($r)) {
$tmp++;
if ($tmp > 1000) {
$tmp = 0;
echo 'scan ' . htmlspecialchars($a[1], ENT_NOQUOTES) . str_repeat(' ', 2048) . '...<br/>';
ob_flush();
}
if (!file_exists($a[1])) {
mysql_query('DELETE FROM `files` WHERE `id` = ' . $a[0], $mysql);
mysql_query('DELETE FROM `komments` WHERE `file_id` = ' . $a[0], $mysql);
dir_count($a[1], false);
$d++;
// заглушка
echo '<strong class="no">DEL ' . htmlspecialchars($a[1], ENT_NOQUOTES) . '...<br/></strong>';
ob_flush();
}
}
echo '<div class="mainzag">База данных успешно обновлена!</div><div class="row">Удалено неверных записей: ' . $d . '</div>';
break;
######################################ЛОГ######################################################
case 'dopolne':
echo '<div class="row"><a href="apanel_count.php?action=vendor">Обновить производителей для java приложений</a><br/></div>';
break;
######################################ЛОГ######################################################
case 'flash':
$file_info = mysql_fetch_assoc(mysql_query('SELECT `path` FROM `files` WHERE `id` = ' . $id . ' AND `dir` = "1"', $mysql));
if (!is_dir($file_info['path'])) {
error('Такой категории не существует.');
}
echo '<div class="row">Будет пересканирована директория <strong>' . $file_info['path'] . '</strong><br/>Для продолжения нажмите на <a class="yes" href="apanel_scan.php?scan=' . rawurlencode($file_info['path']) . '">ЭТУ</a> ссылку<br/></div>';
break;
######################################ЛОГ######################################################
case 'log':
$q = mysql_query('SELECT * FROM `loginlog` WHERE `id` > 1 ORDER BY `time` DESC', $mysql);
echo '<div class="mainzag">Лог последних 20 посещений админки([UserAgent] [IP] [Time]):</div><div class="row">';
while ($log = mysql_fetch_assoc($q)) {
echo '[' . htmlspecialchars($log['ua'], ENT_NOQUOTES) . '] [' . $log['ip'] . '] [' . tm($log['time']) . ']<br/>';
}
echo '</div>';
break;
######################################ЛОГ######################################################
case 'addico':
$file_info = mysql_fetch_assoc(mysql_query('SELECT * FROM `files` WHERE `id` = ' . $id, $mysql));
if (!$_FILES)
{
echo '<div class="mainzag">Загрузка иконки к папке</div>
<div class="row">
<form action="apanel.php?action=addico&id=' . $id . '" method="post" enctype="multipart/form-data">
<div class="row">
Файл будет скопирован в назначеную папку:<br/>
<input name="ico" type="file"/><br/>
<input class="buttom" type="submit" value="Добавить"/>
</div>
</form>
</div>';
}
else
{
$name = $_FILES['ico']['name'];
$ext = pathinfo($name);
$ext = strtolower($ext['extension']);
$to = $file_info['path'] . 'folder.png';
if ($ext != 'png') {
error('Поддерживаются иконки только png формата');
}
if (file_exists($to)) {
error('Файл уже существует');
}
chmod($file_info['path'], 0777);
if (move_uploaded_file($_FILES['ico']['tmp_name'], $to)) {
echo 'Закачка иконки прошла успешно.<br/>';
chmod($to, 0644);
} else {
echo 'Закачка иконки окончилась неудачно.<br/>';
//chmod($file_info['path'], 0777);
}
}
break;
######################################ЛОГ######################################################
case 'reico':
$file_info = mysql_fetch_assoc(mysql_query('SELECT * FROM `files` WHERE `id` = ' . $id, $mysql));
if (!file_exists($file_info['path'] . 'folder.png')) {
error('Иконки к данной папке не существует');
}
chmod($file_info['path'] . 'folder.png', 0777);
if (unlink($file_info['path'] . 'folder.png')) {
echo 'Удаление иконки прошло успешно.<br/>';
} else {
echo 'Удаление иконки окончилось неудачно.<br/>';
}
break;
######################################РАСПАКОВЩИК###############################################
case 'unpack':
$file = mysql_fetch_assoc(mysql_query('SELECT * FROM `files` WHERE `id` = ' . $id, $mysql));
$dir = dirname($file['path']).'/';
chmod($folder['path'], 0777);
include 'moduls/PEAR/pclzip.lib.php';
$zip = new PclZip($file['path']);
if ($zip->extract(PCLZIP_OPT_PATH, $dir)) {
error('Ахрив распакован в ' . $dir . '<br/>Не забудьте обновить БД.');
} else {
error('Ошибка при распаковке.');
}
break;
######################################УДАЛЕНИЕ ПАПКИ######################################################
case 'redir':
if (!$setup['delete_dir']) {
error($setup['hackmess']);
}
if (!$_GET['level']) {
echo 'Будут удалены все файлы в каталоге, а также сам каталог. Продолжить?<br/><a href="apanel.php?action=redir&level=1&id=' . $id . '">Да, продолжить</a>';
} else {
$file = mysql_fetch_assoc(mysql_query('SELECT * FROM `files` WHERE `id` = ' . $id . ' ORDER BY `name`', $mysql));
if (!is_dir ($file['path'])) {
error('Такой категории не существует!');
}
$ex = explode('/', $file['path']);
$f_chmod = '';
foreach ($ex as $chmod) {
$f_chmod .= $chmod . '/';
chmod($f_chmod, 0777);
}
foreach (glob($file['path'] . '*') as $vv) {
if (is_dir($vv)) {
error('Разрешено удалять только папки с 1 уровнем вложенности!');
} else {
if (!unlink($vv)) {
error('Ошибка при удалении файла ' . htmlspecialchars($vv, ENT_NOQUOTES));
}
}
}
if (!mysql_query("DELETE FROM `files` WHERE `infolder` = '" . mysql_real_escape_string($file['path'], $mysql) . "'", $mysql)) {
error('Ошибка при удалении файлов из базы');
}
if (!rmdir($file['path'])) {
error('Ошибка при удалении каталога');
}
if (!mysql_query('DELETE FROM `files` WHERE `id` = ' . $id, $mysql)) {
error('Ошибка при удалении каталога из базы');
}
$f_chmod = '';
foreach ($ex as $chmod) {
$f_chmod .= $chmod . '/';
chmod($f_chmod.'/', 0777);
}
echo 'Каталог успешно удален!<div class="mainzag" style="color:#b00;">Внимание! Теперь следует пересчитать количество файлов в папках<br/>Для продолжения нажмите на <a href="apanel_count.php">ЭТУ</a> ссылку</div>';
}
break;
######################################УДАЛЕНИЕ ФАЙЛА###############################################
case 'refile':
if (!$setup['delete_dir']) {
error($setup['hackmess']);
}
$file = mysql_fetch_assoc(mysql_query('SELECT `path`, `hidden` FROM `files` WHERE `id` = ' . $id, $mysql));
if (!is_file ($file['path'])) {
error('Такого файла не существует!');
}
$ex = explode('/', $file['path']);
$f_chmod = '';
foreach ($ex as $chmod) {
$f_chmod .= $chmod;
if (is_dir($f_chmod)) {
$f_chmod = $f_chmod.'/';
}
@chmod($f_chmod,0777);
}
if (!mysql_query('DELETE FROM `files` WHERE `id` = ' . $id, $mysql)) {
error('Ошибка при удалении файла из базы');
}
if (!unlink($file['path'])) {
error('Ошибка при удалении файла ' . htmlspecialchars($file['path'], ENT_NOQUOTES));
}
if (!$file['hidden']) {
dir_count($file['path'], false);
}
echo 'Файл <strong>' . htmlspecialchars($file['path'], ENT_NOQUOTES) . '</strong> удален!';
break;
######################################ПЕРЕИМЕНОВАНИЕ##################################################
case 'rename':
if ($_POST) {
$eng = mysql_real_escape_string($_POST['new']['english'], $mysql);
$rus = mysql_real_escape_string($_POST['new']['russian'], $mysql);
mysql_query("UPDATE `files` SET name = '" . $eng . "', rus_name = '" . $rus . "' WHERE `id` = " . $id, $mysql);
$error = mysql_error($mysql);
if ($error) {
error('Ошибка при переименовании.<br/>' . $error);
}
echo 'Файл переименован';
} else {
$file = mysql_fetch_assoc(mysql_query('SELECT `name`, `rus_name` FROM `files` WHERE `id` = ' . $id, $mysql));
echo '<div class="mainzag">Введите новое имя:</div><div class="row"><form method="post" action="apanel.php?action=rename&id=' . $id . '"><div class="row">';
language_dir($file['name'], $file['rus_name']);
echo '<input class="buttom" type="submit" value="Готово"/></div></form></div>';
}
break;
#########################################ОЧИСТКА КОММЕНТОВ К ФАЙЛУ#########################################
case 'clearkomm':
mysql_query('DELETE FROM `komments` WHERE `file_id` = ' . $id, $mysql);
$error = mysql_error($mysql);
if ($error) {
error('Ошибка при сбросе.<br/>' . $error);
}
echo 'Комментарии удалены.';
break;
##############################################ОЧИСТКА РЕЙТИНГА К ФАЙЛУ#######################################
case 'cleareval':
if (mysql_query('UPDATE `files` SET `ips` = "", `yes` = 0, `no` = 0 WHERE `id` = ' . $id, $mysql)) {
echo 'Рейтинг удален.';
} else {
error('Ошибка при сбросе рейтинга.<br/>' . mysql_error($mysql));
}
break;
#############################################ОПТИМИЗАЦИЯ БД###########################################
case 'optm':
$q = mysql_query('SHOW TABLES', $mysql);
while ($arr = mysql_fetch_row($q)) {
mysql_query('OPTIMIZE TABLE `' . $arr[0] . '`;', $mysql);
}
echo 'Таблицы оптимизированы.';
break;
################################################ОЧИСТКА БД########################################
case 'clean':
if (!isset($_GET['level'])) {
echo 'Будут удалены все данные БД, включая описания, счетчики закачек, рейтинги и комментарии. Продолжить?<br/><a href="apanel.php?action=clean&level=1">Да, продолжить</a>';
} else {
if(mysql_query('TRUNCATE TABLE `files`;', $mysql) && mysql_query('TRUNCATE TABLE `komments`;', $mysql)) {
echo 'Таблицы очищены.<br/>';
} else {
error('Ошбка: ' . mysql_error($mysql));
}
}
break;
##########################################ОЧИСТКА КОММЕНТОВ к файлам##############################################
case 'cleankomm':
if (!$_GET['level']) {
echo 'Будут удалены все комментарии к файлам! Продолжить?<br/><a href="apanel.php?action=cleankomm&level=1">Да, продолжить</a>';
} else {
if (mysql_query('TRUNCATE TABLE `komments`;', $mysql)) {
echo 'Таблица комментариев очищена.<br/>';
} else {
error('Ошибка: ' . mysql_error($mysql));
}
}
break;
##########################################ОЧИСТКА ВСЕХ КОММЕНТОВ##############################################
case 'cleankomm_news':
if (!$_GET['level']) {
echo 'Будут удалены все комментарии к новстям! Продолжить?<br/><a href="apanel.php?action=cleankomm_news&level=1">Да, продолжить</a>';
} else {
if (mysql_query('TRUNCATE TABLE `news_komments`;', $mysql)) {
echo 'Таблица комментариев очищена.<br/>';
} else {
error('Ошибка: ' . mysql_error($mysql));
}
}
break;
case 'clean_cache':
$err = '';
$h = opendir($_GET['dir']);
while (($f = readdir($h)) !== false) {
if ($f == '.htaccess' || $f == '.' || $f == '..') {
continue;
}
//chmod($_GET['dir'].'/'.$f, 0666);
if (!unlink($_GET['dir'] . '/' . $f)) {
$err .= htmlspecialchars($_GET['dir'] . '/' . $f, ENT_NOQUOTES) . '<br/>';
}
}
if ($err) {
error('Не удалось удалить следующие файлы:<br/>' . $err);
} else {
echo 'Кэш успешно очищен.<br/>';
}
break;
#########################################ДОБАВЛЕНИЕ И ИЗМЕНЕНИЕ ОПИСАНИЯ########################################
case 'about':
$file = mysql_fetch_assoc(mysql_query('SELECT `name`, `path` FROM `files` WHERE `id` = ' . $id, $mysql));
$about = $setup['opath'] . iconv_substr($file['path'], iconv_strlen($setup['path'])) . '.txt';
if (!$_POST)
{
echo '<div class="row">Описание файла <strong>' . htmlspecialchars($file['name'], ENT_NOQUOTES) . '</strong></div>
<div class="row">
<form action="apanel.php?action=about&id=' . $id . '" method="post">
<div class="row">
<textarea class="enter" cols="70" rows="10" name="text">' . htmlspecialchars(antibb(file_get_contents($about)), ENT_NOQUOTES, 'UTF-8') . '</textarea><br/><br/>
<input class="buttom" type="submit" value="Написать"/>
</div>
</form></div>';
} else {
chmods($about);
if ($_POST['text'] == '') {
if (unlink($about)) {
echo 'Описание удалено<br/>';
} else {
error('Описание не удалено');
}
} else {
if (file_put_contents($about, nl2br(bbcode(htmlspecialchars(trim($_POST['text'])))))) {
echo 'Описание изменено<br/>';
} else {
error('Описание не изменено');
}
}
echo '<a href="apanel_index.php?id=' . $back['id'] . '">Файл-менеджер</a><br/><a href="apanel_view.php?id=' . $id . '">К описанию</a>';
}
break;
#####################################Импорт###################################################
case 'import':
if(!$_POST['coll']){
echo'<div class="mainzag">
Импорт файлов</div><div class="row">
<form action="apanel.php?action=import" method="post">
Выбериет количество файлов: <input name="coll" type="number" size="3" value="1"/><br/>
Тип:
<select name="type">
<option value="1">Разное</option>
<option value="2">Java приложения</option>
<option value="3">Фильмы</option>
</select><br/>
<input class="buttom" type="submit" value="Готово"/>
</div>
</form>';
}elseif ($_POST['coll'] && !$_POST['userfile']) {
if(int($_POST['coll']) == 0) header('Location: apanel.php?action=import');
$dirs = mysql_query('SELECT `path` FROM `files` WHERE `dir` = "1"', $mysql);
echo '
<div class="mainzag">Импорт файлов</div>
<div class="row">Сохранить в:</div>
<form action="apanel.php?action=import&a=1" method="post">
<div class="row">
<select class="buttom" name="topath">
<option value="' . $setup['path'] . '/">./</option>';
while ($item = mysql_fetch_assoc($dirs)) {
echo '<option value="' . htmlspecialchars($item['path']) . '">' . htmlspecialchars(substr(strstr($item['path'], '/'), 1), ENT_NOQUOTES) . '</option>';
}
echo '</select><br/>';
for($i=0; $i<$_POST['coll']; $i++){
echo'<div class="row">
Путь к файлу:<br/><input name="userfile[]" type="text" value="http://"/><br/>
Имя для скачивания:<br/><textarea name="name_ot[]"></textarea><br/>
Имя на русском:<br/><textarea name="rus_name[]"></textarea><br/>
Имя на английском:<br/><textarea name="name[]"></textarea><br/>';
if($_POST['type'] == 2) echo'Поддержка bluetooth:<select name="bt"><option value="1">нет</option><option value="2">есть</option></select><br/>';
if($_POST['type'] == 2) echo'Поддержка 3D: <select name="3d"><option value="1">нет</option><option value="2">есть</option></select><br/>';
if($_POST['type'] == 2 || $_POST['type'] == 3) echo'Год:<br/><input name="god[]" type="text"/><br/>';
if($_POST['type'] == 2) echo'Язык:<br/><input name="lang[]" type="text"/><br/>';
if($_POST['type'] == 2 || $_POST['type'] == 3) echo'Страна:<br/><input name="country[]" type="text"/><br/>';
if($_POST['type'] == 2) echo'Разработчик:<br/><input name="vendor[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Премьера:<br/><input name="prim[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Режиссер:<br/><input name="rejj[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Актеры:<br/><input name="akt[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Бюджет:<br/><input name="babki[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Кассовые сборы:<br/><input name="sbory[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Качество:<br/><input name="kachestvo[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Перевод:<br/><input name="trans[]" type="text"/><br/>';
echo'</div>';
}
echo'<input class="buttom" type="submit" value="Добавить"/>
</div>
</form>';
}
if($_GET['a']) {
$newpath = trim($_POST['topath']);
if (empty($newpath)) {
error('Нет конечного пути! ' . htmlspecialchars($newpath, ENT_NOQUOTES));
}
$a = sizeof($_POST['userfile']);
for ($i = 0; $i < $a; ++$i) {
if (empty($_POST['userfile'][$i])) {
continue;
}
$name = strtolower(pathinfo($_POST['userfile'][$i], PATHINFO_BASENAME));
$ext = strtolower(pathinfo($_POST['userfile'][$i], PATHINFO_EXTENSION));
$to = $newpath . $name;
if ($ext == 'php' || $ext == 'php3' || $ext == 'php4' || $ext == 'php5' || $ext == 'php6' || $ext == 'phtml' || $ext == 'cgi' || $ext == 'asp' || $ext == 'js' || $ext == 'phtm' || $ext == 'py' || $ext == 'pl' || $ext == 'jsp' || $ext == 'ry' || $ext == 'shtm' || $ext == 'shtml') {
error($setup['hackmess']);
}
if (file_exists($to)) {
error('Файл <strong>' . htmlspecialchars($to, ENT_NOQUOTES) . '</strong> уже существует');
}
chmod($newpath, 0777);
if (copy($_POST['userfile'][$i], $to)) {
echo 'Импорт файла <strong>' . htmlspecialchars($name, ENT_NOQUOTES) . '</strong> прошол успешно.<br/>';
$rus_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION));
if(!$_POST['rus_name'][$i]) $rus_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION)); else $rus_name = $_POST['rus_name'][$i];
if(!$_POST['name'][$i]) $other_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION)); else $other_name = $_POST['name'][$i];
if(!$_POST['name_ot'][$i]) $name_ot = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION)); else $name_ot = $_POST['name_ot'][$i];
$infolder = dirname($to) . '/';
mysql_query("INSERT INTO `files` SET `fileid`='0', `dir`='0', `path`='" . mysql_real_escape_string($to, $mysql) . "', `name`='" . mysql_real_escape_string($other_name, $mysql) . "', `rus_name`='" . mysql_real_escape_string($rus_name, $mysql) . "', `bt`='" . mysql_real_escape_string(isset($_POST['bt']) ? $_POST['bt'] : 0, $mysql) . "', `3d`='" . mysql_real_escape_string(isset($_POST['3d']) ? $_POST['3d'] : 0, $mysql) . "', `god`='" . mysql_real_escape_string($_POST['god'], $mysql) . "', `lang`='" . mysql_real_escape_string($_POST['lang'], $mysql) . "', `country`='" . mysql_real_escape_string($_POST['country'], $mysql) . "', `vendor`='" . mysql_real_escape_string($_POST['vendor'], $mysql) . "', `prim`='" . mysql_real_escape_string($_POST['prim'], $mysql) . "', `rejj`='" . mysql_real_escape_string($_POST['rejj'], $mysql) . "', `akt`='" . mysql_real_escape_string($_POST['akt'], $mysql) . "', `babki`='" . mysql_real_escape_string($_POST['babki'], $mysql) . "', `sbory`='" . mysql_real_escape_string($_POST['sbory'], $mysql) . "', `kachestvo`='" . mysql_real_escape_string($_POST['kachestvo'], $mysql) . "', `trans`='" . mysql_real_escape_string($_POST['trans'], $mysql) . "', `name_ot`='" . mysql_real_escape_string($name_ot, $mysql) . "', `infolder`='" . mysql_real_escape_string($infolder, $mysql) . "' , `size`='" . filesize($to) . "', `timeupload`='" . filectime($to) . "'", $mysql);
dir_count($infolder, true);
chmod($to, 0644);
} else {
error('Импорт файла ' . htmlspecialchars($name, ENT_NOQUOTES) . ' окончился неудачно');
}
}
chmod($newpath, 0777);
}
break;
#####################################АПЛОАД скрина###################################################
case 'screen':
$info = mysql_fetch_assoc(mysql_query('SELECT * FROM `files` WHERE `id` = ' . $id, $mysql));
$info['path'] = strstr($info['path'], '/'); // убираем папку с загрузками
$to = $setup['spath'] . $info['path'] . '.gif'; // имя конечного файла
$thumb = $setup['spath'] . $info['path'] . '.thumb.gif'; // имя конечного файла
if (!$_FILES) {
echo '<div class="mainzag">Загрузка скрина (JPEG, GIF, PNG)</div>
<form action="apanel.php?action=screen&id=' . $id . '" method="post" enctype="multipart/form-data">
<div class="row">
Файл будет скопирован в папку со скриншотами:<br/>
<input name="scr" type="file"/><br/>
<input class="buttom" type="submit" value="Добавить"/>
</div>
</form>';
} else {
$ex = pathinfo($_FILES['scr']['name']);
$ext = strtolower($ex['extension']);
if ($ext != 'gif' && $ext != 'jpg' && $ext != 'jpe' && $ext != 'jpeg' && $ext != 'png') {
error('Поддерживаются скриншоты только gif, jpeg, png форматов');
}
chmods($to);
if (move_uploaded_file($_FILES['scr']['tmp_name'], $to)) {
echo 'Закачка скрина ' . htmlspecialchars($_FILES['scr']['name'], ENT_NOQUOTES) . ' прошла успешно.<br/>';
if ($ext == 'jpg' || $ext == 'jpe' || $ext == 'jpeg') {
$im = imagecreatefromjpeg($to);
imagegif($im, $to);
imagedestroy($im);
} elseif($ext == 'png') {
$im = imagecreatefrompng($to);
imagegif($im, $to);
imagedestroy($im);
}
img_resize($to, $thumb, 0, 0, $setup['marker']);
} else {
$err = error_get_last();
error('Закачка скрина ' . htmlspecialchars($_FILES['scr']['name'], ENT_NOQUOTES) . ' окончилась неудачно<br/>' . $err['message']);
}
}
break;
case 'del_screen':
$info = mysql_fetch_assoc(mysql_query('SELECT * FROM `files` WHERE `id` = ' . $id, $mysql));
$info['path'] = strstr($info['path'], '/'); // убираем папку с загрузками
$to = $setup['spath'] . $info['path'] . '.gif'; // имя конечного файла
$to2 = $setup['spath'] . $info['path'] . '.jpg'; // имя конечного файла
if (unlink($to) || unlink($to2)) {
echo 'Скриншот удален.<br/>';
} else {
$err = error_get_last();
error('Ошибка при удалении скриншота<br/>' . $err['message']);
}
break;
#####################################АПЛОАД###################################################
case 'upload':
if(!$_POST['coll']){
echo'<div class="mainzag">
Загрузка файлов</div><div class="row">
<form action="apanel.php?action=upload" method="post">
Выбериет количество файлов: <input name="coll" type="number" size="3" value="1"/><br/>
Тип:
<select name="type">
<option value="1">Разное</option>
<option value="2">Java приложения</option>
<option value="3">Фильмы</option>
</select><br/>
<input class="buttom" type="submit" value="Готово"/>
</div>
</form>';
}elseif ($_POST['coll'] && !$_POST['userfile']) {
if(int($_POST['coll']) == 0) header('Location: apanel.php?action=upload');
$dirs = mysql_query('SELECT `path` FROM `files` WHERE `dir` = "1"', $mysql);
echo '
<div class="mainzag">Upload файлов (max ' . ini_get('upload_max_filesize') . ')</div>
<div class="row">Сохранить в:</div>
<form action="apanel.php?action=upload&a=1" method="post" enctype="multipart/form-data">
<div class="row">
<select class="buttom" name="topath">
<option value="' . $setup['path'] . '/">./</option>';
while ($item = mysql_fetch_assoc($dirs)) {
echo '<option value="' . htmlspecialchars($item['path']) . '">' . htmlspecialchars(substr(strstr($item['path'], '/'), 1), ENT_NOQUOTES) . '</option>';
}
echo '</select><br/>';
for($i=0; $i<$_POST['coll']; $i++){
echo'<div class="row">
Выберите файл:<br/><input name="userfile[]" type="file"/><br/>
Имя для скачивания:<br/><textarea name="name_ot[]"></textarea><br/>
Имя на русском:<br/><textarea name="rus_name[]"></textarea><br/>
Имя на английском:<br/><textarea name="name[]"></textarea><br/>';
if($_POST['type'] == 2) echo'Поддержка bluetooth:<select name="bt"><option value="1">нет</option><option value="2">есть</option></select><br/>';
if($_POST['type'] == 2) echo'Поддержка 3D: <select name="3d"><option value="1">нет</option><option value="2">есть</option></select><br/>';
if($_POST['type'] == 2 || $_POST['type'] == 3) echo'Год:<br/><input name="god[]" type="text"/><br/>';
if($_POST['type'] == 2) echo'Язык:<br/><input name="lang[]" type="text"/><br/>';
if($_POST['type'] == 2 || $_POST['type'] == 3) echo'Страна:<br/><input name="country[]" type="text"/><br/>';
if($_POST['type'] == 2) echo'Разработчик:<br/><input name="vendor[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Премьера:<br/><input name="prim[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Режиссер:<br/><input name="rejj[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Актеры:<br/><input name="akt[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Бюджет:<br/><input name="babki[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Кассовые сборы:<br/><input name="sbory[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Качество:<br/><input name="kachestvo[]" type="text"/><br/>';
if($_POST['type'] == 3) echo'Перевод:<br/><input name="trans[]" type="text"/><br/>';
echo'</div>';
}
echo'<input class="buttom" type="submit" value="Добавить"/>
</div>
</form>';
}
if($_GET['a']) {
$newpath = trim($_POST['topath']);
if (empty($newpath)) {
error('Нет конечного пути! ' . htmlspecialchars($newpath, ENT_NOQUOTES));
}
$a = sizeof($_FILES['userfile']['name']);
for ($i = 0; $i < $a; ++$i) {
if (empty($_FILES['userfile']['name'][$i])) {
continue;
}
$name = $_FILES['userfile']['name'][$i];
$ext = strtolower(pathinfo($name, PATHINFO_EXTENSION));
$to = $newpath . $name;
if ($ext == 'php' || $ext == 'php3' || $ext == 'php4' || $ext == 'php5' || $ext == 'php6' || $ext == 'phtml' || $ext == 'cgi' || $ext == 'asp' || $ext == 'js' || $ext == 'phtm' || $ext == 'py' || $ext == 'pl' || $ext == 'jsp' || $ext == 'ry' || $ext == 'shtm' || $ext == 'shtml') {
error($setup['hackmess']);
}
if (file_exists($to)) {
error('Файл <strong>' . htmlspecialchars($to, ENT_NOQUOTES) . '</strong> уже существует');
}
chmod($newpath, 0777);
if (move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $to)) {
echo 'Закачка файла <strong>' . htmlspecialchars($name, ENT_NOQUOTES) . '</strong> прошла успешно.<br/>';
$rus_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION));
if(!$_POST['rus_name'][$i]) $rus_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION)); else $rus_name = $_POST['rus_name'][$i];
if(!$_POST['name'][$i]) $other_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION)); else $other_name = $_POST['name'][$i];
if(!$_POST['name_ot'][$i]) $name_ot = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION)); else $name_ot = $_POST['name_ot'][$i];
$infolder = dirname($to) . '/';
mysql_query("INSERT INTO `files` SET `fileid`='0', `dir`='0', `path`='" . mysql_real_escape_string($to, $mysql) . "', `name`='" . mysql_real_escape_string($other_name, $mysql) . "', `rus_name`='" . mysql_real_escape_string($rus_name, $mysql) . "', `bt`='" . mysql_real_escape_string(isset($_POST['bt']) ? $_POST['bt'] : 0, $mysql) . "', `3d`='" . mysql_real_escape_string(isset($_POST['3d']) ? $_POST['3d'] : 0, $mysql) . "', `god`='" . mysql_real_escape_string($_POST['god'], $mysql) . "', `lang`='" . mysql_real_escape_string($_POST['lang'], $mysql) . "', `country`='" . mysql_real_escape_string($_POST['country'], $mysql) . "', `vendor`='" . mysql_real_escape_string($_POST['vendor'], $mysql) . "', `prim`='" . mysql_real_escape_string($_POST['prim'], $mysql) . "', `rejj`='" . mysql_real_escape_string($_POST['rejj'], $mysql) . "', `akt`='" . mysql_real_escape_string($_POST['akt'], $mysql) . "', `babki`='" . mysql_real_escape_string($_POST['babki'], $mysql) . "', `sbory`='" . mysql_real_escape_string($_POST['sbory'], $mysql) . "', `kachestvo`='" . mysql_real_escape_string($_POST['kachestvo'], $mysql) . "', `trans`='" . mysql_real_escape_string($_POST['trans'], $mysql) . "', `name_ot`='" . mysql_real_escape_string($name_ot, $mysql) . "', `infolder`='" . mysql_real_escape_string($infolder, $mysql) . "' , `size`='" . filesize($to) . "', `timeupload`='" . filectime($to) . "'", $mysql);
dir_count($infolder, true);
chmod($to, 0644);
} else {
error('Закачка файла ' . htmlspecialchars($name, ENT_NOQUOTES) . ' окончилась неудачно');
}
}
chmod($newpath, 0777);
}
break;
#####################################АПЛОАД доп файлов###################################################
case 'upload_dop':
$errfile = mysql_query("SELECT `infolder` FROM `files` WHERE `dir` = '0' AND `id` = ' " . mysql_real_escape_string((int)$_GET['id'], $mysql)."' LIMIT 1", $mysql);
if(mysql_num_rows($errfile) == 0) error('Не выбран файл, или файл не существует');
if(!$_POST['coll']){
echo'<div class="mainzag">
Выбериет количество доп. файлов:</div><div class="row">
<form action="apanel.php?action=upload_dop&id='.int($_GET['id']).'" method="post">
<input name="coll" type="number" value="1" size="3"/> <input class="buttom" type="submit" value="Готово"/>
</div>
</form>';
}elseif ($_POST['coll'] && !$_POST['userfile']) {
if(int($_POST['coll']) == 0) header('Location: apanel.php?action=upload_dop&id='.int($_GET['id']));
$dirs = mysql_query('SELECT `path` FROM `files` WHERE `dir` = "1"', $mysql);
echo '
<div class="mainzag">Upload файлов (max ' . ini_get('upload_max_filesize') . ')</div>
<form action="apanel.php?action=upload_dop&id='.(int)$_GET['id'].'&a=1" method="post" enctype="multipart/form-data">';
for($i=0; $i<$_POST['coll']; $i++){
echo'<div class="row">
Выберите файл:<br/><input name="userfile[]" type="file"/><br/>
Имя на русском:<br/><textarea name="rus_name[]"></textarea><br/>
Имя на английском:<br/><textarea name="name[]"></textarea><br/>
</div>';
}
echo'<input class="buttom" type="submit" value="Добавить"/>
</div>
</form>';
}
if($_GET['a']) {
$newpath = mysql_result($errfile,0);
$a = sizeof($_FILES['userfile']['name']);
for ($i = 0; $i < $a; ++$i) {
if (empty($_FILES['userfile']['name'][$i])) {
continue;
}
$name = $_FILES['userfile']['name'][$i];
$ext = strtolower(pathinfo($name, PATHINFO_EXTENSION));
$to = $newpath . $name;
if ($ext == 'php' || $ext == 'php3' || $ext == 'php4' || $ext == 'php5' || $ext == 'php6' || $ext == 'phtml' || $ext == 'cgi' || $ext == 'asp' || $ext == 'js' || $ext == 'phtm' || $ext == 'py' || $ext == 'pl' || $ext == 'jsp' || $ext == 'ry' || $ext == 'shtm' || $ext == 'shtml') {
error($setup['hackmess']);
}
if (file_exists($to)) {
error('Файл <strong>' . htmlspecialchars($to, ENT_NOQUOTES) . '</strong> уже существует');
}
chmod($newpath, 0777);
if (move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $to)) {
echo 'Закачка файла <strong>' . htmlspecialchars($name, ENT_NOQUOTES) . '</strong> прошла успешно.<br/>';
$rus_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION));
if(!$_POST['rus_name'][$i]) $rus_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION)); else $rus_name = $_POST['rus_name'][$i];
if(!$_POST['name'][$i]) $other_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION)); else $other_name = $_POST['name'][$i];
$infolder = dirname($to) . '/';
mysql_query("INSERT INTO `files` (`fileid`,`dir`, `path`, `name`, `rus_name`, `infolder`, `size`, `timeupload`) VALUES ('" . mysql_real_escape_string($_GET['id'], $mysql) . "','0', '" . mysql_real_escape_string($to, $mysql) . "', '" . mysql_real_escape_string($other_name, $mysql) . "', '" . mysql_real_escape_string($rus_name, $mysql) . "', '" . mysql_real_escape_string($infolder, $mysql) . "' , " . filesize($to) . ", " . filectime($to) . ");", $mysql);
dir_count($infolder, true);
chmod($to, 0644);
} else {
error('Закачка файла ' . htmlspecialchars($name, ENT_NOQUOTES) . ' окончилась неудачно');
}
}
chmod($newpath, 0777);
}
break;
#####################################Импорт###################################################
case 'import_dop':
$errfile = mysql_query("SELECT `infolder` FROM `files` WHERE `dir` = '0' AND `id` = ' " . mysql_real_escape_string((int)$_GET['id'], $mysql)."' LIMIT 1", $mysql);
if(mysql_num_rows($errfile) == 0) error('Не выбран файл, или файл не существует');
if(!$_POST['coll']){
echo'<div class="mainzag">
Выбериет количество доп. файлов:</div><div class="row">
<form action="apanel.php?action=import_dop&id='.int($_GET['id']).'" method="post">
<input name="coll" type="number" value="1" size="3"/> <input class="buttom" type="submit" value="Готово"/>
</div>
</form>';
}elseif ($_POST['coll'] && !$_POST['userfile']) {
if(int($_POST['coll']) == 0) header('Location: apanel.php?action=import_dop&id='.int($_GET['id']));
$dirs = mysql_query('SELECT `path` FROM `files` WHERE `dir` = "1"', $mysql);
echo '
<div class="mainzag">Импорт файлов</div>
<form action="apanel.php?action=import_dop&id='.(int)$_GET['id'].'&a=1" method="post">';
for($i=0; $i<$_POST['coll']; $i++){
echo'<div class="row">
Путь к файлу:<br/><input name="userfile[]" type="text" value="http://"/><br/>
Имя на русском:<br/><textarea name="rus_name[]"></textarea><br/>
Имя на английском:<br/><textarea name="name[]"></textarea><br/>';
echo'</div>';
}
echo'<input class="buttom" type="submit" value="Добавить"/>
</div>
</form>';
}
if($_GET['a']) {
$newpath = mysql_result($errfile,0);
if (empty($newpath)) {
error('Нет конечного пути! ' . htmlspecialchars($newpath, ENT_NOQUOTES));
}
$a = sizeof($_POST['userfile']);
for ($i = 0; $i < $a; ++$i) {
if (empty($_POST['userfile'][$i])) {
continue;
}
$name = strtolower(pathinfo($_POST['userfile'][$i], PATHINFO_BASENAME));
$ext = strtolower(pathinfo($_POST['userfile'][$i], PATHINFO_EXTENSION));
$to = $newpath . $name;
if ($ext == 'php' || $ext == 'php3' || $ext == 'php4' || $ext == 'php5' || $ext == 'php6' || $ext == 'phtml' || $ext == 'cgi' || $ext == 'asp' || $ext == 'js' || $ext == 'phtm' || $ext == 'py' || $ext == 'pl' || $ext == 'jsp' || $ext == 'ry' || $ext == 'shtm' || $ext == 'shtml') {
error($setup['hackmess']);
}
if (file_exists($to)) {
error('Файл <strong>' . htmlspecialchars($to, ENT_NOQUOTES) . '</strong> уже существует');
}
chmod($newpath, 0777);
if (copy($_POST['userfile'][$i], $to)) {
echo 'Импорт файла <strong>' . htmlspecialchars($name, ENT_NOQUOTES) . '</strong> прошол успешно.<br/>';
$rus_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION));
if(!$_POST['rus_name'][$i]) $rus_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION)); else $rus_name = $_POST['rus_name'][$i];
if(!$_POST['name'][$i]) $other_name = $name = basename($to, '.' . pathinfo($to, PATHINFO_EXTENSION)); else $other_name = $_POST['name'][$i];
$infolder = dirname($to) . '/';
mysql_query("INSERT INTO `files` SET `fileid`='" . mysql_real_escape_string($_GET['id'], $mysql) . "', `dir`='0', `path`='" . mysql_real_escape_string($to, $mysql) . "', `name`='" . mysql_real_escape_string($other_name, $mysql) . "', `rus_name`='" . mysql_real_escape_string($rus_name, $mysql) . "', `infolder`='" . mysql_real_escape_string($infolder, $mysql) . "' , `size`='" . filesize($to) . "', `timeupload`='" . filectime($to) . "'", $mysql);
dir_count($infolder, true);
chmod($to, 0644);
} else {
error('Импорт файла ' . htmlspecialchars($name, ENT_NOQUOTES) . ' окончился неудачно');
}
}
chmod($newpath, 0777);
}
break;
######################################Дополнительно к папкам##############################################
case 'dopoln':
if ($_POST) {
// берем корень
if ($id) {
mysql_query("UPDATE `files` SET `3d_dir`='".mysql_real_escape_string($_POST['3d'],$mysql)."', `bt_dir`='".mysql_real_escape_string($_POST['bt'],$mysql)."', `top_dir`='".mysql_real_escape_string($_POST['top'],$mysql)."', `vendor_dir`='".mysql_real_escape_string($_POST['vendor'],$mysql)."', `alp_dir`='".mysql_real_escape_string($_POST['alp'],$mysql)."', `new_dir`='".mysql_real_escape_string($_POST['new'],$mysql)."' WHERE `id` = '$id' AND `dir`='1'", $mysql);
echo'Сохранено';
} else {
error('Утеряны данные');
}
} else {
$dirsql = mysql_fetch_row(mysql_query("SELECT `3d_dir`,`bt_dir`,`top_dir`,`vendor_dir`,`alp_dir`,`new_dir` FROM `files` WHERE `id`='$id' AND `dir`=1 LIMIT 1",$mysql));
//Вывод топ, бт,3д, производители...
echo '<div class="mainzag">Создание дополнительных разделов:</div>
<form action="apanel.php?action=dopoln&id=' . $id . '" method="post">
<div class="row">
<table cellpadding="1">
<tr><td>3D игры:</td><td><input type="text" name="3d" value="'.htmlspecialchars($dirsql[0]).'"/></td></tr>
<tr><td>Bluetooth игры:</td><td><input type="text" name="bt" value="'.htmlspecialchars($dirsql[1]).'"/></td></tr>
<tr><td>Top файлов:</td><td><input type="text" name="top" value="'.htmlspecialchars($dirsql[2]).'"/></td></tr>
<tr><td>Производители игр:</td><td><input type="text" name="vendor" value="'.htmlspecialchars($dirsql[3]).'"/></td></tr>
<tr><td>По алфавиту:</td><td><input type="text" name="alp" value="'.htmlspecialchars($dirsql[4]).'"/></td></tr>
<tr><td>Новые файлы:</td><td><input type="text" name="new" value="'.htmlspecialchars($dirsql[5]).'"/></td></tr>';
echo '<tr><td><input class="buttom" type="submit" value="Сохранить"/></td></tr></table>
</div>
</form>';
}
break;
######################################СОЗДАНИЕ НОВОГО КАТАЛОГА##############################################
case 'newdir':
if ($_POST) {
if (!preg_match('/^[A-Z0-9_-]+$/i', $_POST['realname'])) {
error('Не указано имя папки или оно содержит недопустимые символы. Разрешены [A-Z0-9_-]');
}
// берем корень
if ($id) {
$d = mysql_fetch_assoc(mysql_query('SELECT `path` FROM `files` WHERE `id` = ' . $id, $mysql));
} else {
$d['path'] = $setup['path'] . '/';
}
chmod($d['path'], 0777);
/////////
$directory = $d['path'] . $_POST['realname'] . '/';
//print $directory;
$temp = iconv_substr($directory, iconv_strlen($setup['path']), iconv_strlen($directory));
//скриншоты
$screen = $setup['spath'] . '/' . $temp;
// описания
$desc = $setup['opath'] . '/' . $temp;
$dirnew = array();
$dirnew['english'] = mysql_real_escape_string($_POST['new']['english'], $mysql);
$dirnew['russian'] = mysql_real_escape_string($_POST['new']['russian'], $mysql);
mkdir($directory, 0777);
chmod($directory, 0777); // fix
// скриншоты
mkdir($screen, 0777);
chmod($screen, 0777); // fix
// описания
mkdir($desc, 0777);
chmod($desc, 0777); // fix
// заносим в бд
// пока поддержка только английского и русского языков
if (mysql_query("INSERT INTO `files` (`dir`, `dir_count`, `path`, `name`, `rus_name`, `infolder`, `timeupload`) VALUES ('1', 0, '" . mysql_real_escape_string($directory, $mysql) . "', '" . $dirnew['english'] . "', '" . $dirnew['russian'] . "', '" . mysql_real_escape_string($d['path'], $mysql) . "', " . $_SERVER['REQUEST_TIME'] . ");", $mysql)) {
dir_count($d['path'], true);
echo 'Новый каталог создан.';
} else {
error('Ошибка при создании нового каталога. - ' . mysql_error($mysql));
}
} else {
echo '<div class="mainzag">Создание новой категории:</div>
<form action="apanel.php?action=newdir&id=' . $id . '" method="post">
<div class="row">
Имя новой папки [A-Z0-9_-]:<br/>
<input type="text" name="realname" size="70"/><br/>';
language_dir('', '');
echo '<input class="buttom" type="submit" value="Добавить"/>
</div>
</form>';
}
break;
#########################################ИЗМЕНЕНИЕ МОДУЛЕЙ###############################################
case 'modules':
if (!$_POST) {
echo '<div class="mainzag">Управления модулями:</div>
<form action="apanel.php?action=modules" method="post">
<div class="row">
<input name="komments_change" type="checkbox" value="1" ' . check($setup['komments_change']) . '/>Комментарии<br/>
<input name="komments_captcha" type="checkbox" value="1" ' . check($setup['komments_captcha']) . '/>Капча к комментариям<br/>
<input name="eval_change" type="checkbox" value="1" ' . check($setup['eval_change']) . '/>Рейтинг<br/>
<input name="jad_change" type="checkbox" value="1" ' . check($setup['jad_change']) . '/>Генератор Jad<br/>
<input name="cut_change" type="checkbox" value="1" ' . check($setup['cut_change']) . '/>Нарезчик MP3<br/>
<input name="zip_change" type="checkbox" value="1" ' . check($setup['zip_change']) . '/>Просмотр архивов<br/>
<input name="zakaz_change" type="checkbox" value="1" ' . check($setup['zakaz_change']) . '/>Стол заказов<br/>
<input name="preview_change" type="checkbox" value="1" ' . check($setup['preview_change']) . '/>Меню выбора отображения предпросмотра<br/>
<input name="top_change" type="checkbox" value="1" ' . check($setup['top_change']) . '/>ТОП<br/>
<input name="search_change" type="checkbox" value="1" ' . check($setup['search_change']) . '/>Поиск файлов<br/>
<input name="lib_change" type="checkbox" value="1" ' . check($setup['lib_change']) . '/>Библиотека<br/>
<input name="screen_change" type="checkbox" value="1" ' . check($setup['screen_change']) . '/>Уменьшенные скриншоты в общем просмотре<br/>
<input name="screen_file_change" type="checkbox" value="1" ' . check($setup['screen_file_change']) . '/>Уменьшенные скриншоты в просмотре файла<br/>
<input name="swf_change" type="checkbox" value="1" ' . check($setup['swf_change']) . '/>SWF превью в общем просмотре<br/>
<input name="swf_file_change" type="checkbox" value="1" ' . check($setup['swf_file_change']) . '/>SWF превью в просмотре файла<br/>
<input name="apk_change" type="checkbox" value="1" ' . check($setup['apk_change']) . '/>Иконки APK файлов в общем просмотре<br/>
<input name="jar_change" type="checkbox" value="1" ' . check($setup['jar_change']) . '/>Иконки JAR файлов в общем просмотре<br/>
<input name="jar_file_change" type="checkbox" value="1" ' . check($setup['jar_file_change']) . '/>Иконки JAR файлов в просмотре файла<br/>
<input name="anim_change" type="checkbox" value="1" ' . check($setup['anim_change']) . '/>Поддержка анимации<br/>
<input name="prew" type="checkbox" value="1" ' . check($setup['prew']) . '/>Предпросмотр по умолчанию<br/>
<input name="lib_desc" type="checkbox" value="1" ' . check($setup['lib_desc']) . '/>Брать первую строку из txt файла как описание<br/>
<input name="abuse_change" type="checkbox" value="1" ' . check($setup['abuse_change']) . '/>Жалобы<br/>
<input name="send_email" type="checkbox" value="1" ' . check($setup['send_email']) . '/>Отправка ссылки на Email<br/>
<br/>
<input class="buttom" type="submit" value="Сохранить"/>
</div>
</form>';
} else {
$_POST['komments_change'] = $_POST['komments_change'] ? 1 : 0;
$_POST['komments_captcha'] = $_POST['komments_captcha'] ? 1 : 0;
$_POST['eval_change'] = $_POST['eval_change'] ? 1 : 0;
$_POST['onpage_change'] = $_POST['onpage_change'] ? 1 : 0;
$_POST['preview_change'] = $_POST['preview_change'] ? 1 : 0;
$_POST['top_change'] = $_POST['top_change'] ? 1 : 0;
$_POST['stat_change'] = $_POST['stat_change'] ? 1 : 0;
$_POST['search_change'] = $_POST['search_change'] ? 1 : 0;
$_POST['zip_change'] = $_POST['zip_change'] ? 1 : 0;
$_POST['jad_change'] = $_POST['jad_change'] ? 1 : 0;
$_POST['zakaz_change'] = $_POST['zakaz_change'] ? 1 : 0;
$_POST['cut_change'] = $_POST['cut_change'] ? 1 : 0;
$_POST['lib_change'] = $_POST['lib_change'] ? 1 : 0;
$_POST['screen_change'] = $_POST['screen_change'] ? 1 : 0;
$_POST['screen_file_change'] = $_POST['screen_file_change'] ? 1 : 0;
$_POST['swf_change'] = $_POST['swf_change'] ? 1 : 0;
$_POST['swf_file_change'] = $_POST['swf_file_change'] ? 1 : 0;
$_POST['jar_change'] = $_POST['jar_change'] ? 1 : 0;
$_POST['apk_change'] = $_POST['apk_change'] ? 1 : 0;
$_POST['jar_file_change'] = $_POST['jar_file_change'] ? 1 : 0;
$_POST['anim_change'] = $_POST['anim_change'] ? 1 : 0;
$_POST['prew'] = $_POST['prew'] ? 1 : 0;
$_POST['lib_desc'] = $_POST['lib_desc'] ? 1 : 0;
$_POST['abuse_change'] = $_POST['abuse_change'] ? 1 : 0;
$_POST['exchanger_change'] = $_POST['exchanger_change'] ? 1 : 0;
$_POST['send_email'] = $_POST['send_email'] ? 1 : 0;
foreach ($_POST as $key => $value) {
if ($key == 'password' || $key == 'delete_dir' || $key == 'delete_file') {
error($setup['hackmess']);
}
mysql_query("REPLACE INTO `setting`(`name`, `value`) VALUES('" . mysql_real_escape_string($key, $mysql) . "', '" . intval($value) . "');", $mysql);
}
echo 'Список модулей изменен';
}
break;
########################################БЕЗОПАСНОСТЬ################################################
case 'sec':
if (!$_POST)
{
echo '<div class="mainzag">Безопасность:</div>
<form action="apanel.php?action=sec" method="post">
<div class="row">
Пароль(если не хотим менять оставляем пустым): <br/>
<input class="enter" name="password" type="password" value=""/>
</div><div class="row">
Число неверных попыток ввода пароля до блокировки: <br/>
<input class="enter" name="countban" type="text" value="' . $setup['countban'] . '"/>
</div><div class="row">
Время блокировки(сек.): <br/>
<input class="enter" name="timeban" type="text" value="' . $setup['timeban'] . '"/><br/>
<input name="autologin" type="checkbox" value="ON" ' . check($setup['autologin']) . '/>Автологин<br/>
<input name="delete_file" type="checkbox" value="ON" ' . check($setup['delete_file']) . '/>Функция удаления файлов<br/>
<input name="delete_dir" type="checkbox" value="ON" ' . check($setup['delete_dir']) . '/>Функция удаления каталогов
</div><div class="row">
Введите текущий пароль для подтверждения: <br/>
<input class="enter" name="pwd" type="password" value=""/><br/>
<input class="buttom" type="submit" value="Сохранить"/>
</div>
</form>';
}
else
{
$_POST['autologin'] = $_POST['autologin'] ? 1 : 0;
$_POST['delete_dir'] = $_POST['delete_dir'] ? 1 : 0;
$_POST['delete_file'] = $_POST['delete_file'] ? 1 : 0;
is_num($_POST['countban'], 'countban');
is_num($_POST['timeban'], 'timeban');
if (!$_POST['pwd'] || md5($_POST['pwd']) != $setup['password']) {
error($setup['hackmess']);
}
foreach ($_POST as $key => $value) {
if ($value == '' && $key != 'password' && $key != 'autologin' && $key != 'delete_dir' && $key != 'delete_file') {
error('Не заполнено одно из полей.');
}
}
if ($_POST['password'] != '') {
$_SESSION['autorise'] = md5($_POST['password']);
mysql_query("UPDATE `setting` SET `value` = '" . md5($_POST['password']) . "' WHERE `name` = 'password';", $mysql);
}
mysql_query("UPDATE `setting` SET `value` = '" . $_POST['countban'] . "' WHERE `name` = 'countban';", $mysql);
mysql_query("UPDATE `setting` SET `value` = '" . $_POST['timeban'] . "' WHERE `name` = 'timeban';", $mysql);
mysql_query("UPDATE `setting` SET `value` = '" . $_POST['autologin'] . "' WHERE `name` = 'autologin';", $mysql);
mysql_query("UPDATE `setting` SET `value` = '" . $_POST['delete_file'] . "' WHERE `name` = 'delete_file';", $mysql);
mysql_query("UPDATE `setting` SET `value` = '" . $_POST['delete_dir'] . "' WHERE `name` = 'delete_dir';", $mysql);
echo 'Настройки изменены.';
}
break;
########################################НАСТРОЙКИ СКРИПТА################################################
case 'setting':
if (!$_POST)
{
echo '<div class="mainzag">Настройки загруз-центра:</div>
<form action="apanel.php?action=setting" method="post">
<div class="row">
Количество скачиваний в рекл. ссылках:<br/>
<input class="enter" name="adv_link" type="text" value="' . $setup['adv_link'] . '"/>
</div><div class="row">
Папка с файлами:<br/>
<input class="enter" name="path" type="text" value="' . $setup['path'] . '"/>
</div><div class="row">
Папка с описаниями:<br/>
<input class="enter" name="opath" type="text" value="' . $setup['opath'] . '"/>
</div><div class="row">
Папка со скринами:<br/>
<input class="enter" name="spath" type="text" value="' . $setup['spath'] . '"/>
</div><div class="row">
Папка c JAVA книгами:<br/>
<input class="enter" name="jpath" type="text" value="' . $setup['jpath'] . '"/> <a href="' . $_SERVER['PHP_SELF'] . '?action=clean_cache&dir=' . $setup['jpath'] . '">Очистить</a><br/>
</div><div class="row">
Папка c иконками из JAR файлов:<br/>
<input class="enter" name="ipath" type="text" value="' . $setup['ipath'] . '"/> <a href="' . $_SERVER['PHP_SELF'] . '?action=clean_cache&dir=' . $setup['ipath'] . '">Очистить</a><br/>
</div><div class="row">
Папка c иконками из APK файлов:<br/>
<input class="enter" name="apkpath" type="text" value="' . $setup['apkpath'] . '"/> <a href="' . $_SERVER['PHP_SELF'] . '?action=clean_cache&dir=' . $setup['apkpath'] . '">Очистить</a><br/>
</div><div class="row">
Папка c картинками из ZIP архивов:<br/>
<input class="enter" name="zppath" type="text" value="' . $setup['zppath'] . '"/> <a href="' . $_SERVER['PHP_SELF'] . '?action=clean_cache&dir=' . $setup['zppath'] . '">Очистить</a><br/>
</div><div class="row">
Папка c ZIP книгами:<br/>
<input class="enter" name="zpath" type="text" value="' . $setup['zpath'] . '"/> <a href="' . $_SERVER['PHP_SELF'] . '?action=clean_cache&dir=' . $setup['zpath'] . '">Очистить</a><br/>
</div><div class="row">
Папка co скриншотами тем:<br/>
<input class="enter" name="tpath" type="text" value="' . $setup['tpath'] . '"/> <a href="' . $_SERVER['PHP_SELF'] . '?action=clean_cache&dir=' . $setup['tpath'] . '">Очистить</a><br/>
</div><div class="row">
Папка co скриншотами видео:<br/>
<input class="enter" name="ffmpegpath" type="text" value="' . $setup['ffmpegpath'] . '"/> <a href="' . $_SERVER['PHP_SELF'] . '?action=clean_cache&dir=' . $setup['ffmpegpath'] . '">Очистить</a><br/>
</div><div class="row">
Папка c превьюшками картинок:<br/>
<input class="enter" name="picpath" type="text" value="' . $setup['picpath'] . '"/> <a href="' . $_SERVER['PHP_SELF'] . '?action=clean_cache&dir=' . $setup['picpath'] . '">Очистить</a><br/>
</div><div class="row">
Папка для нарезок:<br/>
<input class="enter" name="mp3path" type="text" value="' . $setup['mp3path'] . '"/> <a href="' . $_SERVER['PHP_SELF'] . '?action=clean_cache&dir=' . $setup['mp3path'] . '">Очистить</a><br/>
</div><div class="row">
Номинация:<br/>
<input class="enter" name="nomination" type="text" value="'.$setup['nomination'].'"/><br/>
</div><div class="row">
Лимит нарезок (Мб):<br/>
<input class="enter" name="limit" type="text" value="' . $setup['limit'] . '"/>
</div><div class="row">
Лимит комментариев к одному файлу:<br/>
<input class="enter" name="klimit" type="text" value="' . $setup['klimit'] . '"/>
</div><div class="row">
Файлов на страницу по умолчанию:
<select class="enter" size="1" name="onpage">
<option ' . sel(5, $setup['onpage']) . '>5</option>
<option ' . sel(10, $setup['onpage']) . '>10</option>
<option ' . sel(15, $setup['onpage']) . '>15</option>
<option ' . sel(20, $setup['onpage']) . '>20</option>
<option ' . sel(25, $setup['onpage']) . '>25</option>
<option ' . sel(30, $setup['onpage']) . '>30</option>
</select>
</div><div class="row">
Стиль по умолчанию:
<select class="enter" size="1" name="css">';
foreach (glob('styles/*.css', GLOB_NOESCAPE) as $var) {
$value = htmlspecialchars(pathinfo($var, PATHINFO_FILENAME), ENT_NOQUOTES);
echo '<option value="' . $value . '" ' . sel($value, $setup['css']) . '>' . $value . '</option>';
}
echo '</select>
</div><div class="row">
Размер превьюшек (например, 40*40):<br/>
<input class="enter" name="prev_size" type="text" value="' . $setup['prev_size'] . '"/>
</div><div class="row">
<div class="row">
Размеры картинок (например, 128*128,120*160,132*176,240*320):<br/>
<input class="enter" name="view_size" type="text" value="' . $setup['view_size'] . '"/>
</div><div class="row">
Число отображаемых символов описания в общем просмотре файлов:<br/>
<input class="enter" name="desc" type="text" value="' . $setup['desc'] . '"/>
</div><div class="row">
Номер фрейма для превью видео:<br/>
<input class="enter" name="ffmpeg_frame" type="text" value="' . $setup['ffmpeg_frame'] . '"/>
</div><div class="row">
Номера фреймов для превью видео в просмотре файла (например, 25,120,250):<br/>
<input class="enter" name="ffmpeg_frames" type="text" value="' . $setup['ffmpeg_frames'] . '"/>
</div><div class="row">
Время новых файлов (дней, 0 - выключено):<br/>
<input class="enter" name="day_new" type="text" value="' . $setup['day_new'] . '"/>
</div><div class="row">
Время онлайна (сек.):<br/>
<input class="enter" name="online_time" type="text" value="' . $setup['online_time'] . '"/>
</div><div class="row">
Число ТОП файлов:<br/>
<input class="enter" name="top_num" type="text" value="' . $setup['top_num'] . '"/>
</div><div class="row">
Сообщение для особо одаренных:<br/>
<input class="enter" name="hackmess" type="text" value="' . $setup['hackmess'] . '"/>
</div>
<div class="row">
Заголовок:<br/>
<input class="enter" name="zag" type="text" value="' . $setup['zag'] . '"/>
</div><div class="row">
Главная сайта (c http://):<br/>
<input class="enter" name="site_url" type="text" value="' . $setup['site_url'] . '"/><br/>
E-mail админа:<br/>
<input class="enter" name="zakaz_email" type="text" value="' . $setup['zakaz_email'] . '"/><br/>
<br/>
<input class="buttom" type="submit" value="Сохранить"/>
</div>
</form>';
}
else
{
if ($_POST['password'] || $_POST['delete_dir'] || $_POST['delete_file']) {
error($setup['hackmess']);
}
foreach ($_POST as $key => $value) {
if ($value == '') {
error('Не заполнено одно из полей.');
}
mysql_query("REPLACE INTO `setting`(`name`,`value`) VALUES('" . mysql_real_escape_string($key, $mysql) . "', '" . mysql_real_escape_string($value, $mysql) . "');", $mysql);
//print mysql_error($mysql);
}
echo 'Настройки сохранены';
}
break;
case 'del_news_komm':
if (mysql_query('DELETE FROM `news_komments` WHERE `id` = ' . intval($_GET['news_komm']), $mysql)) {
echo 'Ok<br/>';
} else {
error('Ошибка: ' . mysql_error($mysql));
}
break;
case 'del_komm':
if (mysql_query('DELETE FROM `komments` WHERE `id` = ' . intval($_GET['komm']), $mysql)) {
echo 'Ok<br/>';
} else {
error('Ошибка: ' . mysql_error($mysql));
}
break;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////Управление рекламой и баннерами//////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
case '84':
echo'<div class="mainzag">Рекламные ссылки:</div>';
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `reklames` WHERE `stat`='0'",$mysql),0) == 0) {
echo'Нет рекламы';
}else{
$allru=mysql_query("SELECT DISTINCT `mesto` FROM `reklames` WHERE `stat`='0' ORDER BY `mesto`",$mysql);
while($dat=mysql_fetch_assoc($allru)){
echo'<div class="row2">Место: '.$dat['mesto'].'</div>
<div class="row">';
$allrum=mysql_query("SELECT * FROM `reklames` WHERE `mesto`='".$dat['mesto']."' AND `stat`='0' ORDER BY `id`",$mysql);
while($data=mysql_fetch_assoc($allrum)){
echo'<a href="'.$data['http'].'">'.bbcode($data['name']).'</a><br/><strong>Позиция:</strong> ';
echo $data['pozition'] == 0 ? 'верх сайта' : 'низ сайта';
echo'<br><strong>Ссылка:</strong> '.str_replace('http://','',$data['http']).'<br/>
<strong>Переходов:</strong> <a href="apanel.php?action=90&k='.$data['id'].'"><u>'.$data['kolls'].'</u></a><br/>
<strong>Срок:</strong> '.$data['day'].' дней<br>
<strong>Дата создания:</strong> '.date('d.m.y/H:i',$data['time']).'<br/>
<strong>Дата окончания:</strong> '.date('d.m.y/H:i',$data['timeoff']).'<br/>
<strong>Статус:</strong> '.($data['timeoff'] > $_SERVER['REQUEST_TIME'] ? '<span style="color:green;">Действует</span>' : '<span style="color:red;">Окончена</span>').'<br/>
<a href="apanel.php?action=85&k='.$data['id'].'"><button>Изменить</button></a> <a href="apanel.php?action=87&k='.$data['id'].'"><button>Удалить</button></a><br/>
<hr/>';
}
echo'</div>';
}
}
echo'<div class="rek2"><a href="apanel.php?action=93">Управление баннерами</a><br/>
<a href="apanel.php?action=88">Добавить рекламу</a></div>';
break;
case '85':
$qres=mysql_query("SELECT `id` FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql);
if(mysql_num_rows($qres)==0){
error('Нет такой ссылки');
}else{
$qqq=mysql_fetch_assoc(mysql_query("SELECT * FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql));
echo'<div class="row"><form action="apanel.php?action=86&k='.int($_GET['k']).'" method="post">
Позиция:<br/>
<select name="t4">';
echo $qqq['pozition'] == 0 ? '<option value="0">Верх сайта</option><option value="1">Низ сайта</option>' : '<option value="0">Верх сайта</option><option value="1" selected>Низ сайта</option>';
echo'</select><br>Место:<br><select name="t3">';
for($i=1; $i<11; $i++){
echo $qqq['mesto'] != $i ? '<option value="'.$i.'">Место номер '.$i.'</option>' : '<option value="'.$qqq['mesto'].'" selected>Место номер '.$qqq['mesto'].'</option>';
}
echo'</select><br/>Название:<br><input type="text" value="'.$qqq['name'].'" size="18" name="t"/>
<br/>Ссылка:<br/>
<input type="text" value="'.$qqq['http'].'" size="18" name="t2"/><br/><input type="submit" value="Редактировать"/></form></div>'; }
break;
case'86':
$qres=mysql_query("SELECT `id` FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql);
if(mysql_num_rows($qres)==0){
error('Нет такой ссылки');
}else{
if(!$_POST){ error('Ничего не написано'); }
mysql_query("UPDATE `reklames` SET `name`='".mysql_real_escape_string($_POST['t'],$mysql)."', `http`='".mysql_real_escape_string($_POST['t2'],$mysql)."', `mesto`='".mysql_real_escape_string($_POST['t3'],$mysql)."', `pozition`='".mysql_real_escape_string($_POST['t4'],$mysql)."' WHERE `id`='".int($_GET['k'])."'",$mysql);
echo' Успешно отредактировано<br/><<<a href="apanel.php?action=84">Назад</a>';}
break;
case '87':
$qres=mysql_query("SELECT * FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql);
if(mysql_num_rows($qres)==0){
error('Нет такой ссылки');
}else{
mysql_query("DELETE FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql);
mysql_query("DELETE FROM `reklames_log` WHERE `id_link`='".int($_GET['k'])."'",$mysql);
echo'Успешно удалено';}
break;
case '88':
echo'<div class="mainzag">Добавление рекламы</div>';
echo'<div class="row"><form action="apanel.php?action=89" method="post">Позиция:<br/>
<select name="ka5"><option value="0">Верх сайта</option>
<option value="1">Низ сайта</option></select><br/>';
echo'Выберите место:<br/><select name="ka4">';
for($i=1; $i<11; $i++){
echo'<option value="'.$i.'">Место номер '.$i.'</option>';
}
echo'</select><br/>Название:<br/><input type="text" size="18" name="ka1"/><br/>
Ссылка:<br/><input type="text" value="http://" size="18" name="ka2"/>
<br/>На сколько дней:<br/>
<select name="ka3">
<option value="7">7</option>
<option value="14">14</option>
<option value="21">21</option>
<option value="28">28</option>
<option value="35">35</option>
<option value="3500000000">безконечно</option></select><br/>
<input type="submit" value="Добавить"/></form></div>';
break;
case '89':
$timf=($_SERVER['REQUEST_TIME']+24*int($_POST['ka3'])*60*60);
if(!$_POST){ error('Ошибка');}
mysql_query("INSERT INTO `reklames` SET `name`='".mysql_real_escape_string($_POST['ka1'],$mysql)."', `http`='".mysql_real_escape_string($_POST['ka2'],$mysql)."', `day`='".mysql_real_escape_string($_POST['ka3'],$mysql)."', `time`='".$_SERVER['REQUEST_TIME']."', `timeoff`='$timf', `mesto`='".mysql_real_escape_string($_POST['ka4'],$mysql)."', `pozition`='".mysql_real_escape_string($_POST['ka5'],$mysql)."', `stat`='0'",$mysql);
echo'Успешно добавлена';
break;
case '90':
$qres=mysql_query("SELECT `id` FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql);
if(mysql_num_rows($qres)==0){ error('Нет такой ссылки');
}else{
$qqq=mysql_query("SELECT * FROM `reklames_log` WHERE `id_link`='".int($_GET['k'])."'",$mysql);
if(mysql_num_rows($qqq)==0){echo'Переходы отсутствуют!';}else{
echo'<div class="row"><table border="1" cellpadding="3"><tr><td>IP</td><td>User-agent</td><td>Дата</td></tr>';
while($data=mysql_fetch_assoc($qqq)){
echo'<tr><td>'.$data['ip'].'</td><td>'.$data['user'].'</td><td>'.date('d.m.y/H:i',$data['time']).'</td></tr>';
}
echo'</table></div>';
}
}
break;
case '91':
echo'<div class="mainzag">Добавление баннеров</div>';
echo'<div class="row"><form action="apanel.php?action=92" method="post">';
echo'Картинка:<br/><input type="text" value="http://" size="18" name="ka1"/><br/>
Ссылка:<br/><input type="text" value="http://" size="18" name="ka2"/><br/>
Alt:<br/><input type="text" size="18" name="ka3"/><br/>
Отступ:<select name="ka4">
<option value="0">нет</option><option value="1">есть</option>
</select><br/><input type="submit" value="Добавить"/></form></div>';
break;
case '92':
if(!$_POST){ error('Ошибка');}
mysql_query("INSERT INTO `reklames` SET `img`='".mysql_real_escape_string($_POST['ka1'],$mysql)."', `http`='".mysql_real_escape_string($_POST['ka2'],$mysql)."', `name`='".mysql_real_escape_string($_POST['ka3'],$mysql)."', `br`='".mysql_real_escape_string($_POST['ka4'],$mysql)."', `stat`='1'",$mysql);
echo'Успешно добавлена';
break;
case '93':
echo'<div class="mainzag">Баннеры:</div>';
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `reklames` WHERE `stat`='1'",$mysql),0) == 0) {
echo'Нет баннеров';
}else{
$allrum=mysql_query("SELECT * FROM `reklames` WHERE `mesto`='".$dat['mesto']."' AND `stat`='1' ORDER BY `id`",$mysql);
while($data=mysql_fetch_assoc($allrum)){
echo'<div class="row"><strong>Картинка:</strong> '.str_replace('http://','',$data['img']).' <img src="'.$data['img'].'" alt=""><br/>
<strong>Ссылка:</strong> '.str_replace('http://','',$data['http']).'<br/>
<strong>Alt:</strong> '.$data['name'].'<br/>
<strong>Отступ:</strong>: ';
echo $data['br'] == '1' ? 'Есть' : 'Нет';
echo'<br/><a href="apanel.php?action=94&k='.$data['id'].'"><button>Изменить</button></a> <a href="apanel.php?action=96&k='.$data['id'].'"><button>Удалить</button></a><br/>
</div>';
}
}
echo'<div class="rek2"><a href="apanel.php?action=91">Добавить баннер</a></div>';
break;
case '94':
$qres=mysql_query("SELECT `id` FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql);
if(mysql_num_rows($qres)==0){
error('Нет такой ссылки');
}else{
$qqq=mysql_fetch_assoc(mysql_query("SELECT * FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql));
echo'<div class="row"><form action="apanel.php?action=95&k='.int($_GET['k']).'" method="post">
Картинка<br/>
<input type="text" value="'.$qqq['img'].'" size="18" name="t"/>
<br/>Ссылка:<br/>
<input type="text" value="'.$qqq['http'].'" size="18" name="t2"/>
<br/>Alt:<br/>
<input type="text" value="'.$qqq['name'].'" size="18" name="t3"/>
<br/>Отступ:<br/>';
echo'<select name="t4">';
echo $qqq['br'] == '1' ? '<option value="1">есть</option><option value="0">нет</option>' : '<option value="1">есть</option><option value="0" selected>нет</option>';
echo'</select><br/><input type="submit" value="Редактировать"/></form></div>'; }
break;
case'95':
$qres=mysql_query("SELECT `id` FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql);
if(mysql_num_rows($qres)==0){
error('Нет такого баннера');
}else{
if(!$_POST){ error('Ничего не написано'); }
mysql_query("UPDATE `reklames` SET `img`='".mysql_real_escape_string($_POST['t'],$mysql)."', `http`='".mysql_real_escape_string($_POST['t2'],$mysql)."', `name`='".mysql_real_escape_string($_POST['t3'],$mysql)."', `br`='".mysql_real_escape_string($_POST['t4'],$mysql)."' WHERE `id`='".int($_GET['k'])."'",$mysql);
echo' Успешно отредактировано<br/><<<a href="apanel.php?action=93">Назад</a>';}
break;
case '96':
$qres=mysql_query("SELECT * FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql);
if(mysql_num_rows($qres)==0){
error('Нет такого баннера');
}else{
mysql_query("DELETE FROM `reklames` WHERE `id`='".int($_GET['k'])."'",$mysql);
echo'Успешно удалено';}
break;
case 'adv_link':
echo'<div class="mainzag">Управление рекламными ссылками</div>';
if($_POST['link']){mysql_query("INSERT INTO `reklames` SET `http`='".mysql_real_escape_string($_POST['link'],$mysql)."', `stat`='2'",$mysql); echo'Ссылка добавлена';}
if($_GET['delete']){mysql_query("DELETE FROM `reklames` WHERE `id`='".int($_GET['delete'])."' AND `stat`='2'",$mysql); echo'Ссылка удалена';}
if(mysql_result(mysql_query("SELECT COUNT(`id`) FROM `reklames` WHERE `stat`='2'",$mysql),0) == 0) {
echo'Нет ссылок';
}else{
$allrum=mysql_query("SELECT `http`,`kolls`,`id` FROM `reklames` WHERE `stat`='2' ORDER BY `id`",$mysql);
while($data=mysql_fetch_assoc($allrum)){
echo'<div class="row">'.str_replace('http://','',$data['http']).' (переходов: '.int($data['kolls']).') <a href="apanel.php?action=adv_link&delete='.$data['id'].'"><button>Удалить</button></a></div>';
}
}
echo'<div class="row">Создать ссылку:
<form action="apanel.php?action=adv_link" method="post">';
echo'<input type="text" value="http://" size="18" name="link"/><br/>
<input type="submit" value="Добавить"/></form></div>';
break;
}
######################################НОСОК##################################################
if ($action) {
echo '<div class="foot"><a href="apanel.php">Админка</a> |</div>';
}
require 'moduls/foot.php';
?>