[Помощь] Спрятать от гостей attachment

Статус
В этой теме нельзя размещать новые ответы.

SabOnEzZZ

Читатель
Заблокирован
Регистрация
30 Май 2009
Сообщения
8
Реакции
0
  • Автор темы
  • Заблокирован
  • #1
Суть такая. Установил себе хайд для IPB, спрятал аттач под хайд, но когда я захожу гостем на сайте то вижу этот сранный аттач, как его скрыть от гостей? :bc::bc:

ps когда на сайте залогинился аттач отображается нор

jad3nm1er0hf8dg.jpg
 
  • Заблокирован
  • #2
править настройки прав доступа.
 
править настройки не поможет
нужно еще отредактировать пару файлов:
ЗЫ: может что и пропустил, но вроде аттачи видны только в этих 2 местах
 
  • Автор темы
  • Заблокирован
  • #4
сделал всё как написано, но теперь никто не может качать аттачи, даже главные админы
в масках галочка на загрузку и скачку стоит, в чём пролбема?

зы в дабавок кнопка хайда исчезла ))))
видать я зря обновил кем и сделал пересчёт файлов + изображений )))
 
а какой именно мод хайда стоит?
посмотрю может у меня такой же.

насчет "никто не может качать аттачи" это странно
check_perms не должен выдавать false для разрешенных групп
но это надо проверить, я вчера скрыл инфу от гостей и успокоился :)

пока закоменти изменения

-----------------
да, проблема есть.
check_perms на самом деле мало что делает, тут главное передать ей правильные параметры
а внутри render_attachments() это сделать проблематично, т.к в нее не передается идентификатор форума


Решений этой проблемы может быть несоклько.
1. найти все вызовы render_attachments()
и сделать проверку до нее.
например в коде sources\action_public\topics.php
PHP:
 			//-----------------------------------------
			// Not got permission to view downloads?
			//-----------------------------------------
			
			if ( $this->ipsclass->check_perms($this->ipsclass->forums->forum_by_id[ $this->topic['forum_id'] ]['download_perms']) === FALSE )
			{
				$this->ipsclass->vars['show_img_upload'] = 0;
			}
			
			//-----------------------------------------
			// Continue...
			//-----------------------------------------
			
			$this->class_attach->type  = 'post';
			$this->class_attach->init();
		
			$this->output = $this->class_attach->render_attachments( $this->output, $this->attach_pids );
предвингуть скобку '}' в поледнюю строку
тогда когда прав нету функция не будет вызываться и аттача мы не увидем, как и сообщения о том что аттач вообще есть но не хватает прав
это тоже можно исправить, через else добавив нужный текст.

Файлов вызывающих эту функцию много, у меня :
sources\action_public\messenger.php
sources\action_public\misc\print_page.php
sources\action_public\search.php
sources\action_public\topics.php
sources\action_public\xmlout.php
sources\classes\post\class_post.php
sources\components_public\profile\posts.php
sources\components_public\profile\topics.php
sources\lib\search_mysql_ftext.php
ources\portal_plugins\recent_topics.php
и возможно не во всех нужно делать проверку

2. использовать show_img_upload
она предназначена для скрытия картинок от непривилегированных групп, но можно скрыть и аттачи совсем
тогда в render_attachments()
вместо
PHP:
if ( $this->ipsclass->vars['show_img_upload'] and $row['attach_is_image'] )
{
// аттач с эскизами, показ эскизов
}
else
{
// аттач - файл, показ ссылки на скачивание
}
делаем
PHP:
if($this->ipsclass->vars['show_img_upload'])
{
if ( $this->ipsclass->vars['show_img_upload'] and $row['attach_is_image'] )
{
// аттач с эскизами, показ эскизов
}
else
{
// аттач - файл, показ ссылки на скачивание
}
}
else
{
//показываем фигу
}

можно еще чтонибудь придумать как более сложное так и более простое.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху