X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FTerm.php;h=868f2bf0532380ee8bef06655f8e5e8bd6a594df;hb=7b7132971a64a92a685a5fd860fe4709dce1765a;hp=2f8da0fac26fdc1aa3f257e3b3858d748dc59aab;hpb=33664ebb48f415dd74a32da13edb25f54e494134;p=friendica.git diff --git a/src/Model/Term.php b/src/Model/Term.php index 2f8da0fac2..868f2bf053 100644 --- a/src/Model/Term.php +++ b/src/Model/Term.php @@ -1,10 +1,27 @@ . + * */ + namespace Friendica\Model; -use Friendica\Core\Cache\Cache; +use Friendica\Core\Cache\Duration; use Friendica\Core\Logger; use Friendica\Database\DBA; use Friendica\DI; @@ -16,8 +33,6 @@ use Friendica\Util\Strings; * This Model class handles term table interactions. * This tables stores relevant terms related to posts, photos and searches, like hashtags, mentions and * user-applied categories. - * - * @package Friendica\Model */ class Term { @@ -67,7 +82,7 @@ class Term WHERE `thread`.`visible` AND NOT `thread`.`deleted` AND NOT `thread`.`moderated` - AND NOT `thread`.`private` + AND `thread`.`private` = ? AND t.`uid` = 0 AND t.`otype` = ? AND t.`type` = ? @@ -76,6 +91,7 @@ class Term GROUP BY `term` ORDER BY `score` DESC LIMIT ?", + Item::PUBLIC, Term::OBJECT_TYPE_POST, Term::HASHTAG, $period, @@ -84,7 +100,7 @@ class Term if (DBA::isResult($tagsStmt)) { $tags = DBA::toArray($tagsStmt); - DI::cache()->set('global_trending_tags', $tags, Cache::HOUR); + DI::cache()->set('global_trending_tags', $tags, Duration::HOUR); } } @@ -107,11 +123,10 @@ class Term FROM `term` t JOIN `item` i ON i.`id` = t.`oid` AND i.`uid` = t.`uid` JOIN `thread` ON `thread`.`iid` = i.`id` - JOIN `user` ON `user`.`uid` = `thread`.`uid` AND NOT `user`.`hidewall` WHERE `thread`.`visible` AND NOT `thread`.`deleted` AND NOT `thread`.`moderated` - AND NOT `thread`.`private` + AND `thread`.`private` = ? AND `thread`.`wall` AND `thread`.`origin` AND t.`otype` = ? @@ -121,6 +136,7 @@ class Term GROUP BY `term` ORDER BY `score` DESC LIMIT ?", + Item::PUBLIC, Term::OBJECT_TYPE_POST, Term::HASHTAG, $period, @@ -129,7 +145,7 @@ class Term if (DBA::isResult($tagsStmt)) { $tags = DBA::toArray($tagsStmt); - DI::cache()->set('local_trending_tags', $tags, Cache::HOUR); + DI::cache()->set('local_trending_tags', $tags, Duration::HOUR); } } @@ -447,13 +463,13 @@ class Term $item['body'] = str_replace($orig_tag, $tag['url'], $item['body']); } - $return['hashtags'][] = $prefix . '' . $tag['term'] . ''; - $return['tags'][] = $prefix . '' . $tag['term'] . ''; + $return['hashtags'][] = $prefix . '' . htmlspecialchars($tag['term']) . ''; + $return['tags'][] = $prefix . '' . htmlspecialchars($tag['term']) . ''; break; case self::MENTION: $tag['url'] = Contact::magicLink($tag['url']); - $return['mentions'][] = $prefix . '' . $tag['term'] . ''; - $return['tags'][] = $prefix . '' . $tag['term'] . ''; + $return['mentions'][] = $prefix . '' . htmlspecialchars($tag['term']) . ''; + $return['tags'][] = $prefix . '' . htmlspecialchars($tag['term']) . ''; break; case self::IMPLICIT_MENTION: $return['implicit_mentions'][] = $prefix . $tag['term'];