diff --git a/actions/tag.php b/actions/tag.php index 3f379ffdf2..1042513d5a 100644 --- a/actions/tag.php +++ b/actions/tag.php @@ -21,7 +21,6 @@ if (!defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/actions/showstream.php'); define('TAGS_PER_PAGE', 100); -define('AGE_FACTOR', 864000.0); class TagAction extends StreamAction { @@ -90,7 +89,7 @@ class TagAction extends StreamAction { # This should probably be cached rather than recalculated $tags = DB_DataObject::factory('Notice_tag'); $tags->selectAdd('max(notice_id) as last_notice_id'); - $tags->selectAdd(sprintf('sum(exp(-(now() - created)/%f)) as weight', AGE_FACTOR)); + $tags->selectAdd(sprintf('sum(exp(-(now() - created)/%f)) as weight', common_config('tag', 'dropoff'))); $tags->groupBy('tag'); $tags->orderBy('weight DESC'); diff --git a/config.php.sample b/config.php.sample index 5327198bf0..8ee1f4fb46 100644 --- a/config.php.sample +++ b/config.php.sample @@ -71,4 +71,8 @@ $config['db']['database'] = 'mysql://laconica:microblog@localhost/laconica'; #Do notice broadcasts offline #If you set this, you must run the xmppdaemon.php #as a daemon (with, say, start-stop-daemon) -#$config['queue']['enabled'] = true; \ No newline at end of file +#$config['queue']['enabled'] = true; + +#exponential decay factor for tags, default 10 days +#raise this if traffic is slow, lower it if it's fast +#$config['tag']['dropoff'] = 86400.0 * 10; \ No newline at end of file diff --git a/lib/common.php b/lib/common.php index a59e6106b2..9269ace89d 100644 --- a/lib/common.php +++ b/lib/common.php @@ -85,6 +85,8 @@ $config = 'host' => NULL, # only set if != server 'debug' => false, # print extra debug info 'public' => array()), # JIDs of users who want to receive the public stream + 'tag' => + array('dropoff' => 864000.0), ); $config['db'] = &PEAR::getStaticProperty('DB_DataObject','options');