X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fpublictagcloud.php;h=8daf18d5042bd8b4dbe2653f6b3a8edb7f551b00;hb=aa6da5965da099e6c029a62a96a3b13d9448da4d;hp=db8185bb13d8a7eb142b0b9a29621d9a4eab12a8;hpb=0dbdcf2936a00282114f1368ead2f5edebc6ae61;p=quix0rs-gnu-social.git diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php index db8185bb13..8daf18d504 100644 --- a/actions/publictagcloud.php +++ b/actions/publictagcloud.php @@ -46,7 +46,7 @@ define('TAGS_PER_PAGE', 100); */ class PublictagcloudAction extends Action { - function isReadOnly($args) + function isReadOnly(array $args=array()) { return true; } @@ -92,7 +92,7 @@ class PublictagcloudAction extends Action $this->elementEnd('div'); } - function handle($args) + function handle(array $args=array()) { parent::handle($args); $this->showPage(); @@ -103,18 +103,23 @@ class PublictagcloudAction extends Action // This should probably be cached rather than recalculated $tags = new Notice_tag(); - #Need to clear the selection and then only re-add the field - #we are grouping by, otherwise it's not a valid 'group by' - #even though MySQL seems to let it slide... + /* + * Need to clear the selection and then only re-add the field + * we are grouping by, otherwise it's not a valid 'group by' + * even though MySQL seems to let it slide... + */ $tags->selectAdd(); $tags->selectAdd('tag'); + $tags->selectAdd('notice_id'); + $tags->selectAdd('scope'); - #Add the aggregated columns... + // Add the aggregated columns... $tags->selectAdd('max(notice_id) as last_notice_id'); $calc = common_sql_weight('created', common_config('tag', 'dropoff')); $cutoff = sprintf("notice_tag.created > '%s'", common_sql_date(time() - common_config('tag', 'cutoff'))); $tags->selectAdd($calc . ' as weight'); + $tags->joinAdd(array('notice_id', 'notice:id')); $tags->whereAdd($cutoff); $tags->groupBy('tag'); $tags->orderBy('weight DESC'); @@ -130,8 +135,11 @@ class PublictagcloudAction extends Action $tw = array(); $sum = 0; while ($tags->fetch()) { - $tw[$tags->tag] = $tags->weight; - $sum += $tags->weight; + // Check scope: + if ($tags->isCurrentProfileInScope()) { + $tw[$tags->tag] = $tags->weight; + $sum += $tags->weight; + } } ksort($tw);