1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Запрет выбора онлайн-статуса

Тема в разделе "Основные вопросы по XenForo", создана пользователем odessit, 30.06.2011.

Загрузка
  1. odessit

    odessit Местный

    Регистрация:
    22.02.11
    Сообщения:
    52
    Симпатии:
    7
    Версия XF:
    1.5.6
    Как отключить для юзеров возможность выбора?
     

    Вложения:

    • gg.jpg
      gg.jpg
      Размер файла:
      115,7 КБ
      Просмотров:
      74
  2. TAIFUN

    TAIFUN Человек

    Регистрация:
    27.09.10
    Сообщения:
    2 258
    Симпатии:
    1 613
    Версия XF:
    1.5.23
    Оставляем опцию только админам и модерам

    Для XF 1.0.X

    1. Убираем опцию из навигации

    Открыть шаблон navigation_visitor_tab

    Найти:
    Код:
    <ul class="col1 blockLinksList">
                        <li>
                            <form action="{xen:link account/toggle-visibility}" method="post" class="AutoValidator visibilityForm">
                                <label><input type="checkbox" name="visible" value="1" class="SubmitOnChange" {xen:checked $visitor.visible} />
                                    {xen:phrase show_online_status}</label>
                                <input type="hidden" name="_xfToken" value="{$visitor.csrf_token_page}" />
                            </form>
                        </li>
                    </ul>
    Выше добавить:
    Код:
    <xen:if is="{$visitor.is_admin} OR {$visitor.is_moderator}">
    А ниже найденного кода добавить:
    Код:
    </xen:if>
    -------
    2. Убираем опцию из страницы "Конфиденциальность"

    Открыть шаблон account_privacy

    Найти:
    Код:
        <dl class="ctrlUnit surplusLabel">
            <dt><label>{xen:phrase activity_display}:</label></dt>
            <dd>
                <ul>
                    <li><label for="ctrl_visible"><input type="checkbox" name="visible" value="1" id="ctrl_visible" class="OptOut" autofocus="autofocus" {xen:checked "{$visitor.visible}"} /> {xen:phrase show_your_online_status}</label> <p class="hint">{xen:phrase this_will_allow_other_people_to_see_what_page_you_currently_viewing}</p></li>
                </ul>
            </dd>
        </dl>
    Выше добавить:
    Код:
    <xen:if is="{$visitor.is_admin} OR {$visitor.is_moderator}">
    А ниже найденного кода добавить:
    Код:
    </xen:if>
    -------
    3. Убираем опцию из страницы "Настройки просмотра"

    Открыть шаблон account_preferences

    Найти:
    Код:
        <dl class="ctrlUnit">
            <dt></dt>
            <dd><ul><li><label><input type="checkbox" name="visible" value="1" {xen:checked $visitor.visible} /> {xen:phrase show_your_online_status}</label> <p class="hint">{xen:phrase this_will_allow_other_people_to_see_what_page_you_currently_viewing}</p></li></ul></dd>
        </dl>
    Выше добавить:
    Код:
    <xen:if is="{$visitor.is_admin} OR {$visitor.is_moderator}">
    А ниже найденного кода добавить:
    Код:
    </xen:if>
    ~~~~~~~~~~~~~~
    Оставляем опцию только админам и модерам

    Для XF 1.1.X

    1. Убираем опцию из навигации

    Открыть шаблон navigation_visitor_tab

    Найти:
    Код:
    <ul class="col1 blockLinksList">
                        <li>                
                            <form action="{xen:link account/toggle-visibility}" method="post" class="AutoValidator visibilityForm">
                                <label><input type="checkbox" name="visible" value="1" class="SubmitOnChange" {xen:checked $visitor.visible} />
                                    {xen:phrase show_online_status}</label>
                                <input type="hidden" name="_xfToken" value="{$visitor.csrf_token_page}" />
                            </form>
                        </li>
                    </ul>
    Выше добавить:
    Код:
    <xen:if is="{$visitor.is_admin} OR {$visitor.is_moderator}">
    А ниже найденного кода добавить:
    Код:
    </xen:if>
    -------
    2. Убираем опцию из страницы "Конфиденциальность"

    Открыть шаблон account_privacy

    Найти:
    Код:
    <dl class="ctrlUnit surplusLabel">
            <dt><label>{xen:phrase activity_display}:</label></dt>
            <dd>
                <ul>
                    <li><label for="ctrl_visible"><input type="checkbox" name="visible" value="1" id="ctrl_visible" class="OptOut" autofocus="autofocus" {xen:checked "{$visitor.visible}"} /> {xen:phrase show_your_online_status}</label> <p class="hint">{xen:phrase this_will_allow_other_people_to_see_what_page_you_currently_viewing}</p></li>
                </ul>
            </dd>
        </dl>
    Выше добавить:
    Код:
    <xen:if is="{$visitor.is_admin} OR {$visitor.is_moderator}">
    А ниже найденного кода добавить:
    Код:
    </xen:if>
    -------
    3. Убираем опцию из страницы "Настройки просмотра"

    Открыть шаблон account_preferences

    Найти:
    Код:
    <li><label><input type="checkbox" name="visible" value="1" {xen:checked $visitor.visible} />
                        {xen:phrase show_your_online_status}</label>
                        <p class="hint">{xen:phrase this_will_allow_other_people_to_see_what_page_you_currently_viewing}</p></li>
    Выше добавить:
    Код:
    <xen:if is="{$visitor.is_admin} OR {$visitor.is_moderator}">
    А ниже найденного кода добавить:
    Код:
    </xen:if>
     
    Eddy, geodezer, arelav и ещё 1-му нравится это.
  3. geodezer

    geodezer Местный

    Регистрация:
    15.04.11
    Сообщения:
    61
    Симпатии:
    8
    Версия XF:
    1.3.1
    Добрый день!
    Не могу понять. Вроде всё сделал как тут написано. В настройках пользователя ничего не видно и настройках регистрации в админке галочка показывать онлайн-статус стоит. А некоторые вновь зарегистрированные пользователи все равно как-то становятся невидимыми.
    Т.е. если пользователь входит на страницу конфиденциальности и меняет подписку и сохраняет её, то онлайн-статус меняется на невидимый.
     
  4. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Возможно в 1.1.x в шаблоны были внесены изменения. Судя по дате написания инструкции, она была для 1.0.x.
     
  5. TAIFUN

    TAIFUN Человек

    Регистрация:
    27.09.10
    Сообщения:
    2 258
    Симпатии:
    1 613
    Версия XF:
    1.5.23
    Добавил версию для XF. Изменения коснулись шаблона account_preferences
     
  6. geodezer

    geodezer Местный

    Регистрация:
    15.04.11
    Сообщения:
    61
    Симпатии:
    8
    Версия XF:
    1.3.1
    Спасибо, исправил, но нет никакой разницы.
    Если пользователь в пункте "Конфиденциальность" меняет любой пункт, то становится невидимым.
    Думаю, что какие-то изменения должны быть в шаблоне account_privacy
     
  7. TAIFUN

    TAIFUN Человек

    Регистрация:
    27.09.10
    Сообщения:
    2 258
    Симпатии:
    1 613
    Версия XF:
    1.5.23
    Если юзер "видим", но после смена опции не относящейся к онлайн-статусу, он становится "невидимым" - это баг.
    Надо смотреть форум, я у себя проверить не могу.
     
  8. geodezer

    geodezer Местный

    Регистрация:
    15.04.11
    Сообщения:
    61
    Симпатии:
    8
    Версия XF:
    1.3.1
    Он становится видим при изменении любой опции в пункте конфиденциальность только тогда, когда я отключаю возможность вкл/выкл видимости для пользователей по вышеприведенной инструкции.
     
  9. TAIFUN

    TAIFUN Человек

    Регистрация:
    27.09.10
    Сообщения:
    2 258
    Симпатии:
    1 613
    Версия XF:
    1.5.23
    Моя инструкция не позволяет отключить опцию тем, кто её активировал, в инструкции показано как скрыть от юзеров опцию. Или Вы о другом?
     
  10. geodezer

    geodezer Местный

    Регистрация:
    15.04.11
    Сообщения:
    61
    Симпатии:
    8
    Версия XF:
    1.3.1
    О другом. Я, используя профиль обычного юзера, если меняю любой чекпойнт во вкладке конфиденциальность, то автоматически становлюсь невидимым, если на форуме эта опция отключена (по Вашей инструкции).
     
  11. akinak

    akinak Местный

    Регистрация:
    12.02.13
    Сообщения:
    259
    Симпатии:
    243
    Версия XF:
    1.1.3
    Все верно.
    При сохранении вкладки конфиденциальность контролер пытается получить переменную visible
    Но на странице нет такой переменной и она записывается в 0.
    Поэтому в
    надо делать по другому.
    В пунктах 2 и 3 ниже найденного куска вместо </xen:if> лучше написать:
    <xen:else/>
    <input type="hidden" name="visible" value="{$visitor.visible}" id="ctrl_visible" />
    </xen:if>
     
    Последнее редактирование: 24.10.2013

Поделиться этой страницей