Only in .: fivestar_cck.patch diff -rup ./fivestar_field.inc ../fivestar.new/fivestar_field.inc --- ./fivestar_field.inc 2008-07-23 17:54:22.000000000 +0200 +++ ../fivestar.new/fivestar_field.inc 2009-04-02 01:02:46.000000000 +0200 @@ -126,7 +126,8 @@ function fivestar_field($op, &$node, $fi } if (is_numeric($items[$delta]['target'])) { - _fivestar_cast_vote('node', $items[$delta]['target'], $items[$delta]['rating'], $items[$delta]['axis'], $node->uid); + _fivestar_cast_vote('node', $items[$delta]['target'], $items[$delta]['rating'], + $items[$delta]['axis'], $node->uid, FALSE, TRUE); votingapi_recalculate_results('node', $items[$delta]['target']); } } @@ -141,7 +142,8 @@ function fivestar_field($op, &$node, $fi $items[$delta]['target'] = eval($item['target']); } if (is_numeric($items[$delta]['target'])) { - _fivestar_cast_vote('node', $items[$delta]['target'], 0, $items[$delta]['axis'], $node->uid); + _fivestar_cast_vote('node', $items[$delta]['target'], 0, $items[$delta]['axis'], + $node->uid, FALSE, TRUE); votingapi_recalculate_results('node', $items[$delta]['target']); } } diff -rup ./fivestar.module ../fivestar.new/fivestar.module --- ./fivestar.module 2008-08-23 07:17:09.000000000 +0200 +++ ../fivestar.new/fivestar.module 2009-04-02 01:03:24.000000000 +0200 @@ -719,13 +719,13 @@ function fivestar_vote($type, $cid, $val * Internal function to handle vote casting, flood control, XSS, IP based * voting, etc... */ -function _fivestar_cast_vote($type, $cid, $value, $tag = NULL, $uid = NULL, $result = FALSE) { +function _fivestar_cast_vote($type, $cid, $value, $tag = NULL, $uid = NULL, $result = FALSE, $force = FALSE) { global $user; $tag = empty($tag) ? 'vote' : $tag; $uid = empty($uid) ? $user->uid : $uid; // Bail out if the user's trying to vote on an invalid object. - if (!_fivestar_validate_target($type, $cid)) { + if (!$force and !_fivestar_validate_target($type, $cid)) { return array(); }