]> git.mxchange.org Git - friendica-addons.git/blobdiff - widgets/widget_like.php
Use short form array syntax everywhere
[friendica-addons.git] / widgets / widget_like.php
index 6927d43241390a35e064b20e987839884ddeedcf..a67f0bd8fab7c7dcd396c289fabd325f5331eef7 100644 (file)
@@ -8,15 +8,61 @@ function like_widget_help() {
 }
 
 function like_widget_args(){
-       return Array("KEY");
+       return ["KEY"];
 }
 
+function like_widget_size(){
+       return ['60px','20px'];
+}
+
+
 function like_widget_content(&$a, $conf){
        $args = explode(",",$_GET['a']);
-       
-       if ($args[0]!=""){
-               return " #TODO like/dislike count for item with <em>" .$args[0]. "</em> # ";
-       } else {
-               return " #TODO# ";
-       }
+
+
+       $baseq="SELECT COUNT(`item`.`id`) as `c`, `p`.`id`
+                                       FROM `item`,
+                                               (SELECT `i`.`id` FROM `item` as `i` WHERE
+                                                       `i`.`visible` = 1 AND `i`.`deleted` = 0
+                                                       AND (( `i`.`wall` = 1 AND `i`.`allow_cid` = ''
+                                                                       AND `i`.`allow_gid` = ''
+                                                                       AND `i`.`deny_cid`  = ''
+                                                                       AND `i`.`deny_gid`  = '' )
+                                                                 OR `i`.`uid` = %d )
+                                                       AND `i`.`body` LIKE '%%%s%%' LIMIT 1) as `p`
+                                       WHERE `item`.`parent` = `p`.`id` ";
+
+       // count likes
+       $r = q( $baseq . "AND `item`.`verb` = 'http://activitystrea.ms/schema/1.0/like'",
+                       intval($conf['uid']),
+                       dbesc($args[0])
+       );
+       $likes = $r[0]['c'];
+       $iid = $r[0]['id'];
+
+       // count dislikes
+       $r = q( $baseq . "AND `item`.`verb` = 'http://purl.org/macgirvin/dfrn/1.0/dislike'",
+                       intval($conf['uid']),
+                       dbesc($args[0])
+       );
+       $dislikes = $r[0]['c'];
+
+
+       require_once("include/conversation.php");
+
+       $o = "";
+
+#      $t = file_get_contents( dirname(__file__). "/widget_like.tpl" );
+       $t = get_markup_template("widget_like.tpl", "addon/widgets/");
+       $o .= replace_macros($t, [
+               '$like'         => $likes,
+               '$strlike'      => sprintf( tt("%d person likes this", "%d people like this", $likes), $likes),
+
+               '$dislike'      => $dislikes,
+               '$strdislike'=> sprintf( tt("%d person doesn't like this", "%d people don't like this", $dislikes), $dislikes),
+
+               '$baseurl' => $a->get_baseurl(),
+       ]);
+
+       return $o;
 }