Опридилений блок для определенных ролей на определенный отрезок времени, буду рада за хорошие ответики :)

Главные вкладки

Аватар пользователя Ritka Ritka 9 июля 2014 в 10:36

Такая задача: Пользователь зарегистрировался и ему отображается блок с большими привилегиями на время 14 дней после регистрации, после того как пройдут 14 дней авторизованный пользователь получает роль *на проверке* и ему заменяется блок с привилегиями на блок из ограниченными действиями до тех пор пока администрация сайта не проверит пользователя из роли *на проверке* и после того как администрация проверит пользователя и присвоит ему снова роль *авторизованный* то отобразится снова блок с привилегиями. PHP пока не знаю, возможно есть уже готовые модули для решения данной задачи. Буду рада и очень благодарна с хорошие ответы)))

Комментарии

Аватар пользователя vortex vortex 9 июля 2014 в 13:33

шкалы?

чувствую себя старым евреем отвечающим вопросом на вопрос...

Вам надо всего лишь условие создать. Или вы хотите обратный счётчик пользователю дать в виде шкалы?

1.
событие: Пользователь зарегитсрировался
условие: без уловий
Действие: установить роль ВИП

{ "rules_test567" : {
    "LABEL" : "test567",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "user_insert" : [] },
    "DO" : [
      { "user_add_role" : { "account" : [ "account" ], "roles" : { "value" : { "4" : "4" } } } }
    ]
  }
}

2. событие: пользователь авторизировался
условие: пользователь имеет роль ВИП и зарегистрирован больше 14 дней
действие: удалить ВИП и поставить роль лох.

{ "rules_test4545" : {
    "LABEL" : "test4545",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "user_login" : [] },
    "IF" : [
      { "data_is" : { "data" : [ "account:created" ], "value" : "+14 day" } },
      { "user_has_role" : { "account" : [ "account" ], "roles" : { "value" : { "4" : "4" } } } }
    ],
    "DO" : [
      { "user_remove_role" : { "account" : [ "account" ], "roles" : { "value" : { "4" : "4" } } } },
      { "user_add_role" : { "account" : [ "account" ], "roles" : { "value" : { "5" : "5" } } } }
    ]
  }
}
Аватар пользователя vortex vortex 9 июля 2014 в 13:35

это набросок правил. Вероятнее всего сравнение надо было делать на больше-равно, а не равно. Возможно удаление роли достаточно и добавлять новую не надо.