<?php
// Уведомление о закрытии загруз-центра
if ($system['downloads_module'] == '2' && $user['level'] < 14) {
# Шапка модуля
require_once(HOME .'/incfiles/header.php');
echo '<div class="title">Технические работы</div>
<div class="menu">
'. output($system['downloads_module_about']) .'
</div>';
echo '<div class="block">
» <a href="/">На главную</a>
</div>';
# Ноги модуля
require_once(HOME .'/incfiles/footer.php');
}
if (isset($_GET['file_id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `id` = '". num($_GET['file_id']) ."'"), 0) == 0) $dir_id = 0;
else $dir_id = num($_GET['file_id']);
if ($dir_id == 0) {
header('Location: /loads/index.php');
}
# Массив с данными
$file = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads` WHERE `id` = '$dir_id' LIMIT 1"));
# Заголовок модуля
$system['page_title'] = $file['name'];
# Шапка модуля
require_once(HOME .'/incfiles/header.php');
if (isset($_GET['edit']) && isset($user) && ($user['level'] >= 14 || $user['level'] == 10) && isset($_POST['edit'])) {
# директория файлов
$file_dir = HOME .'/files/loads_screens/';
if ($_FILES['screen1']['tmp_name']) {
# Инфа о файле
$patch = pathinfo($_FILES['screen1']['name']);
// Проверка верности расширения
if (!in_array($patch['extension'], explode(';', $system['img_files']))) $err .= 'Запрещенное расширение скриншотов.<br />';
if (!isset($err)) {
# Уникальное имя файла
$key1 = md5('screen1' . time());
$key1 = substr($key1, 0, 15) .'.'. $patch['extension'];
if ($file['screen1'] != NULL) unlink($file_dir . $file['screen1']);
# Копирование файла
move_uploaded_file($_FILES['screen1']['tmp_name'], $file_dir . $key1);
# Сохраняем данные
mysql_query("UPDATE `loads` SET `screen1` = '". $key1 ."' WHERE `id` = '$dir_id' LIMIT 1");
}
}
if ($_FILES['screen2']['tmp_name']) {
# Инфа о файле
$patch = pathinfo($_FILES['screen2']['name']);
// Проверка верности расширения
if (!in_array($patch['extension'], explode(';', $system['img_files']))) $err .= 'Запрещенное расширение скриншотов.<br />';
if (!isset($err)) {
# Уникальное имя файла
$key2 = md5('screen2' . time());
$key2 = substr($key2, 0, 15) .'.'. $patch['extension'];
if ($file['screen2'] != NULL) unlink($file_dir . $file['screen2']);
# Копирование файла
move_uploaded_file($_FILES['screen2']['tmp_name'], $file_dir . $key2);
# Сохраняем данные
mysql_query("UPDATE `loads` SET `screen2` = '". $key2 ."' WHERE `id` = '$dir_id' LIMIT 1");
}
}
if ($_FILES['screen3']['tmp_name']) {
# Инфа о файле
$patch = pathinfo($_FILES['screen3']['name']);
// Проверка верности расширения
if (!in_array($patch['extension'], explode(';', $system['img_files']))) $err .= 'Запрещенное расширение скриншотов.<br />';
if (!isset($err)) {
# Уникальное имя файла
$key3 = md5('screen3' . time());
$key3 = substr($key3, 0, 15) .'.'. $patch['extension'];
if ($file['screen3'] != NULL) unlink($file_dir . $file['screen3']);
# Копирование файла
move_uploaded_file($_FILES['screen3']['tmp_name'], $file_dir . $key3);
# Сохраняем данные
mysql_query("UPDATE `loads` SET `screen3` = '". $key3 ."' WHERE `id` = '$dir_id' LIMIT 1");
}
}
$rate = num($_POST['rate']);
if ($rate != 0 && $rate != 1 && $rate != 2 && $rate != 3 && $rate != 4 && $rate != 5 && $rate != 6 && $rate != 7 && $rate != 8 && $rate != 9 && $rate != 10) $err .= 'Неверный формат оценки.<br />';
$about = txt($_POST['about']);
# Проверка длины логина
if (!empty($about) && (strlen_rus($about) < 3 || strlen_rus($about) > 7000)) $err .= 'Неверная длина описания. Допустимо от 3 до 7000 символов<br />';
if (!isset($err)) {
# Сохраняем данные
mysql_query("UPDATE `loads` SET `about` = '". input($about) ."', `rate` = '$rate' WHERE `id` = '$dir_id' LIMIT 1");
echo '<div class="title">Изменение информации</div>
<div class="menu">
Информация успешно изменена.
</div>';
echo '<div class="block">
» <a href="/loads/file.php?file_id='. $dir_id .'">Вернуться к объекту</a><br />
» <a href="/">На главную</a>
</div>';
# Ноги модуля
require_once(HOME .'/incfiles/footer.php');
}
}
// Добавление файлов
if (isset($_GET['add_files']) && isset($user) && ($user['level'] >= 14 || $user['level'] == 10) && isset($_POST['add'])) {
# Кол-во добавляемых файлов
$kol_files_n = num($_POST['kol_files_n']);
# Директория файлов
$file_dir = HOME .'/files/loads/';
// Цикл сохраняющий файлы
for ($i=0;$i<$kol_files_n;$i++) {
# Номер сохраняемого файла
$num_file = $i + 1;
// Проверяем отправку файла
if ($_FILES['file_'. $num_file]['tmp_name']) {
# Имя файла
$file_name = txt($_POST['name_'. $num_file]);
# Проверяем длину имени
if (!empty($file_name) && (strlen_rus($file_name) < 3 || strlen_rus($file_name) > 64)) $err .= 'Неверная длина файла номер '. $num_file .'. Допустимо от 3 до 60 символов.<br />';
# Информация о файле
$patch = pathinfo($_FILES['file_'. $num_file]['name']);
// Проверка верности расширения
if (!in_array($patch['extension'], explode(';', $system['files_ext']))) $err .= 'Запрещенное расширение файла номер '. $num_file .'.<br />';
// Сохранение файла
if (!isset($err)) {
# Уникальное имя файла
$key = md5(str_replace('.'. $patch['extension'], '', $patch['basename']) . $file['id']);
$name = str_replace('.'. $patch['extension'], '', $patch['basename']) .'_'. substr($key, 0, 5) .'.'. $patch['extension'];
if (file_exists($file_dir . $name)) $err .= 'Такой же файл, как и файл номер '. $num_file .' уже существует на сервере.<br />';
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `loads_files` WHERE `server_name` = '$name' AND `file_id` = '$file[id]'"), 0) != 0) $err .= 'Такой же файл, как и файл номер '. $num_file .' уже существует в базе данных.<br />';
if (!isset($err)) {
# Копирование файла
move_uploaded_file($_FILES['file_'. $num_file]['tmp_name'], $file_dir . $name);
# Имя файла
if (empty($file_name)) $file_name = str_replace('.'. $patch['extension'], '', $patch['basename']);
# Сохраняем данные
mysql_query("INSERT INTO `loads_files` SET `file_id` = '$file[id]', `time` = '". time() ."', `name` = '". input($file_name) ."', `size` = '". $_FILES['file_'. $num_file]['size'] ."', `server_name` = '$name', `ext` = '$patch[extension]'");
}
}
}
}
if (!isset($err)) {
# Вывод уведомления
echo '<div class="title">Добавление файлов</div>
<div class="menu">
Файлы успешно добавлены.
</div>';
echo '<div class="block">
» <a href="/loads/file.php?file_id='. $dir_id .'">Вернуться к объекту</a><br />
» <a href="/">На главную</a>
</div>';
# Ноги модуля
require_once(HOME .'/incfiles/footer.php');
}
}
error($err);
# Массив с данными
$file = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads` WHERE `id` = '$dir_id' LIMIT 1"));
// изменение объекта
if (isset($_GET['edit']) && isset($user) && ($user['level'] >= 14 || $user['level'] == 10)) {
echo '<div class="title">Изменение информации</div>
<form enctype="multipart/form-data" method="post" method="post" action="/loads/file.php?file_id='. $dir_id .'&edit">
'. (!empty($file['screen1'])?'<div class="menu">Скриншот 1:<br /><img src="/files/loads_screens/'. $file['screen1'] .'" alt="" width="100" /><br /><input type="file" name="screen1" accept="image/*, image/gif, image/png, image/jpeg" /></div>':'<div class="menu">Скриншот 1:<br /><input type="file" name="screen1" accept="image/*, image/gif, image/png, image/jpeg" /></div>') .'
'. (!empty($file['screen2'])?'<div class="menu">Скриншот 2:<br /><img src="/files/loads_screens/'. $file['screen2'] .'" alt="" width="100" /><br /><input type="file" name="screen2" accept="image/*, image/gif, image/png, image/jpeg" /></div>':'<div class="menu">Скриншот 2:<br /><input type="file" name="screen2" accept="image/*, image/gif, image/png, image/jpeg" /></div>') .'
'. (!empty($file['screen3'])?'<div class="menu">Скриншот 3:<br /><img src="/files/loads_screens/'. $file['screen3'] .'" alt="" width="100" /><br /><input type="file" name="screen3" accept="image/*, image/gif, image/png, image/jpeg" /></div>':'<div class="menu">Скриншот 3:<br /><input type="file" name="screen3" accept="image/*, image/gif, image/png, image/jpeg" /></div>') .'
<div class="menu">
Описание:<br />
<textarea name="about" rows="4" cols="20">'. $file['about'] .'</textarea><br />
Оценка Promob:<br />
<select name="rate" size="1">
<option value="0"'. ($file['rate'] == 0?' selected="selected"':NULL) .'>0</option>
<option value="1"'. ($file['rate'] == 1?' selected="selected"':NULL) .'>1</option>
<option value="2"'. ($file['rate'] == 2?' selected="selected"':NULL) .'>2</option>
<option value="3"'. ($file['rate'] == 3?' selected="selected"':NULL) .'>3</option>
<option value="4"'. ($file['rate'] == 4?' selected="selected"':NULL) .'>4</option>
<option value="5"'. ($file['rate'] == 5?' selected="selected"':NULL) .'>5</option>
<option value="6"'. ($file['rate'] == 6?' selected="selected"':NULL) .'>6</option>
<option value="7"'. ($file['rate'] == 7?' selected="selected"':NULL) .'>7</option>
<option value="8"'. ($file['rate'] == 8?' selected="selected"':NULL) .'>8</option>
<option value="9"'. ($file['rate'] == 9?' selected="selected"':NULL) .'>9</option>
<option value="10"'. ($file['rate'] == 10?' selected="selected"':NULL) .'>10</option>
</select><br />
<input type="submit" name="edit" value="Сохранить" />
</div>
</form>';
echo '<div class="block">
» <a href="/loads/file.php?file_id='. $dir_id .'">Вернуться к объекту</a><br />
» <a href="/">На главную</a>
</div>';
# Ноги модуля
require_once(HOME .'/incfiles/footer.php');
}
// изменение объекта
if (isset($_GET['add_files']) && isset($user) && ($user['level'] >= 14 || $user['level'] == 10)) {
# Кол-во форм для вывода
if (num($_POST['kol_files']) != 0) $kol_files = num($_POST['kol_files']);
else $kol_files = 1;
echo '<div class="title">Добавление файлов</div>
<form enctype="multipart/form-data" method="post" method="post" action="/downloads/file.php?file_id='. $dir_id .'&add_files">
<div class="menu">
Кол-во файлов: <input type="text" name="kol_files" size="3" value="'. $kol_files .'" /> <input type="submit" value=">" />
</div>';
// Цикл выводящий формы
for ($i=0;$i<$kol_files;$i++) {
# Номер файла
$num_file = $i + 1;
# Вывод формы
echo '<div class="menu">
Название '. $num_file .':<br />
<input type="text" name="name_'. $num_file .'" /><br />
Файл '. $num_file .':<br />
<input type="file" name="file_'. $num_file .'" />
</div>';
}
echo '<div class="menu">
<input type="submit" name="add" value="Загрузить" />
</div>
<input type="hidden" name="kol_files_n" value="'. $kol_files .'" checked />
</form>';
echo '<div class="block">
» <a href="/loads/file.php?file_id='. $dir_id .'">Вернуться к объекту</a><br />
» <a href="/">На главную</a>
</div>';
# Ноги модуля
require_once(HOME .'/incfiles/footer.php');
}
echo '<div class="title">'. $file['name'] .'</div>
<div class="menu">';
if (empty($file['screen1']) && empty($file['screen2']) && empty($file['screen3'])) {
echo 'Скриншотов нет.';
}
else if (!empty($file['screen1']) && !isset($_GET['screen'])) {
echo '<img src="/files/loads_screens/'. $file['screen1'] .'" alt="" width="100" /><br />Скриншоты: [1]'. (!empty($file['screen2'])?', <a href="/loads/file.php?file_id='. $file['id'] .'&screen=2">2</a>':NULL) . (!empty($file['screen3'])?', <a href="/loads/file.php?file_id='. $file['id'] .'&screen=3">3</a>':NULL);
}
else if (isset($_GET['screen']) && $_GET['screen'] == 2 && !empty($file['screen2'])) {
echo '<img src="/files/loads_screens/'. $file['screen2'] .'" alt="" width="100" /><br />Скриншоты: <a href="/loads/file.php?file_id='. $file['id'] .'">1</a>, [2]'. (!empty($file['screen3'])?', <a href="/loads/file.php?file_id='. $file['id'] .'&screen=3">3</a>':NULL);
}
else if (isset($_GET['screen']) && $_GET['screen'] == 3 && !empty($file['screen3'])) {
echo '<img src="/files/loads_screens/'. $file['screen3'] .'" alt="" width="100" /><br />Скриншоты: <a href="/loads/file.php?file_id='. $file['id'] .'">1</a>, <a href="/loads/file.php?file_id='. $file['id'] .'&screen=2">2</a>, [3]';
}
else {
echo 'Скриншотов нет.';
}
echo '</div>
<div class="menu">
Добавлен: '. vtime($file['time']) .'<br />
Скачиваний: '. $file['loads'] .'
</div>
<div class="menu">
Описание: '. ($file['about'] != NULL?output($file['about']):'нет.') .'
</div>
<div class="menu">
Оценка Promob: '. ($file['rate'] == 0?'не оценен.':$file['rate'] .' из 10') .'
</div>';
// Вывод файлов
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `loads_files` WHERE `file_id` = '$file[id]'"), 0) == 0) echo '<div class="menu">Файлов нет.</div>';
else {
echo '<div class="menu">Скачать:</div>';
// Цикл вывода
$sql_files = mysql_query("SELECT * FROM `loads_files` WHERE `file_id` = '$file[id]' ORDER BY time DESC");
while ($file_info = mysql_fetch_assoc($sql_files)) {
echo '<div class="menu">'. (isset($user) && $settings['img_site'] == 2?'['. $file_info['ext'] .'] ':'<img src="/design/icons/files/'. $file_info['ext'] .'.png" alt="['. $file_info['ext'] .']" /> ') .'<a href="/loads/load_file.php?file_id='. $file_info['id'] .'">'. $file_info['name'] .'</a>'. ($file_info['ext'] == 'jar'?' [<a href="/loads/get_jad.php?file_id='. $file_info['id'] .'">JAD</a>]':NULL) .' ('. size($file_info['size']) .')</div>';
}
}
echo '<div class="block">
'. ($file['dir_id'] > 0?'» <a href="/loads/index.php?dir_id='. $file['dir_id'] .'">'. mysql_result(mysql_query("SELECT `name` FROM `loads` WHERE `id` = '$file[dir_id]'"), 0) .'</a><br />':'» <a href="/loads/">В загрузки</a><br />') .'
» <a href="/">На главную</a>
</div>';
if (isset($user) && ($user['level'] >= 14 || $user['level'] == 10)) {
echo '<div class="block">» <a href="/loads/file.php?file_id='. $dir_id .'&edit">Изменить информацию</a><br />
» <a href="/loads/file.php?file_id='. $dir_id .'&add_files">Добавить файлы</a></div>';
}
# Ноги модуля
require_once(HOME .'/incfiles/footer.php');
?>