From d2738818a3f30f0563d4b4bc07a51fd6a0bfa79f Mon Sep 17 00:00:00 2001 From: Marco Villegas Date: Fri, 25 Jun 2010 00:40:10 -0500 Subject: [PATCH] bug #210905 by Mikhail Khazov, matt@antinomia, marvil07: Fixed Only show 'Reset vote' link if user has voted on node/comment. --- vud_comment/vud_comment.module | 20 +++++++++++++++----- vud_node/vud_node.module | 20 +++++++++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git vud_comment/vud_comment.module vud_comment/vud_comment.module index 76a1b7d..8c74bf0 100644 --- vud_comment/vud_comment.module +++ vud_comment/vud_comment.module @@ -178,12 +178,22 @@ function vud_comment_link($type, $object, $teaser = FALSE) { ); } if (variable_get('vud_comment_reset', 0) && user_access('reset vote up/down votes')) { - $reset_token = drupal_get_token("votereset/comment/$comment->cid/$tag"); - $links['vud_comment_votes_reset_link'] = array( - 'title' => t('Reset your vote'), - 'href' => "votereset/comment/$comment->cid/$tag/$reset_token", - 'html' => TRUE, + $tag = variable_get('vote_up_down_tag', 'vote'); + $criteria = array( + 'content_type' => $type, + 'content_id' => $comment->cid, + 'tag' => $tag, ); + $criteria += votingapi_current_user_identifier(); + $user_vote = votingapi_select_single_vote_value($criteria); + if (!is_null($user_vote)) { + $reset_token = drupal_get_token("votereset/comment/$comment->cid/$tag"); + $links['vud_comment_votes_reset_link'] = array( + 'title' => t('Reset your vote'), + 'href' => "votereset/comment/$comment->cid/$tag/$reset_token", + 'html' => TRUE, + ); + } } break; } diff --git vud_node/vud_node.module vud_node/vud_node.module index 632ace6..5d55a84 100644 --- vud_node/vud_node.module +++ vud_node/vud_node.module @@ -283,12 +283,22 @@ function vud_node_link($type, $object, $teaser = FALSE) { break; } if ($node_type && variable_get('vud_node_reset', 0) && user_access('reset vote up/down votes')) { - $reset_token = drupal_get_token("votereset/node/$node->nid/$tag"); - $links['vud_node_votes_reset_link'] = array( - 'title' => t('Reset your vote'), - 'href' => "votereset/node/$node->nid/$tag/$reset_token", - 'html' => TRUE, + $tag = variable_get('vote_up_down_tag', 'vote'); + $criteria = array( + 'content_type' => $type, + 'content_id' => $node->nid, + 'tag' => $tag, ); + $criteria += votingapi_current_user_identifier(); + $user_vote = votingapi_select_single_vote_value($criteria); + if (!is_null($user_vote)) { + $reset_token = drupal_get_token("votereset/node/$node->nid/$tag"); + $links['vud_node_votes_reset_link'] = array( + 'title' => t('Reset your vote'), + 'href' => "votereset/node/$node->nid/$tag/$reset_token", + 'html' => TRUE, + ); + } } break; } -- 1.7.1