X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fpublictagcloud.php;h=70c356659ac66442d846af16d25c7f5b65be292c;hb=ad651c35353021d05ef4a013e57c17d0b885c5dc;hp=0fbd41901aeebabcc676b2ec5a5ef0257e0685b2;hpb=d35b2d3f3c2128b147a6fa897032262c1f632262;p=quix0rs-gnu-social.git diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php index 0fbd41901a..70c356659a 100644 --- a/actions/publictagcloud.php +++ b/actions/publictagcloud.php @@ -22,14 +22,14 @@ * @category Public * @package StatusNet * @author Mike Cochrane - * @author Evan Prodromou + * @author Evan Prodromou * @copyright 2008 Mike Cochrane * @copyright 2008-2009 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } define('TAGS_PER_PAGE', 100); @@ -39,7 +39,7 @@ define('TAGS_PER_PAGE', 100); * @category Personal * @package StatusNet * @author Mike Cochrane - * @author Evan Prodromou + * @author Evan Prodromou * @copyright 2008 Mike Cochrane * @copyright 2008-2009 StatusNet, Inc. * @link http://status.net/ @@ -72,8 +72,7 @@ class PublictagcloudAction extends Action $message .= _('Be the first to post one!'); } else { - $message .= sprintf(_('Why not [register an account](%%%%action.%s%%%%) and be the first to post one!'), - (!common_config('site','openidonly')) ? 'register' : 'openidlogin'); + $message .= _('Why not [register an account](%%action.register%%) and be the first to post one!'); } $this->elementStart('div', 'guide'); @@ -106,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'); @@ -137,7 +135,12 @@ class PublictagcloudAction extends Action $this->elementStart('dd'); $this->elementStart('ul', 'tags xoxo tag-cloud'); foreach ($tw as $tag => $weight) { - $this->showTag($tag, $weight, $weight/$sum); + if ($sum) { + $weightedSum = $weight/$sum; + } else { + $weightedSum = 0.5; + } + $this->showTag($tag, $weight, $weightedSum); } $this->elementEnd('ul'); $this->elementEnd('dd');