Нужна помощь! Как отключить возможность комментировать ноду при условии: юзерпоинт <=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.. ПЕРЕЗАГРУЖАЮ... ФОРМА ИСЧЕЗАЕТ.. СНОВА ПЕРЕЗАГРУЖАЮ... ПОЯВЛЯЕТСЯ..
ТАКОЕ ЧУВСТВО ЧТО ПХП ПРИНИМАЕТ ВО ВНИМАНИЕ ПОСЛЕДНИЕ СЧИТАННЫЕ ПОИНТЫ.. И СРАБАТЫВАЕТ СНОВА ТОЛЬКО ПОСЛЕ ПОВТОРНОЙ ПЕРЕЗАГРУЗКИ СТРАНИЦЫ БРАУЗЕРА..
И ТАКОЙ ГЛЮК Только С формой комментариев