2011-09-25 10:56:03 +02:00
|
|
|
<?php
|
|
|
|
|
2018-01-22 20:03:11 +01:00
|
|
|
use Friendica\Core\L10n;
|
2018-10-31 15:55:15 +01:00
|
|
|
use Friendica\Core\Renderer;
|
2018-07-24 00:46:16 +02:00
|
|
|
use Friendica\Database\DBA;
|
2018-01-22 20:03:11 +01:00
|
|
|
|
2011-09-25 10:56:03 +02:00
|
|
|
function like_widget_name() {
|
|
|
|
return "Shows likes";
|
|
|
|
}
|
|
|
|
function like_widget_help() {
|
|
|
|
return "Search first item which contains <em>KEY</em> and print like/dislike count";
|
|
|
|
}
|
|
|
|
|
|
|
|
function like_widget_args(){
|
2018-01-15 14:15:33 +01:00
|
|
|
return ["KEY"];
|
2011-09-25 10:56:03 +02:00
|
|
|
}
|
|
|
|
|
2011-10-19 11:43:45 +02:00
|
|
|
function like_widget_size(){
|
2018-01-15 14:15:33 +01:00
|
|
|
return ['60px','20px'];
|
2011-10-19 11:43:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-09-25 10:56:03 +02:00
|
|
|
function like_widget_content(&$a, $conf){
|
|
|
|
$args = explode(",",$_GET['a']);
|
2018-01-15 14:15:33 +01:00
|
|
|
|
|
|
|
|
2011-10-18 17:18:58 +02:00
|
|
|
$baseq="SELECT COUNT(`item`.`id`) as `c`, `p`.`id`
|
2018-01-15 14:15:33 +01:00
|
|
|
FROM `item`,
|
|
|
|
(SELECT `i`.`id` FROM `item` as `i` WHERE
|
2011-10-18 17:18:58 +02:00
|
|
|
`i`.`visible` = 1 AND `i`.`deleted` = 0
|
2018-01-15 14:15:33 +01:00
|
|
|
AND (( `i`.`wall` = 1 AND `i`.`allow_cid` = ''
|
|
|
|
AND `i`.`allow_gid` = ''
|
|
|
|
AND `i`.`deny_cid` = ''
|
|
|
|
AND `i`.`deny_gid` = '' )
|
2011-10-18 17:18:58 +02:00
|
|
|
OR `i`.`uid` = %d )
|
|
|
|
AND `i`.`body` LIKE '%%%s%%' LIMIT 1) as `p`
|
|
|
|
WHERE `item`.`parent` = `p`.`id` ";
|
2018-01-15 14:15:33 +01:00
|
|
|
|
2011-10-18 17:18:58 +02:00
|
|
|
// count likes
|
|
|
|
$r = q( $baseq . "AND `item`.`verb` = 'http://activitystrea.ms/schema/1.0/like'",
|
|
|
|
intval($conf['uid']),
|
2018-07-21 15:13:02 +02:00
|
|
|
DBA::escape($args[0])
|
2011-10-18 17:18:58 +02:00
|
|
|
);
|
|
|
|
$likes = $r[0]['c'];
|
|
|
|
$iid = $r[0]['id'];
|
2018-01-15 14:15:33 +01:00
|
|
|
|
2011-10-18 17:18:58 +02:00
|
|
|
// count dislikes
|
|
|
|
$r = q( $baseq . "AND `item`.`verb` = 'http://purl.org/macgirvin/dfrn/1.0/dislike'",
|
|
|
|
intval($conf['uid']),
|
2018-07-21 15:13:02 +02:00
|
|
|
DBA::escape($args[0])
|
2011-10-18 17:18:58 +02:00
|
|
|
);
|
|
|
|
$dislikes = $r[0]['c'];
|
2018-01-15 14:15:33 +01:00
|
|
|
|
|
|
|
|
2011-10-18 17:18:58 +02:00
|
|
|
require_once("include/conversation.php");
|
2018-01-15 14:15:33 +01:00
|
|
|
|
2011-10-18 17:18:58 +02:00
|
|
|
$o = "";
|
2018-01-15 14:15:33 +01:00
|
|
|
|
2012-12-22 21:36:35 +01:00
|
|
|
# $t = file_get_contents( dirname(__file__). "/widget_like.tpl" );
|
2018-10-31 15:55:15 +01:00
|
|
|
$t = Renderer::getMarkupTemplate("widget_like.tpl", "addon/widgets/");
|
|
|
|
$o .= Renderer::replaceMacros($t, [
|
2011-10-18 17:18:58 +02:00
|
|
|
'$like' => $likes,
|
2018-01-24 04:59:20 +01:00
|
|
|
'$strlike' => L10n::tt("%d person likes this", "%d people like this", $likes),
|
2018-01-15 14:15:33 +01:00
|
|
|
|
2011-10-18 17:18:58 +02:00
|
|
|
'$dislike' => $dislikes,
|
2018-01-24 04:59:20 +01:00
|
|
|
'$strdislike'=> L10n::tt("%d person doesn't like this", "%d people don't like this", $dislikes),
|
2018-01-15 14:15:33 +01:00
|
|
|
|
2018-10-09 20:13:22 +02:00
|
|
|
'$baseurl' => $a->getBaseURL(),
|
2018-01-15 14:15:33 +01:00
|
|
|
]);
|
|
|
|
|
2011-10-18 17:18:58 +02:00
|
|
|
return $o;
|
2011-09-25 10:56:03 +02:00
|
|
|
}
|