Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
HooLIGUN

Скачивание прикреплений запрещенных типов расширений 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']}'" ) );
		}

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение

Не помогло.

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

Поделиться сообщением


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

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

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

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

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

			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();			
		}

 

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...