Плагин «Файловый архив» (обновление 10.08.2014)
Описание
Плагин добавляет новый тип топика «Файл».
Позволяет запрещать скачивание файлов для неавторизованных пользователей.
Ведет учет количества скачиваний файла.
GitHub: github.com/wasja1982/livestreet_filearchive
Внешний вид
Создание топика-файла
При включенном запрете для неавторизованных пользователей (ссылка ведет на регистрацию)
При выключенном запрете для неавторизованных пользователей
При недостатке рейтинга для авторизованных пользователей
Настройка
Настройка плагина осуществляется редактированием файла "/plugins/filearchive/config/config.php".
Поддерживаемые директивы:
1) $config['text_max_length'] — Максимальное количество символов в одном топике-файле
2) $config['uploads_files'] — Путь к каталогу с файлами
3) $config['max_size'] — Максимальный размер файла, байт. По умолчанию 1 Мб.
4) $config['only_users'] — Доступ к скачиванию только пользователям. По умолчанию включено (true).
5) $config['use_limit'] — Использовать ограничение рейтинга для доступа к скачиванию (используется при $config['only_users'] = true). По умолчанию отлючено (false).
6) $config['limit_rating'] — Порог рейтинга при котором юзер может скачивать топики (используется при $config['only_users'] = true и $config['use_limit'] = true). По умолчанию 0.
7) $config['allow_ext'] — Разрешенные расширения для файла. По умолчанию — 'pdf', 'rar', 'zip'.
8) $config['show_info'] — Показывать число скачиваний в панели информации топика. По умолчанию включено (true).
9) $config['show_write_item'] — Добавить иконку в меню «Создать». По умолчанию отлючено (false).
Установка
1. Скопировать плагин в каталог /plugins/
2. Через панель управления плагинами (/admin/plugins/) запустить его активацию.
Изменения
1.0.3 (10.08.2014)
— Добавлена поддержка плагина «Nice URL».
— Добавлена поддержка плагина «Skdatedit».
1.0.2 (22.04.2014)
— Добавлен параметр $config['show_write_item'] — Добавить иконку в меню «Создать».
— Добавлена поддержка шаблона Social.
— Добавлена поддержка плагина «Main Preview».
— Добавлена поддержка шаблона Mobile.
1.0.1 (19.12.2013)
— Добавлена функция isFile() — для проверки, является ли топик файлом.
— Добавлено отображение иконки и числа скачиваний.
— Добавлен параметр $config['show_info'] — Показывать число скачиваний в панели информации топика.
— Добавлена обработка тега
— Сокращенный вывод описания в списке топиков.
— Добавлено ограничение рейтинга на скачивание.
— Добавлен параметр $config['use_limit'] — Использовать ограничение рейтинга для доступа к скачиванию.
— Добавлен параметр $config['limit_rating'] — Порог рейтинга при котором юзер может скачивать топики.
86 комментариев
Сам делал себе такую штуку пол года назад. Всё реализовал с помощью дополнительного поля к топику. Мануал есть в сообществе.
Не смущайтесь что для ver 0.5, я делал всё по нему, всё работает!
Скорее всего там данные, которые должны генерироваться скриптом, в форму не подставляются, что и дает ошибку. А может наоборот, данные подставляются, а вот проверка не переопределена полностью.
— Исправлена ошибка с сохранением файла — теперь сохранение происходит только после успешной верификации данных.
Кстати, есть предложение:
Перенести ссылку на скачивание в блок с Оценками Просмотрами Избранным, так же в виде иконки.
.icon-download-alt
— на мой взгляд кнопка должна максимально мотивировать пользователя, а в «topic-info» её сразу и не увидишь...(имхо конечно).
Но в принципе ничего плохого в выводе количества скачиваний в «topic-info» нет.
Вот сносить ли основную ссылку — это пусть каждый сам решает.
Вообще есть наблюдения, что большинство плагинов юзают ограничения (вот предположил возможные). Почему бы не включить в LS некий модуль со всеми возможными ограничениями на просмотр, а плагинах и их конфигах прописывать какие надо. Типа getIsAllowView.
Ведь в отношении топиков есть getIsAllowEdit и getIsAllowDelete.
Потому что будет избыточно.
каждый параметр необязательный, по умолчанию — 0, false
А в плагинах выводить эти значения из их конфигов…
Добавлены параметры:
— $config['use_limit'] — Использовать ограничение рейтинга для доступа к скачиванию (используется при $config['only_users'] = true). По умолчанию отлючено (false).
— $config['limit_rating'] — Порог рейтинга при котором юзер может скачивать топики (используется при $config['only_users'] = true и $config['use_limit'] = true). По умолчанию 0.
— Добавлено отображение иконки и числа скачиваний.
— Добавлен параметр $config['show_info'] — Показывать число скачиваний в панели информации топика.
— Добавлена обработка тега
— Сокращенный вывод описания в списке топиков.
Разрешить прикреплять файлы к следующим типам топика: array (...)
Добавить тип топика «Топик-Файл»: true, false
Ошибка:
Файл плагина /usr/share/nginx/www/plugins/livestreet_filearchive/PluginLivestreet_filearchive.class.php не найден
Переименовываю PluginFilearchive.class.php в PluginLivestreet_filearchive.class.php и получаю:
Fatal error: Class 'PluginLivestreet_filearchive' not found in /usr/share/nginx/www/plugins/aceadminpanel/classes/modules/plugin/Plugin.class.php on line 112
Какой шаблон используется? Файл «menu.create.content.tpl» вообще присутствует в Вашем шаблоне?
Action: «file» (PluginFilearchive_ActionFile)
Event: «add»
Error number:
1
Error message:
Uncaught exception 'SmartyException' with message 'Unable to load template file 'menu.create.content.tpl' in 'nav_content.tpl'' in /..../engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templatebase.php:127
Stack trace:
#0 /...../engine/lib/external/Smarty/libs/sysplugins/smarty_internal_template.php(288): Smarty_Internal_TemplateBase->fetch(NULL, NULL, NULL, NULL, false, false, true)
#1 /...../templates/compiled/social/90ac032a8441ce73396637c70a8951c83a454f9e.file.nav_content.tpl.php(36): Smarty_Internal_Template->getSubTemplate('menu.create.con...', NULL, NULL, NULL, NULL, Array, 0)
#2 /..../engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templatebase.php(180): content_52b9de644917e0_37041305(Object(Smarty_Internal_Template))
#3 /...../engine/lib/external/Smarty/libs/sysplugins/smarty_internal_template.php(288): Smarty_Internal_TemplateB
File:
/..../engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templatebase.php
Line:
127
На стандартном шаблоне этой ошибки нету… посмотрите пожалуйста что нужно поправить… LS 1.0.3
— создать папку /plugins/filearchive/templates/skin/social/
— скопировать туда содержимое папки /plugins/filearchive/templates/skin/default/
— в файле /plugins/filearchive/templates/skin/social/actions/ActionFile/add.tpl в этой строке заменить menu_content='create' на menu='create'
— nav_content.tpl
— menu.create.tpl
— actions/ActionTopic/add.tpl
А подключается эта менюшка menu='create' (а не menu_content='create') — подсмотрено в actions/ActionTopic/add.tpl
PS. Да, еще файлик «topic_topic.tpl» тоже хотелось бы глянуть.
попробовал так:
по хуку {hook run='write_item' isPopup=true}:
в CSS (он у вас пока не подключен):
Вроде смотрится норм.
А по поводу данного плагина — идея не в том, чтобы позволить пользователям прикреплять файлы к топикам, а в том, чтобы пользователи могли добавлять файлы, сопроводив их детальным описанием (плюс ограничение рейтинга для скачивания).
И небольшая проблема: при добавлении/ редактировании топика-файла в самом низу не отображается блок заливки превью от плагина mainpreview
Возможно ли опционально задавать ссылке title вручную?
Зачем? :)
Скачать doklad.doc
Скачать доклад: «Влияние походки на сердечно-сосудистую систему»
имхо 2-й вариант смотрибельнее…
подставьте
вот если бы опционально задавать имя ссылке… :)
например человек залил шаблон и хочет его продать. Было бы не плохо.
можно даже в платной версии сделать такой замут, мало ли кому нужно для бизнеса.
1) если файл не был загружен на сервер (из-за ограничений сервера, например);
2) изменен шаблон и удалено поле «topic_file»;
3) не выбран файл.
заменить «add_topic_file» на «add_topic_topic».
Если не сработает, то проблема глубже и без исходников плагина «Multiblog» решить ее у меня не получится.
Только адрес "/plugins/filearchive/templates/skin/default/actions/ActionFile/add.tpl».
Это я для других, ну мало-ли.
Спасибо.
Первая картинка показывает что должно быть
Вторая картинка показывает чего нет при создании файла
Название файла — размер — «скачать»
===============================================
Название файла — размер — «скачать»
===============================================
Название файла — размер — «скачать»
===============================================
Ковыряю уже второй час((( совсем беда…
Для этого необходимо создать наследников файлов ActionBlog.class.php, ActionIndex.class.php и ActionPersonalBlog.class.php, добавить новый ивенты в этих файлах (пример) и добавить функции выборки из БД подходящих топиков, т.е. тех где topic_type равен «file» (пример).
Если получится реализовать, формируйте Pull request на GitHub, добавлю функционал в плагин.
на строку: