Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Скачивание прикреплений запрещенных типов расширений 3.4.9

Здравствуйте.

Подскажите,как сделать, чтобы можно было скачивать прикрепления отключенных типов расширений?

 

На форуме много файлов с расширением, допустим .exe , сейчас в ац отключена возможность загружать такие расширения. Как сделать, чтобы уже прикрепленные ранее можно было скачивать?

 

Расширение в список добавлено, но просто отключено.

При скачке файла, пишет что он не найден.

Запрашиваемый вами прикрепленный файл не найден.[#10173]

Рекомендованные сообщения

admin/applications/core/sources/classes/attach/class_attach.php

Найти

			if( is_file( $file ) and ( $attach_cache[ $attach['attach_ext'] ]['atype_mimetype'] != "" ) )

Выше добавить

			if (!isset($attach_cache[$attach['attach_ext']]))
		{
			$attach_cache[$attach['attach_ext']] = $this->DB->buildAndFetch( array( 'select' => 'atype_mimetype', 'from' => 'attachments_type', 'where' => "atype_extension='{$attach['attach_ext']}'" ) );
		}

  • Автор

Не помогло.

Пробовал и удалять расширение и отключать.

Пробовал и удалять расширение и отключать.

Не надо ничего удалять.

Типы прикрепляемых файлов хранятся в кеше при условии, что "Разрешить прикреплять этот тип файлов к сообщениям?" установлено Да.

Если не находим нужный, то достаем из базы. Если Вы удалили тип, то естественно будет выдаваться ошибка.

Добавьте перед

			if( is_file( $file ) and ( $attach_cache[ $attach['attach_ext'] ]['atype_mimetype'] != "" ) )

 

			$data = array();

		if (!isset($attach_cache[$attach['attach_ext']]))
		{
			$data[] = 'Нет в кеше';
		}

		if (!is_file($file))
		{
			$data[] = 'Нет файла';
		}

		if (!$this->DB->buildAndFetch( array( 'select' => 'atype_mimetype', 'from' => 'attachments_type', 'where' => "atype_extension='{$attach['attach_ext']}'" ) ))
		{
			$data[] = 'Нет в базе';
		}

		if (count($data))
		{
			$this->registry->getClass('output')->addContent( implode("<br>", $data) );
			$this->registry->getClass('output')->sendOutput();			
		}

 

Попробуйте скачать файл и покажите результат.

  • Автор

Спасибо, ваш код работает. Оказалось дело было в хуке (SOS33) Who Downloaded the Attachment 2.0.0

В нем дублируется код файла class_attach.php

Добавил туда ваш фикс, всё заработало!

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.