XF 1.5 Настройка групп пользователей

Sergey Miroshnichenko

Проверенные
Сообщения
904
Реакции
1,296
Баллы
5,710
Послушайте, ребята, задачку. А то я хоть и постиг немного философию прав Xenforo, не могу её никак одолеть. Есть у нас группа "бомжи" (основная) с минимальными правами. На время платного повышения прав они добавляются в "белые люди". Здесь всё понятно. Вот потихоньку они развиваются и автоматически при выполнении условий или вручную повышается статус их, и вхожи становятся они и в другие круги: "состоятельный гражданин", "бизнесмен", "инвестор". Некоторые из них достигают даже самого высокого класса: "олигарх". Тут тоже всё ясно. Добавляем всё больше прав, приоритет оформления, все дела. Но вот вдруг один из "олигархов" решил больше не платить налогов. Не нужны стали ему все прелести премиум-класса. Закончилась подписка платная, и из группы "белые люди" система его вычеркнула.
А вот с этого момента я уже не знаю как быть. Как вернуть его к прежнему статусу?.. Если "олигархом" он стал автоматически при выполнении условий разных, то решение напрашивается такое: при получении групп новых указать условие: состоит в группе "белый человек" и тогда перестал платить - стал "бомжом", одумался, вернулся на путь истинный и верный - снова все прежние статусы получил. А вот если повышения лично я делал, вручную в группы добавлял?.. Получается, система из "белых людей" его уберёт, но дополнительные права и статус останутся. Нехорошо получается. Я уже думал, что нашёл выход: создать ещё одну группу "банкроты", и условие перехода в неё: если пользователь не принадлежит группе "белые люди". То есть для всех, кто перестал платить - добро пожаловать в "банкроты". Но. В этом случае и "бомжи" (новенькие зарегистрировавшиеся) также под раздачу попадут.
То ли я не разобрался, то ли действительно настолько идиотская система групп и прав в XenForo, что даже такую простую задачу реализовать нельзя.
 
Последнее редактирование:
Sergey Miroshnichenko, вообще все просто. Вот только описать это просто не получится.

"Бомжи - Состоятельные граждане - Бизнесмены - Инвесторы" - это базовый "круг прав", который зависит от простых условий вроде повышения от числа сообщений, симпатий и т.п. Они настраиваются через повышения групп пользователей.

"Белые люди", которые покупные, должны иметь такие права, которые "перебивают" любые права из первого круга прав. То есть если "Белый человек" покупает повышение прав доступа, будучи "Бомжом" - у него появляется возможность блокировать других пользователей грубо говоря. И в комбинации с любой из групп первого "круга прав" это должно работать так же.

То есть человек спокойно повышается по первому "кругу прав", понизиться не может - только если сообщения его удалены будут. И права доступа для этого "круга прав" надо продумать так же, чтобы было понимание, что их человек не лишится. А если какие-то возможности надо добавлять ТОЛЬКО платно - например блокировать других пользователей, ставить подпись, писать в чате - эти права должны быть выделены в отдельную группу "Белых людей", до которой и будет покупаться повышение прав.

Соответственно если кончится повышение до "Белых людей" - человек лишается приобретенных платно прав и только их. Он может остаться "Инвестором" с его правами, но не ниже. И все надо строить именно вокруг понимания этого.

Если что-то не понятно, пиши, постараюсь переформулировать. Лучше на примерах что надо.
 
Они настраиваются через повышения групп пользователей.
Ну да, я понимаю, писал об этом.
"Белые люди", которые покупные, должны иметь такие права, которые "перебивают" любые права из первого круга прав.
Нет, не должны. У меня не должны. У меня "белые люди" - это билет в этот круг. Это первая степень.
И в комбинации с любой из групп первого "круга прав" это должно работать так же.
Вот в этом то вся и сложность, что мне не так нужно сделать.
То есть человек спокойно повышается по первому "кругу прав"
Что бы попасть в этот круг, ему нужно сначала стать "белым человеком".
чтобы было понимание, что их человек не лишится.
А он должен лишаться. Единственный шанс не лишиться всего - платить налоги. Не хочешь платить - в "бомжи" или "банкроты" без всяких прав. Снова начал платить - восстановлен до прежнего статуса в соответствии со своими заслугами. Вот так мне нужно реализовать всё.
Он может остаться "Инвестором" с его правами, но не ниже.
Ну вот так я и думал, что ничего не получится. (( Идиотская система. Не знаю, чем думали разработчики, но невозможность сделать простую вещь меня удивляет. Почему я должен действовать в рамках той модели, которую они придумали, и которую используют все остальные создатели проектов. А шаг в сторону сделать, немного изменить подход - нельзя. Бред. Эх... как же поступить...
 
Sergey Miroshnichenko, тогда все еще проще в разы.
  1. После регистрации у пользователя базовая группа с базовыми правами - "Бомж".
  2. Пользователь платит денежку - получает группу "Белый человек". Это делается через повышение прав. Группа дает ряд преимуществ.
  3. Создается несколько повышений групп - "Состоятельные граждане/Бизнесмены/Инвесторы" - с нужными добавлениями прав к группе "Белый человек". Критерий для повышения - пользователь ЯВЛЯЕТСЯ членом дополнительной группы "Белый человек", авторизован, имеет Х сообщений/симпатий.
Что мы имеем в итоге: если кончается платное повышение из пункта 2 - повышения групп из пункта 3 при первой же активности пользователя сработают в обратном направлении и он дополнительных групп лишится. Будет снова "Бомж". Если оплатит повышение "Белый человек" - сразу все группы из пункта 3 обратно получит.
 
Exile, :yes4: именно. Я ведь обо всём об этом писал в первом же посте. Второй абзац:
Если "олигархом" он стал автоматически при выполнении условий разных, то решение напрашивается такое: при получении групп новых указать условие: состоит в группе "белый человек" и тогда перестал платить - стал "бомжом", одумался, вернулся на путь истинный и верный - снова все прежние статусы получил.
Проблема то вот в чём:
А вот если повышения лично я делал, вручную в группы добавлял?.. Получается, система из "белых людей" его уберёт, но дополнительные права и статус останутся.
Понимаешь?.. :smile3:
 
Последнее редактирование:
Sergey Miroshnichenko, индивидуальные повышения делаются еще проще.

admin.php?user-upgrades/ - вот тут на стрелочку около нужного повышения - повышение прав пользователя вручную.
admin.php?user-group-promotions/manage - вот тут ручные повышения групп пользователей принудительные.
 
Sergey Miroshnichenko, индивидуальные повышения делаются еще проще.
Эмм... я знаю как они делаются. Я ведь объясняю, что если я сам вручную буду пользователей повышать, то после прекращения платного повышения прав у них эти группы ведь останутся?.. Или я ошибаюсь?..
 
trdnepr, вот как. Тогда через некоторое время система автоматически должна убирать группу у пользователя, которую я ему назначил, так как она не соответствует условиям повышения. Я дал группу - система проверила, забрала. Я дал - система забрала. Если как вы говорите дальше всё по тем же условиям работает.
Exile всё верно объяснил: двигаться нужно от минимальных прав к их повышению от группы к группе. И платное повышение прав здесь должно замыкать цепочку. Это логично, понятно и легко.
Что мы имеем в итоге: если кончается платное повышение из пункта 2 - повышения групп из пункта 3 при первой же активности пользователя сработают в обратном направлении и он дополнительных групп лишится. Будет снова "Бомж". Если оплатит повышение "Белый человек" - сразу все группы из пункта 3 обратно получит.
Да! Можно и так! Платное повышение прав находится в начале цепочки, и только при активном платном повышении прав возможен переход дальше по "карьерной лестнице". Нужно всего лишь указать доп. условие в настройках admin.php?user-group-promotions "Пользователь является участником одной из выбранных групп:" и выбрать группу оплативших. Тогда по окончании срока оплаты пользователь сразу вернётся на самую первую ступень, так как это условие перестаёт выполняться. И лишь снова оплатив - выполнив условие, он получит назад свою группу, до которой развился. Это тоже мне всё ясно, тут нет ничего сложного. Но это всё работает только в том случае, если у меня настроены условия admin.php?user-group-promotions, то есть процесс автоматический.
Я же спрашиваю как быть в случае, если в этих настройках нет тех условий, что мне нужны. Только вручную проверять, и повышать. То есть для повышения мне не нужно условия настраивать никакие. Просто нужны сами группы и пользователи. И всё. Но чтобы реализовать связь с платным повышением прав необходим механизм, отслеживающий эту связь. Я его не вижу. Если я поставлю просто одну галочку, что пользователь должен являться членом оплаченной группы, то все группы из цепочки роста подойдут под это условие, и пользователь в одночасье достигнет высшего уровня, минуя промежуточные ступени. Если я специально задам ещё условие "100000000000 лайков" например, и вручную буду повышать по своим критериям, то система проверит: "ага, первое условие есть, а второго нету", и уберёт группу. Я опять повышу - она опять уберёт. О чём я писал. Если конечно как вы сказали "дальше все работает по тем же условиям". Если же нет, и вручную повышенный пользователь останется в назначенной группе, несмотря на несоответствия условиям перехода, то тогда каким образом по окончании оплаченного периода, он должен снова спуститься "с небес на землю"? Какая сила заставит его это сделать, если я вручную добавил его в группу.
 
Я же спрашиваю как быть в случае, если в этих настройках нет тех условий, что мне нужны. Только вручную проверять, и повышать. То есть для повышения мне не нужно условия настраивать никакие. Просто нужны сами группы и пользователи. И всё. Но чтобы реализовать связь с платным повышением прав необходим механизм, отслеживающий эту связь.
Так бы сразу. Все еще проще тогда.

Создаются пустые повышения. Без условий. То есть повышение до группы "Инвестор", которое добавляет группу инвестор. Но без каких-либо критериев для пользователя. И повышение применяется это вручную. Но я не понимаю особого смысла в такой системе - есть несколько плагинов, которые добавляют кучи критериев для повышений, может среди них есть нужное? От чего повышение должно зависеть?
 
Так бы сразу. Все еще проще тогда.
В смысле?.. :-D Я же в первом посте всё написал. Мне кажется моё первое сообщение вообще никто не прочитал. Либо я очень непонятно выразил мысль. Хотя вроде всё довольно доступно написано.
Создаются пустые повышения. Без условий. То есть повышение до группы "Инвестор", которое добавляет группу инвестор. Но без каких-либо критериев для пользователя. И повышение применяется это вручную.
Это как?.. Мне нужно создать повышение и отключить его? И в чём смысл, ведь проще тогда просто нужную группу добавлять для конкретных пользователей. И да, это не решает проблемы. Потому что после окончания оплаченного периода пользователь как был в своей группе, так и останется, и мне даже на это было бы плевать (на название и баннер), если бы вместе с группой у него не оставались и права этой группы.
От чего повышение должно зависеть?
Конкретно вот от чего. Пользователь проходит регистрацию (уровень "гость"), оплачивает платное повышение прав. Это как бы базовый уровень. Так и назовём его: "базовый". Довольно ограниченные права. Чтобы перейти на следующий уровень ("Уровень 1"), и соответственно получить больше прав и возможностей, этому пользователю нужно пригласить людей (скорее всего будет реализовано с помощью XenCentral Invite System), и нужно, чтобы среди этих приглашённых в момент повышения было 5 пользователей, оплативших платное повышение прав, при чём на момент перехода на следующий уровень оно должно действовать у всех 5-ти приглашённых.
Другими словами есть тема на форуме для заявок о повышении на этот первый уровень. Например Андрей выполнил условия, и пишет: "Условия выполнил, у меня есть 5 активных приглашённых.", и указывает их ники. Я смотрю, да, действительно у всех 5-ти активно платное повышение прав, и их действительно Андрюха пригласил, молодец такой. Я перевожу Андрея на следующий уровень (и так далее "Уровень 2", "Уровень 3", "Уровень 4"). Всё. Этот уровень остаётся у него до тех пор, пока он сам платит. Останутся ли его приглашённые в проекте, будут платить или нет - значения уже не имеет. Главное, чтобы сам платил. Перестал платить - снова стал "гостем". Через некоторое время оплатил - и уже не на "базовый" уровень попал, а сразу на "Уровень 1 " вернулся. Хотя это не принципиально. Если так не получится, то вариант, когда он не вернётся на прежний уровень, а снова станет "базовым" тоже устроит. Сам виноват - не фиг оплату прекращать.
Если есть такие условия, и можно сделать всё это в автоматическом режиме, то будет здорово!
 
Мои сообщения тоже не читаются походу.
Это как?.. Мне нужно создать повышение и отключить его? И в чём смысл, ведь проще тогда просто нужную группу добавлять для конкретных пользователей.
Повышение создать без критериев, только которое переводить в нужную группу будет. А потом admin.php?user-upgrades/ - вот тут на стрелочку около нужного повышения - повышение прав пользователя вручную. Указывается срок до которого это повышение будет активно (до какого времени надо пользователя держать в повышенной группе). Для чего это надо? Чтобы руками не снимать постоянно повышения, они будут сниматься автоматически в указанное время.

Описанная система с уровнями - это дополнительная разработка, кто-то ей занимался вроде как и успешно реализовал. Из коробки в реферральных системах (всех) на движок нет отслеживания в какой группе состоят приглашенные пользователи. Есть только критерии на число приглашенных пользователей, не более того.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу