Jump to content

Kadeluxe

Новичок
  • Content Count

    10
  • Joined

  • Last visited

About Kadeluxe

  • Rank
    Новичок

Информация

  1. Kadeluxe

    Новый Invision Community 4.5

    Я сказал «морально устарел» и это так, поскольку сейчас время PWA и SPA, а не генерации разметки на сервере и лонг-пуллинга AJAX'ом. Хотя о каком лонг-пуллинге я говорю, IPB проверяет обновления по таймеру.
  2. Kadeluxe

    Новый Invision Community 4.5

    IPB (IPS) уже давно морально устарел, к сожалению, как и XenForo, не говоря уже о vBulletin. К сожалению, достойных альтернатив нет, все более-менее современные варианты, по типу Flarum, Discourse, NodeBB по функционалу и кастомизации очень далеко.
  3. Перехватить открытый трафик между CloudFlare и сервером несколько сложнее, чем организовать то же между клиентом и сервером. Flexible — это не защита от всех возможных манипуляций с трафиком на пути к апстриму, это минимизация возможностей осуществления оного на стороне клиента. Впрочем, учитывая существование Full, всё же стоит потратить небольшое количество времени на настройку SSL на стороне сервера.
  4. Так вы посмотрите в исходном коде, что происходит со ссылками на стили, они у вас не грузятся. И да, в настройках форума не нужно менять что-то на HTTPS, если SSL включается в CloudFlare на уровне Flexible. Если параметр Full или Full (Strict), тогда и на сервере с сайтом, соответственно, должен быть настроен HTTPS.
  5. Имел в виду настройки самой группы, которые меняются на странице группы. Выяснил, что вторичных групп (Secondary group) у пользователя может быть несколько, а в настройках группы ее можно скрыть из списков — "Allow filtering by this group?". При этом вторичные группы могут только расширять права доступа. Таким образом, создаю по новой группе для каждого такого форума, в настройках группы отключаю всё, чтобы не перезаписать настройки базовой группы, а затем пользователям добавляю эти группы в качестве вторичной. Вроде работает адекватно.
  6. Предположим следующий сценарий: группа users форум forum 1 форум forum 2 Необходимо некоторым пользователям из группы users разрешить создавать темы в форуме forum 1 или forum 2 или в обоих сразу. Не могу разобраться, как именно это сделать наиболее оптимальным способом? Пока что представляю, что придется создавать отдельные группы пользователей. Если таких форумов и юзеров будет много, то придется создавать каждому юзеру индивидуальную группу, но я не хочу как-то выделять этих юзеров из числа остальных, следовательно придется создавать разные группы с одним и тем же названием users. При этом возникает путаница, так как во всех списках групп будут повторяться названия и это очень неудобно. Существует ли другой способ? Предполагаю, что я что-то упустил в системе разрешений. Если нет, то возникает вопрос — если я создам много групп, а затем мне понадобится изменить разрешения для всех этих групп одновременно, это придется делать в каждой группе отдельно?
  7. А чтобы не писать напрямую в базу, можно использовать REST https://invisioncommunity.com/developers/rest-api?endpoint=forums/topics/POSTindex
  8. Приветствую всех, есть ли в IPS 4 способ вызывать внешний сервис при определённых событиях на форуме? Конкретно интересует создание новых тем. Есть REST API, но это предполагает запрос внешним сервисом списка тем, т.е. как минимум придется реализовывать проверку, является ли тема новой с момента прошлой проверки. В принципе подойдет даже простой POST запрос на указанный адрес с информацией о созданной теме (дата, текст сообщения, вложения). Вопрос решается написанием плагина, но вдруг есть какой-то готовый способ, который проглядел. Касаемо плагина, я так понимаю, метод IPS\forums\Topic::processAfterCreateOrEdit подходит для этого.
  9. Внезапно разобрался, достаточно создать плагин с хуком \IPS\forums\Topic\Post и перегрузить метод content() //<?php /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { exit; } class hook26 extends _HOOK_CLASS_ { /** * Returns the content * * @return string */ public function content() { return "post-content"; } } Такой хук будет выводить post-content во всех постах, соответственно, вызовом parent::content() можно получить оригинальный пост, а затем выполнить нужную замену.
  10. Здравствуйте! Возникла необходимость создать особый тег, который при выводе постов должен заменяться на указанное содержимое. Логика в том, что если создать просто кнопку для редактора, то содержимое тега будет вставлено и сохранено просто как HTML код, мне же нужно, чтобы в будущем я мог изменить конечное содержание тега без ручного редактирования всех постов. Есть ли примеры каких-нибудь расширений подобного типа? Самому написать не проблема, но нормальной документации не нашел, а хотелось бы сделать через встроенную систему расширений, а просто правкой файлов.
×