summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--actions/tag.php3
-rw-r--r--config.php.sample6
-rw-r--r--lib/common.php2
3 files changed, 8 insertions, 3 deletions
diff --git a/actions/tag.php b/actions/tag.php
index 3f379ffdf..1042513d5 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 5327198bf..8ee1f4fb4 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 a59e6106b..9269ace89 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');