Закачка файла посетителем на странице сайта

Материал из Umicms
Версия от 09:03, 11 апреля 2014; Stexe (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Актуально для версии 2.9.6

Задача: Дать возможность закачки файла посетителям сайта

Реализация:

В типе данных страниц, на которых будет располагаться форма закачки файла, в модуле "Шаблоны данных" добавим поле типа "Файл" c идентификатором "fs_file". Если типом данных страниц является тип "Скачиваемый файл", то в нем уже присутствует описанное выше поле. Для того, чтобы посетители сайта имели возможность закачать файл для страниц, необходимо установить группе "Все" права на их (страниц) редактирование (секция "Права доступа").

В шаблон вывода этих страниц добавим вызов макроса %filemanager shared_file()%:

%filemanager shared_file('upload')%

Создадим файл tpls\filemanager\upload.tpl и добавим в него следующее содержимое:

<?php

$FORMS['shared_file'] = <<<END
Имя файла: %file_name% <br />
Размер файла: %file_size% Kb <br />

Если закачивание файла не начнется через 10 сек, кликните 
<a href="%download_link%">по этой ссылке</a> 
<script languge="text/javascript"> 
    window.setTimeout('document.location.href="%download_link%";', 10000); 
</script>
END;

$FORMS['upload_file'] = <<<END
<form method="post" enctype="multipart/form-data" action=""> 
    <input type="file" name="shared_files[upload]" /> 
    <input type="submit" value="Закачать" /> 
</form> 
END;

$FORMS['broken_file'] = <<<END
   Файл не существует.
   %upload_file%
END;

?>

Если файл еще не был закачен, то будет выведена форма для его закачки, или ссылка для его скачивания в ином случае.