Загруз-центр для JohnCMS 3/4.xx

58.58K
.
Gaucer, как?
.
Mes que un club
kokrek3 (01.04.2013 / 13:17)
Gaucer, как?
Да посмотри, какой файл импортирует, зайди и удали проверку. Там все понятно по структуре.
.
<?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('Каталог не существует
<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&amp;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&amp;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&amp;id=' . $id . '">Выгрузить еще</a> | ';
                echo '<a href="index.php?id=' . $id . '">Вернуться в категорию</a></div>';
            } else
                echo '<div class="rmenu">Ошибка импорта.
<a href="index.php?act=import&amp;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&amp;id=' . $id
            . '" method="post" enctype="multipart/form-data">
        Ссылка<span class="red">*</span>:
<input type="post" name="fail" value="http://"/>

        Сохранить как (max. 30, без расширения):
<input type="text" name="new_file"/>

        Скриншот:
<input type="file" name="screen"/>

        Название файла (мах. 200):
<input type="text" name="text"/>

        Ссылка для скачки файла (мах. 200)<span class="red">*</span>:
<input type="text" name="name_link" value="Скачать файл"/>

        Описание (max. 500)
<textarea name="opis"></textarea>';
        echo '
<input type="submit" name="submit" value="Импортировать"/></form>';
        echo '</div><div class="phdr"><small>Max. вес: ' . $set['flsz'] . ' кб, расширения: ' . implode(', ', $al_ext) . ($set_down['screen_resize'] ? '
Скриншот будет автоматически преоброзаван в картинку, шириной не превышающую 240px (высота будет вычислина автоматически)' : '') . '</small></div>';
        echo '<p><a href="index.php?id=' . $id . '">Назад</a></p>';
    }
} else {
    header('Location: ' . $set['homeurl'] . '/?err');
}
?>
.
нужно убрать вот это?

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[] = 'В названии файла присутствуют недопустимые символы. Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- ). Запрещены пробелы.';
.
Mes que un club
Ну ты не убирай прямо все. Оно не для красоты придумано. Пробелы оставь.
.
Gaucer, тогда я только вот это уберу, то что мне мешает

if (!in_array($ext[1], $al_ext))
                $error[] = 'Запрещенный тип файла! К отправке разрешены только файлы, имеющие следующее расширение: ' . implode(', ', $al_ext);
            if (strlen($fname) > 30)
                $error[] = 'Длина названия файла и названия для сохранеия не должна превышать 30 символов';
            if (preg_match("/[^\da-z_\-.]+/", $fname))
                $error[] = 'В названии файла присутствуют недопустимые символы. Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- ). Запрещены пробелы.';
.
-akcent-, с удовольствием тебе отвечу, все плееры онлайн воспроизводят только видео с кодеком H.264 надо видео конвертировать либо на сервере либо на компе и выгружать
.
блин проблема на денвер поставил ffmреg и в загрузки не зайдешь ошибку ХМL разбора выдает
.
Не установлены размеры для скриншотов с видео, если загрузить видео с высоким разрешением, то скрин будет тоже большим
пример
.
Картинки,нельзя скачать,при выборе размера.
Всего: 3887