I need help! Как отключить возможность комментировать ноду при условии: юзерпоинт <=100. Rules

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

Аватар пользователя toxachehonte toxachehonte 21 мая 2017 в 23:09

Нужна помощь! Как отключить возможность комментировать ноду при условии: юзерпоинт <=100. Rules

я в принципе добился нужного результата, но.. как обычно бывает одно НО...

перепробовал несколько вариантов... результат ОДИН.

Мой модуль:

function MYMODULE_entity_property_info() {
$info = array();
if (module_exists('userpoints')) {
$info['user']['properties']['points'] = array(
'label' => t('!Points', userpoints_translation()),
'description' => t('The amount of !points this user has. If there are multiple categories, only the default category is taken into account.', userpoints_translation()),
'getter callback' => 'MYMODULE_get_user_property',
'type' => 'integer',
'computed' => TRUE,
);
}
return $info;
}

/**
* Callback for getting user properties defined by MYMODULE_entity_property_info().
*/
function MYMODULE_get_user_property($account, $options, $name, $entity_type) {
switch ($name) {
case 'points':
return module_invoke('userpoints', 'get_current_points', $account->uid);
}
}

В Rules.

"Content is viewed..."

Conditions:

Проверяю..
site:current-user:points <=100

Действие:

Set a data value
Parameter: Data: [node:comment], Value: 1 или 0...

+ 2е правило противоположно первому "Value 2"

Все как бы работает.. Но..

ПРОВЕРЯЮ ЗАЙДЯ С 2 БРАУЗЕРОВ ПОД РАЗНЫМ ЛОГИНОМ. У ОДНОГО 100 ПОИНТОВ У ДРУГОГО 10.

при перезагрузке страницы форма комментов

ЮЗЕР 1 (100 поинтов). ПЕРЕЗАГРУЖАЮ все норм форма на месте..
ЮЗЕР 2 (10 ПОИНТОВ). ПЕРЕЗАГРУЖАЮ.. ФОРМА ТОЖЕ ПРИСУТСТВУЕТ.. ЕЩЕ РАЗ.. ИСЧЕЗЛА..
СНОВА ЮЗЕР 1.. ПЕРЕЗАГРУЖАЮ... ФОРМА ИСЧЕЗАЕТ.. СНОВА ПЕРЕЗАГРУЖАЮ... ПОЯВЛЯЕТСЯ..

ТАКОЕ ЧУВСТВО ЧТО ПХП ПРИНИМАЕТ ВО ВНИМАНИЕ ПОСЛЕДНИЕ СЧИТАННЫЕ ПОИНТЫ.. И СРАБАТЫВАЕТ СНОВА ТОЛЬКО ПОСЛЕ ПОВТОРНОЙ ПЕРЕЗАГРУЗКИ СТРАНИЦЫ БРАУЗЕРА..

И ТАКОЙ ГЛЮК Только С формой комментариев