This is a very small theme component that will remove the upload button from the composer toolbar and disable drag-and-drop uploading for users that are under a specified trust level.
My forum is pushing 1.1GB in uploaded media. We’re growing in a way I wasn’t super prepared for and have been trying to coerce users to use places like imgur instead. This really, really helps!
Я только что проверил, и всё работает корректно. Убедитесь, что вы добавили компонент «Restrict Uploads» в основную тему. Также потребуется выполнить жесткую перезагрузку страницы, чтобы компонент применился. И не забудьте, что учётная запись, которую вы используете для тестирования, не должна быть учётной записью сотрудника.
Примечание для всех, кто использует этот компонент: выпущено обновление, требующее наличия последней версии Discourse, прошедшей все тесты. Если ваш сайт Discourse не обновлён, НЕ обновляйте компонент, так как он будет ссылаться на базовый код, которого у вас ещё нет, что приведёт к сбою функциональности редактора сообщений на вашем сайте.
Мне кажется, что в версии 2.6.0.beta2 это сломано (для администраторов и модераторов), но кроме собственного опыта я не могу получить никаких подтверждений.
Спасибо большое за отчёт, @Iceman! Я только что выложил исправление, которое должно всё вернуть в норму
Дайте знать, если возникнут какие-либо проблемы после обновления компонента.
Я только что попробовал загрузить AVI-файл с уровнем доверия ниже, чем указано в настройке темы «Ограничить уровнем доверия», и загрузка была заблокирована, как и ожидалось.
Если вы хотите запретить обычным пользователям (не сотрудникам) загружать именно AVI-файлы, убедитесь, что расширение AVI не добавлено в «Разрешенные расширения». Если вы хотите, чтобы сотрудники могли загружать AVI, добавьте это расширение в «Разрешенные расширения для сотрудников».
Это действительно круто.
Можно ли разделить ограничения между публикациями и личными сообщениями?
Например, разрешить загрузку изображений в личных сообщениях только сотрудникам, а пользователям уровня tl2 — в обычных публикациях.
Привет, просто хочу отметить, что это «ломается» в версии Discourse Latest (2.8.0.beta6 (0d809197aa)).
TypeError: null is not an object (evaluating ´this.mobileUploadButton.addEventListener´)
Детали:
Началось после пересборки (и, следовательно, обновления до последней версии).
Это происходит только на мобильных устройствах.
Не наблюдается во всех браузерах и не на всех устройствах (возможно, проблема в кэше? не знаю). Но как только это случается, для пользователя нет способа «исправить это».
Поведение странное: оно «меняет» работу кнопок. Кнопка «Отменить» (мусорная корзина) и кнопка «Предпросмотр» перезагружают страницу. Кнопка «Discourse Gifs Theme Component» просто разворачивает редактор.
Я думал, что это проблема совместимости с темой «Discourse Gifs», но если отключить её, проблема сохраняется.
Могу предоставить больше деталей, если нужно. Я попробовал убрать как можно больше, но, похоже, проблема исчезает только после отключения этого компонента темы.
Кстати, хочу воспользоваться случаем и сказать, какой это замечательный компонент темы, и что я искренне считаю, что он должен стать частью ядра
Спасибо за сообщение! В нашей основной системе загрузки недавно проводились работы, и, похоже, там есть небольшая ошибка. Мне даже удалось воспроизвести эту ошибку без использования компонента при определённых условиях. Я передам эту информацию инженеру, который занимается загрузками, чтобы мы могли это исправить!
Это звучит как разумная просьба о новой функции! Я посмотрю, что смогу сделать.
[ТЕМА 6 «Ограничение загрузки»] Чтобы избежать ошибок в тестах, добавьте ключ pluginId в вызов modifyClass. Это обеспечит применение изменения только один раз.
Подумал, что стоит поднять этот вопрос, так как это может стать потенциальной проблемой, когда недавние изменения станут доступны всем.