| span style="color: #0000BB"><?php/** * @package JohnCMS * @link http://johncms.com * @copyright Copyright (C) 2008-2011 JohnCMS Community * @license LICENSE.txt (see attached file) * @version VERSION.txt (see attached file) * @author http://johncms.com/about */defined('_IN_JOHNCMS') or die('Error: restricted access');require('../incfiles/head.php');if ($rights == 4 || $rights >= 6) { $req = mysql_query("SELECT * FROM `down_files` WHERE `type` = 1 AND `id` = '$id' LIMIT 1"); $res = mysql_fetch_assoc($req); if (!mysql_num_rows($req) || !is_dir($res['dir'] . '/' . $res['name'])) { echo functions::display_error('Каталог не существует<br /><a href="index.php">К категориям</a>'); require('../incfiles/end.php'); exit; } $al_ext = $res['field'] ? explode(', ', $res['text']) : $defaultExt; if (isset($_POST['submit'])) { $load_cat = $res['dir'] . '/' . $res['name']; $error = array (); $link = isset($_POST['fail']) ? str_replace('./', '_', trim($_POST['fail'])) : null; if ($link) { if (mb_substr($link, 0, 7) !== 'http://') $error[] = 'Неправильная ссылка'; else $link = str_replace('http://', '', $link); } if ($link && !$error) { $fname = basename($link); $new_file = isset($_POST['new_file']) ? trim($_POST['new_file']) : null; $name = isset($_POST['text']) ? trim($_POST['text']) : null; $name_link = isset($_POST['name_link']) ? functions::check(mb_substr($_POST['name_link'], 0, 200)) : null; $text = isset($_POST['opis']) ? mysql_real_escape_string(trim($_POST['opis'])) : null; $ext = explode(".", $fname); if (!empty($new_file)) { $fname = strtolower($new_file . '.' . $ext[1]); $ext = explode(".", $fname); } if (empty($name)) $name = $fname; if (empty($name_link)) $error[] = 'Не заполнено поле.'; if (count($ext) != 2) $error[] = 'Неправильное имя файла! К отправке разрешены только файлы имеющие имя и одно расширение (<b>name.ext</b>)'; if (!in_array($ext[1], $al_ext)) $error[] = 'Запрещенный тип файла! К отправке разрешены только файлы, имеющие следующее расширение: ' . implode(', ', $al_ext); if (strlen($fname) > 30) $error[] = 'Длина названия файла и названия для сохранеия не должна превышать 30 символов'; if (preg_match("/[^\da-z_\-.]+/", $fname)) $error[] = 'В названии файла присутствуют недопустимые символы. Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- ). Запрещены пробелы.'; } elseif (!$link) { $error[] = 'Вы не ввели ссылку.'; } if ($error) { $error[] = '<a href="index.php?act=import&id=' . $id . '">Повторить</a>'; echo functions::display_error($error); } else {if (file_exists("$load_cat/$fname")) $fname = $realtime . $fname; if (copy('http://' . $link, "$load_cat/$fname")) { echo '<div class="phdr"><b>Импорт файла</b></div>'; echo '<div class="gmenu">Файл выгружен</div>'; $fname = mysql_real_escape_string($fname); $name = mysql_real_escape_string(mb_substr($name, 0, 200)); mysql_query("INSERT INTO `down_files` SET `refid`='$id', `dir`='$load_cat', `time`='$realtime',`name`='$fname', `text` = '$name_link',`rus_name`='$name', `type` = '2',`user_id`='$user_id', `about` = '$text'"); $file_id = mysql_insert_id(); require('../incfiles/lib/class.upload.php'); $handle = new upload($_FILES['screen']); if ($handle->uploaded) { if (mkdir($screens_path . '/' . $file_id, 0777) == true) @chmod($screens_path . '/' . $file_id, 0777); $handle->file_new_name_body = $file_id; $handle->allowed = array ( 'image/jpeg', 'image/gif', 'image/png' ); $handle->file_max_size = 1024 * $set['flsz']; $handle->file_overwrite = true; if ($set_down['screen_resize']) { $handle->image_resize = true; $handle->image_x = 240; $handle->image_ratio_y = true; } $handle->process($screens_path . '/' . $file_id . '/'); if ($handle->processed) { echo '<div class="rmenu">Скриншот прикреплен</div>'; } else echo '<div class="rmenu">Скриншот не прикреплен: ' . $handle->error . '</div>'; } echo '<div class="menu"><a href="index.php?act=view&id=' . $file_id . '">К файлу</a></div>'; $dirid = $id; $sql = ''; while ($dirid != '0' && $dirid != "") { $res_down = mysql_fetch_assoc(mysql_query("SELECT `refid` FROM `down_files` WHERE `type` = 1 AND `id` = '$dirid' LIMIT 1")); if ($i) $sql .= ' OR '; $sql .= '`id` = \'' . $dirid . '\''; $dirid = $res_down['refid']; ++$i; } mysql_query("UPDATE `down_files` SET `total` = (`total`+1) WHERE $sql"); mysql_query("OPTIMIZE TABLE `down_files`"); echo '<div class="phdr"><a href="index.php?act=import&id=' . $id . '">Выгрузить еще</a> | '; echo '<a href="index.php?id=' . $id . '">Вернуться в категорию</a></div>'; } else echo '<div class="rmenu">Ошибка импорта.<br /><a href="index.php?act=import&id=' . $id . '">Повторить</a></div>'; } } else { echo '<div class="phdr"><b>Импорт файла: ' . functions::checkout($res['rus_name']) . '</b></div>'; echo '<div class="list1"><form action="index.php?act=import&id=' . $id . '" method="post" enctype="multipart/form-data"> Ссылка<span class="red">*</span>:<br /><input type="post" name="fail" value="http://"/><br /> Сохранить как (max. 30, без расширения):<br /><input type="text" name="new_file"/><br /> Скриншот:<br /><input type="file" name="screen"/><br /> Название файла (мах. 200):<br /><input type="text" name="text"/><br /> Ссылка для скачки файла (мах. 200)<span class="red">*</span>:<br /><input type="text" name="name_link" value="Скачать файл"/><br /> Описание (max. 500)<br /><textarea name="opis"></textarea>'; echo '<br /><input type="submit" name="submit" value="Импортировать"/></form>'; echo '</div><div class="phdr"><small>Max. вес: ' . $set['flsz'] . ' кб, расширения: ' . implode(', ', $al_ext) . ($set_down['screen_resize'] ? '<br />Скриншот будет автоматически преобразован в картинку, шириной не превышающую 240px (пропорции сохранятся)' : '') . '</small></div>'; echo '<p><a href="index.php?id=' . $id . '">Назад</a></p>'; }} else { header('Location: ' . $set['homeurl'] . '/?err');}?> |
|