diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2009-03-06 16:17:58 -0800 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2009-03-06 16:17:58 -0800 |
commit | 13c183e2f4e0738233658ca79103bbe4a6d57992 (patch) | |
tree | 298b18c43906919b2ee615e20f3507f333354575 /lib/popularnoticesection.php | |
parent | 9a2f3358537566084a29fd421891fbc236185e9f (diff) | |
parent | 0617c7b7730e4e42cd6285737f9fe999688fbdc6 (diff) |
Merge branch '0.7.x' into 0.8.x
Diffstat (limited to 'lib/popularnoticesection.php')
-rw-r--r-- | lib/popularnoticesection.php | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/popularnoticesection.php b/lib/popularnoticesection.php index c7c7f0215..0505f0fa9 100644 --- a/lib/popularnoticesection.php +++ b/lib/popularnoticesection.php @@ -48,10 +48,18 @@ class PopularNoticeSection extends NoticeSection { function getNotices() { + if (common_config('db', 'type') == 'pgsql') { + $weightexpr='sum(exp(-extract(epoch from (now() - fave.modified)) / %s))'; + } else { + $weightexpr='sum(exp(-(now() - fave.modified) / %s))'; + } + $qry = 'SELECT notice.*, '. - 'sum(exp(-(now() - fave.modified) / %s)) as weight ' . + $weightexpr . ' as weight ' . 'FROM notice JOIN fave ON notice.id = fave.notice_id ' . - 'GROUP BY fave.notice_id ' . + 'GROUP BY notice.id,notice.profile_id,notice.content,notice.uri,' . + 'notice.rendered,notice.url,notice.created,notice.modified,' . + 'notice.reply_to,notice.is_local,notice.source ' . 'ORDER BY weight DESC'; $offset = 0; |