X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fpublictagcloud.php;h=70c356659ac66442d846af16d25c7f5b65be292c;hb=ad651c35353021d05ef4a013e57c17d0b885c5dc;hp=5c707402905df7dcd0f9665950384849440992b0;hpb=e3466ab51cf68bd62ecd914a3771ed33de824e52;p=quix0rs-gnu-social.git diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php index 5c70740290..70c356659a 100644 --- a/actions/publictagcloud.php +++ b/actions/publictagcloud.php @@ -105,12 +105,11 @@ class PublictagcloudAction extends Action #Add the aggregated columns... $tags->selectAdd('max(notice_id) as last_notice_id'); - if(common_config('db','type')=='pgsql') { - $calc='sum(exp(-extract(epoch from (now()-created))/%s)) as weight'; - } else { - $calc='sum(exp(-(now() - created)/%s)) as weight'; - } - $tags->selectAdd(sprintf($calc, common_config('tag', 'dropoff'))); + $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->whereAdd($cutoff); $tags->groupBy('tag'); $tags->orderBy('weight DESC'); @@ -139,7 +138,7 @@ class PublictagcloudAction extends Action if ($sum) { $weightedSum = $weight/$sum; } else { - $weightedSum = 1; + $weightedSum = 0.5; } $this->showTag($tag, $weight, $weightedSum); }