- <?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');
-
- ?>