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

1.4.2 Запретить пользователям пользоваться функционалом "Онлайн-сатус"

Тема в разделе "Для новичков", создана пользователем valera3680, 12.12.2014.

Загрузка
  1. valera3680

    valera3680 Местный

    Регистрация:
    27.11.13
    Сообщения:
    45
    Симпатии:
    0
    Версия XF:
    1.5.4
    Собственно вопрос.
    Хотел сперва тупо через БД обновить поле и поставить всем 1, т.е. видимый, а затем через шаблон вырезать код отображения чекбокса чтобы в невидимый режим никто уже перейти не мог, но это метод из под топора. Да и для администрации и модераторов этот функционал необходимо оставить.
    Можно ли как-то малой кровью решить данный вопрос? Или для этого нужно писать 100500 строк нового кода? Странно вообще, что этого нет из коробки.

    В общем, кто не понял. Цель затеи, запретить пользователям включать невидимый режим.
    А для администрации вкл/выкл этого режима нужно оставить.
     
  2. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    Администрация и так видит всех кто скрыт. А от пользователей скрывать как-то нелогично в таком случае. На официальном сайте видел аддон на скрытие, но там просто кнопку убирает от всех. Вы ее в прцинипе тоже можете скрыть через условия в шаблоне (поиском по форуму тему с ними найдете).
     
  3. valera3680

    valera3680 Местный

    Регистрация:
    27.11.13
    Сообщения:
    45
    Симпатии:
    0
    Версия XF:
    1.5.4
    То, что администрация видит, это понятно. Я бы не спрашивал, если бы проблема была только в этом.
    Нужно чтобы пользователи видели друг друга и не сидели в невидимом режиме, а администрация наоборот могла скрыть свой статус видимый/невидимый.
     
  4. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    valera3680 нравится это.
  5. valera3680

    valera3680 Местный

    Регистрация:
    27.11.13
    Сообщения:
    45
    Симпатии:
    0
    Версия XF:
    1.5.4
    Exile, спасибо, я уже решил вопрос. Решил кстати с помощью условий.
     
  6. martini

    martini Местный

    Регистрация:
    10.10.10
    Сообщения:
    249
    Симпатии:
    28
    логично было бы отписаться тут с подробным описанием решения
     
  7. valera3680

    valera3680 Местный

    Регистрация:
    27.11.13
    Сообщения:
    45
    Симпатии:
    0
    Версия XF:
    1.5.4
    Сейчас уже не вспомню.
    Суть в том, что я нашел в шаблоне код чекбокса и обернул его в условие, что показывать только определенной группе(администраторам).
    Так же через mysql пришлось сделать запрос, чтобы сменить у всех запись в одной таблице с 0 на 1.(единица статус онлайн, ноль статус невидимки) Иначе, если просто спрятать чекбокс, то те, кто в статусе невидимки не смогут выйти из этого статуса, т.к. чекбокс виден только админам.

    Сейчас уже не помню как, чего и где делал, ибо сделал и забыл. :) Если бы сразу попросили уточнение, то сказал бы, а так теперь искать чего и как менял не охота.
     
  8. svlasov

    svlasov Местный

    Регистрация:
    20.03.13
    Сообщения:
    98
    Симпатии:
    87
    Я делал подобное и не забыл :). В шаблоне 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 Disabler" {xen:checked "{$visitor.visible}"} /> {xen:phrase show_your_online_status}</label>
                        <p class="hint">{xen:phrase this_will_allow_other_people_to_see_when_you_online}</p>
                        <ul id="ctrl_visible_Disabler">
                            <li>
                                <label><input type="checkbox" name="activity_visible" value="1" class="OptOut" {xen:checked $visitor.activity_visible} /> {xen:phrase show_your_current_activity}</label>
                                <p class="hint">{xen:phrase this_will_allow_other_people_to_see_what_page_you_currently_viewing}</p>
                            </li>
                        </ul>
                    </li>
                </ul>
            </dd>
        </dl>
    В таблице xf_user нужно поставить 1 в полях visible и activity_visible.
     
    martini и valera3680 нравится это.
  9. martini

    martini Местный

    Регистрация:
    10.10.10
    Сообщения:
    249
    Симпатии:
    28
    а дайте пожалуйста еще и сам запрос как сменить 0 на 1
    --- добавлено : Jan 22, 2015 12:57 PM ---
    Кстати, вот плагин, который скрывает опцию https://xenforo.com/community/resources/itd-show-online-status.3489/
    там и запрос

    UPDATE xf_user SET visible = 1
     
    Последнее редактирование модератором: 30.01.2015
  10. svlasov

    svlasov Местный

    Регистрация:
    20.03.13
    Сообщения:
    98
    Симпатии:
    87
    Я использовал в phpMyAdmin простой запрос UPDATE типа:
    Код:
    UPDATE xf_user SET visible = REPLACE(visible, '0', '1');
     
  11. martini

    martini Местный

    Регистрация:
    10.10.10
    Сообщения:
    249
    Симпатии:
    28
  12. valera3680

    valera3680 Местный

    Регистрация:
    27.11.13
    Сообщения:
    45
    Симпатии:
    0
    Версия XF:
    1.5.4
    Меньше плагинов, выше производительность. Если есть возможность сделать всё без использования плагинов, то лучше так и делать ;)
     
    Последнее редактирование модератором: 30.01.2015
  13. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Не факт. Все зависит от того, как реализовано. Те же модификации шаблонов делаются через плагины. В результате просто не надо руками вносить изменения в шаблоны.
     
    Mirovinger нравится это.
  14. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    Вы наверное удивитесь, но я выше предложил относительный костыль, который вы реализовали. По большому счету то, что вы скрыли в шаблоне эту кнопку - при желании никак меня не остановит от установки скрытого статуса. В POST-запросе редактирования профиля поле "открытого" статуса все равно будет и через инструменты для разработчиков браузера или проксификатор я это значение руками поправить смогу и установить себе скрытый статус. Поэтому визуально - да, вы скрыли без аддона. По своей сути - это никак знающим людям не помешает, в отличие от аддона.
     
    Mirovinger, infis и valera3680 нравится это.
  15. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Зря Вы это вслух сказали. Теперь не только специалисты поймут, что куча модификаций шаблонов по факту никак не закрывает некоторые функции :)
     
  16. valera3680

    valera3680 Местный

    Регистрация:
    27.11.13
    Сообщения:
    45
    Симпатии:
    0
    Версия XF:
    1.5.4
    Спасибо, лично мне Вы очень помогли. Вернее открыли глаза на многие вещи. Я и забыл про пост запросы...

    Что касается темы, то в таком случае придется еще искать контроллер/обработчик и вырезать код там, тогда и пост запрос будет не страшен.
     
  17. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    infis, valera3680, ну вообще не очень ясно к чему сарказм от вас обоих, просто если нужно решение какой-то определенной проблемы, то оно должно быть полное, а не полумерами.
     
    valera3680 нравится это.
  18. valera3680

    valera3680 Местный

    Регистрация:
    27.11.13
    Сообщения:
    45
    Симпатии:
    0
    Версия XF:
    1.5.4
    Никакого сарказма. Я сам десктопный программист, и мне часто приходится писать различных ботов, поэтому что такое пост запросы знаю не по наслышке.
    Вы на полном серьезе открыли мне глаза. Казалось бы сам работаю с запросами и часто с этим сталкиваюсь, а про пост запросы не подумал. Поэтому я на полном серьезе говорю Вам спасибо.
     
  19. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Это не сарказм был. Я просто сам уже не обращаю внимание на такого рода модификации, просто отсеивая их для себя, как безграмотные с точки зрения безопасности. Я аж удивился, что Вы напомнили об этом. Извините, что не сдержался.
    Ну а в знак того, что на самом деле благое дело делаете, ловите лайк.
     
  20. martini

    martini Местный

    Регистрация:
    10.10.10
    Сообщения:
    249
    Симпатии:
    28
    Тут такая идея...
    Закрыть доступ в профили юзеров тем, кто поставил себя в невидимый режим. Хочешь чтоб тебя не видели? Так и сам никого не увидишь :)
     

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