]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/publictagcloud.php
Ticket 2271: extra whitespace in underlined link for username in notice lists
[quix0rs-gnu-social.git] / actions / publictagcloud.php
index 5c707402905df7dcd0f9665950384849440992b0..70c356659ac66442d846af16d25c7f5b65be292c 100644 (file)
@@ -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);
             }