Делаю модуль, чтобы ловить разные кнопки на форме комментария, и, соответственно, сразу проставлять оценку. Для дальнейшей работы с баллами использую модуль VotingAPI. По умолчанию (и вроде как описанию в нем) он должен прописывать все данные сразу с привязкой к контенту в свою таблицу, но, почему-то, так не получается.
<?php
// валидация формы
function tcomment_vote($form, &$form_state, $nid) {
$clicked = $form_state['clicked_button']['#value'];
switch ($clicked) {
case 'yes':
$votes[] = array(
'content_type' => 'comment',
'content_id' => $cid,
'value_type' => 'points',
'value' => 1,
);
break;
case 'no':
$votes[] = array(
'content_type' => 'comment',
'content_id' => $cid,
'value_type' => 'points',
'value' => -1,
);
break;
}
votingapi_set_votes($votes);
$criteria = array(
'content_type' => 'comment',
'content_id' => $cid,
'value_type' => 'points',
);
}
// потом вывод на каждом комментарии (висит на хуке вывода комментариев)
function tcomment_select_votes() {
$criteria = array(
'content_type' => 'comment',
'content_id' => $cid,
'value_type' => 'points',
);
$results = (int)votingapi_select_single_result_value($criteria);
drupal_set_message('результат' . $results);
}
// проблема в том, что здесь считывается только последний результат и приписывается всем комментариям.
}
?>
Пожалуйста, если кто знает, подскажите в чем может быть проблема?