X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FContent%2FWidget%2FTagCloud.php;h=d2c9d94534a9611df4b7a2e62d74940250e27b18;hb=d6a730399152e7127c9cab2a313af7b0888c1c31;hp=63df5a0bd5408b2a107b7e024c4e9857af9ed145;hpb=7f5f68a9048644ffbc3ce4fb94e56c0dae480d0c;p=friendica.git diff --git a/src/Content/Widget/TagCloud.php b/src/Content/Widget/TagCloud.php index 63df5a0bd5..d2c9d94534 100644 --- a/src/Content/Widget/TagCloud.php +++ b/src/Content/Widget/TagCloud.php @@ -1,6 +1,6 @@ $rr[2], + 'url' => $url . '?tag=' . urlencode($rr[0]), + 'name' => $rr[0], + ]; } $tpl = Renderer::getMarkupTemplate('widget/tagcloud.tpl'); $o = Renderer::replaceMacros($tpl, [ '$title' => DI::l10n()->t('Tags'), - '$tags' => $tags + '$tags' => $tags ]); } return $o; @@ -88,30 +87,27 @@ class TagCloud */ private static function tagadelic($uid, $count = 0, $owner_id = 0, $flags = '', $type = Tag::HASHTAG) { - $sql_options = Item::getPermissionsSQLByUserId($uid); + $sql_options = Item::getPermissionsSQLByUserId($uid, 'post-user-view'); $limit = $count ? sprintf('LIMIT %d', intval($count)) : ''; if ($flags) { if ($flags === 'wall') { - $sql_options .= ' AND `item`.`wall` '; + $sql_options .= ' AND `post-user-view`.`wall` '; } } if ($owner_id) { - $sql_options .= ' AND `item`.`owner-id` = ' . intval($owner_id) . ' '; + $sql_options .= ' AND `post-user-view`.`owner-id` = ' . intval($owner_id) . ' '; } // Fetch tags - $tag_stmt = DBA::p("SELECT `term`, COUNT(`term`) AS `total` FROM `term` - LEFT JOIN `item` ON `term`.`oid` = `item`.`id` - WHERE `term`.`uid` = ? AND `term`.`type` = ? - AND `term`.`otype` = ? - AND `item`.`visible` AND NOT `item`.`deleted` AND NOT `item`.`moderated` + $tag_stmt = DBA::p("SELECT `name`, COUNT(`name`) AS `total` FROM `tag-search-view` + LEFT JOIN `post-user-view` ON `tag-search-view`.`uri-id` = `post-user-view`.`uri-id` AND `tag-search-view`.`uid` = `post-user-view`.`uid` + WHERE `tag-search-view`.`uid` = ? + AND `post-user-view`.`visible` AND NOT `post-user-view`.`deleted` $sql_options - GROUP BY `term` ORDER BY `total` DESC $limit", - $uid, - $type, - Term::OBJECT_TYPE_POST + GROUP BY `name` ORDER BY `total` DESC $limit", + $uid ); if (!DBA::isResult($tag_stmt)) { return []; @@ -131,8 +127,8 @@ class TagCloud private static function tagCalc(array $arr) { $tags = []; - $min = 1e9; - $max = -1e9; + $min = 1000000000.0; + $max = -1000000000.0; $x = 0; if (!$arr) { @@ -140,7 +136,7 @@ class TagCloud } foreach ($arr as $rr) { - $tags[$x][0] = $rr['term']; + $tags[$x][0] = $rr['name']; $tags[$x][1] = log($rr['total']); $tags[$x][2] = 0; $min = min($min, $tags[$x][1]); @@ -149,7 +145,7 @@ class TagCloud } usort($tags, 'self::tagsSort'); - $range = max(.01, $max - $min) * 1.0001; + $range = max(0.01, $max - $min) * 1.0001; for ($x = 0; $x < count($tags); $x ++) { $tags[$x][2] = 1 + floor(9 * ($tags[$x][1] - $min) / $range);