aboutsummaryrefslogtreecommitdiffstats
path: root/include/items.php
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-03-06 02:17:55 -0800
committerfriendica <info@friendica.com>2012-03-06 02:17:55 -0800
commit23718bfc259c00e87e3845ba4b1ead52ca7c6559 (patch)
tree67acd06c08ae1bc114a350a2aa1945512334a8a9 /include/items.php
parentc0e0034f0650c68400bb2d82ca53c21ecf44ca80 (diff)
downloadvolse-hubzilla-23718bfc259c00e87e3845ba4b1ead52ca7c6559.tar.gz
volse-hubzilla-23718bfc259c00e87e3845ba4b1ead52ca7c6559.tar.bz2
volse-hubzilla-23718bfc259c00e87e3845ba4b1ead52ca7c6559.zip
prevent duplicate likes
Diffstat (limited to 'include/items.php')
-rwxr-xr-xinclude/items.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/items.php b/include/items.php
index 3c55fbb4f..fdff6b642 100755
--- a/include/items.php
+++ b/include/items.php
@@ -1595,6 +1595,14 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
if((activity_match($datarray['verb'],ACTIVITY_LIKE)) || (activity_match($datarray['verb'],ACTIVITY_DISLIKE))) {
$datarray['type'] = 'activity';
$datarray['gravity'] = GRAVITY_LIKE;
+ // only one like or dislike per person
+ $r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 limit 1",
+ intval($datarray['uid']),
+ intval($datarray['contact-id']),
+ dbesc($datarray['verb'])
+ );
+ if($r && count($r))
+ continue;
}
if(($datarray['verb'] === ACTIVITY_TAG) && ($datarray['object-type'] === ACTIVITY_OBJ_TAGTERM)) {
@@ -2148,6 +2156,14 @@ function local_delivery($importer,$data) {
$datarray['type'] = 'activity';
$datarray['gravity'] = GRAVITY_LIKE;
$datarray['last-child'] = 0;
+ // only one like or dislike per person
+ $r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 limit 1",
+ intval($datarray['uid']),
+ intval($datarray['contact-id']),
+ dbesc($datarray['verb'])
+ );
+ if($r && count($r))
+ continue;
}
if(($datarray['verb'] === ACTIVITY_TAG) && ($datarray['object-type'] === ACTIVITY_OBJ_TAGTERM)) {
@@ -2297,6 +2313,15 @@ function local_delivery($importer,$data) {
if(($datarray['verb'] == ACTIVITY_LIKE) || ($datarray['verb'] == ACTIVITY_DISLIKE)) {
$datarray['type'] = 'activity';
$datarray['gravity'] = GRAVITY_LIKE;
+ // only one like or dislike per person
+ $r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 limit 1",
+ intval($datarray['uid']),
+ intval($datarray['contact-id']),
+ dbesc($datarray['verb'])
+ );
+ if($r && count($r))
+ continue;
+
}
if(($datarray['verb'] === ACTIVITY_TAG) && ($datarray['object-type'] === ACTIVITY_OBJ_TAGTERM)) {