Как скрыть вложения от гостей и/или ботов? PHP, PHPBB

Как скрыть вложения от гостей и/или ботов? PHP, PHPBB. Зарегистрируйтесь, чтобы увидеть вложения

Как скрыть вложения от гостей и/или ботов? PHP, PHPBB

» » Сообщение:

Зарегистрируйтесь, чтобы увидеть вложения
Зарегистрируйтесь, чтобы увидеть вложения

Вариантов два:
1. Скрыть само вложение - в шаблоне attachment.html;
2. Скрыть весь блок - в шаблоне viewtopic_body.html

Обрисую решения для обоих вариантов.

Итак, решение первое - скрываем само вложение

Открыть:

Код: Выделить всё Развернуть
includes/functions_content.php

Найти:

Код: Выделить всё Развернуть
      $block_array += array(
         'UPLOAD_ICON'      => $upload_icon,
         'FILESIZE'         => $filesize['value'],
         'SIZE_LANG'         => $filesize['unit'],
         'DOWNLOAD_NAME'      => utf8_basename($attachment['real_filename']),
         'COMMENT'         => $comment,
      );

Если не находится, попробуйте поиск по строке:

Код: Выделить всё Развернуть
'COMMENT'         => $comment,

Заменить на:

Код: Выделить всё Развернуть
      $block_array += array(
         'UPLOAD_ICON'      => $upload_icon,
         'FILESIZE'         => $filesize['value'],
         'SIZE_LANG'         => $filesize['unit'],
         'DOWNLOAD_NAME'      => utf8_basename($attachment['real_filename']),
         'COMMENT'         => $comment,
         'S_IS_USER'               => ($user->data['user_id'] != ANONYMOUS && empty($user->data['is_bot'])) ? true : false,
         'S_IS_BOT'            => (!empty($user->data['is_bot'])) ? true : false,
      );

Открыть:

Код: Выделить всё Развернуть
styles/slaed/template/attachment.html

Найти:

Код: Выделить всё Развернуть
      <!-- IF _file.S_FILE -->
      <dl class="file">
         <dt><!-- IF _file.UPLOAD_ICON --><span class="topic_attach"></span> <!-- ENDIF --><a title="{_file.COMMENT}, {_file.FILESIZE} {_file.SIZE_LANG}, {_file.L_DOWNLOAD_COUNT}" class="postlink" href="{_file.U_DOWNLOAD_LINK}" target="_blank">{_file.DOWNLOAD_NAME}</a></dt>
         <!-- IF _file.COMMENT --><dd><em>{_file.COMMENT}</em></dd><!-- ENDIF -->
      </dl>
      <!-- ENDIF -->

- код может отличаться от вашего, но включите голову..

Заменить на:

Код: Выделить всё Развернуть
      <!-- IF _file.S_FILE -->
         <!-- IF _file.S_IS_USER -->
         <dl class="file">
            <dt><!-- IF _file.UPLOAD_ICON --><span class="topic_attach"></span> <!-- ENDIF --><a title="{_file.COMMENT}, {_file.FILESIZE} {_file.SIZE_LANG}, {_file.L_DOWNLOAD_COUNT}" class="postlink" href="{_file.U_DOWNLOAD_LINK}" target="_blank">{_file.DOWNLOAD_NAME}</a></dt>
            <!-- IF _file.COMMENT --><dd><em>{_file.COMMENT}</em></dd><!-- ENDIF -->
         </dl>
         <!-- ELSE -->
            <small class="red">Зарегистрируйтесь, чтобы увидеть вложения.</small>
         <!-- ENDIF -->
      <!-- ENDIF -->

---

Выведет надпись «Зарегистрируйтесь, чтобы увидеть вложения» для каждого файла в прикреплении.
Отредактировать на свое усмотрение..

Решение второе - скрываем весь блок вложений

Открыть:

Код: Выделить всё Развернуть
includes/functions.php

Найти:

Код: Выделить всё Развернуть
'S_USER_LOGGED_IN'      => ($user->data['user_id'] != ANONYMOUS) ? true : false,

Добавить ниже:

Код: Выделить всё Развернуть
'S_IS_USER'               => ($user->data['user_id'] != ANONYMOUS && empty($user->data['is_bot'])) ? true : false,

---

Открыть:

Код: Выделить всё Развернуть
styles/slaed/template/viewtopic_body.html

Найти:

Код: Выделить всё Развернуть
      <!-- IF postrow.S_HAS_ATTACHMENTS -->
       <dl class="attachbox">
          <dt class="attach_title" onclick="toggleAttach(this);return false;">{L_ATTACHMENTS}</dt>
          <!-- BEGIN attachment -->
            <dd style="display:none;">{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
          <!-- END attachment -->
        </dl>
      <!-- ENDIF -->

- мой код может чуть отличаться от вашего..

Заменить на:

Код: Выделить всё Развернуть
      <!-- IF postrow.S_HAS_ATTACHMENTS -->
       <dl class="attachbox">
          <dt class="attach_title" onclick="toggleAttach(this);return false;">{L_ATTACHMENTS}</dt>
             <!-- IF S_IS_USER -->
          <!-- BEGIN attachment -->
            <dd style="display:none;">{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
          <!-- END attachment -->
            <!-- ELSE -->
            <small class="red">Зарегистрируйтесь, чтобы увидеть вложения.</small>
            <!-- ENDIF -->
        </dl>
      <!-- ENDIF -->

---

Выведет надпись «Зарегистрируйтесь, чтобы увидеть вложения» для всего блока вложений, независимо от того, что там будет - картинки или файлы.

Что бы скрыть прикрепления только от ботов, используем, соответственно, не S_IS_USER, а S_IS_BOT..

Как-то так..

вариантов, вложение, шаблоне, скрыть, решение, первое, обоих, скрываем, блок, attachment, viewtopic, обрисую



Похожие темыКомментарии ПросмотрыПоследнее сообщение
0977Как убрать/изменить титле главной с...
Сообщение от: Admin
0621Открытие профиля пользователя в нов...
Сообщение от: Admin
01201Переносим профиль на левую сторону ...
Сообщение от: Admin
02247Настройка phpBB. Прикручиваем галер...
Сообщение от: Admin
0951Массовая замена бб-кода в phpBB. Ка...
Сообщение от: Admin