Beispiel #1
0
function getgroupranking($fid = '', $nowranking = '', $num = 100)
{
    $topgroup = $rankingdata = $topyesterday = array();
    if ($fid) {
        updateactivity($fid);
    }
    $ranking = 1;
    $query = DB::query("SELECT f.fid FROM " . DB::table('forum_forum') . " as f LEFT JOIN " . DB::table('forum_forumfield') . " as ff ON ff.fid=f.fid WHERE f.type='sub' AND f.status='3' ORDER BY ff.activity DESC LIMIT 0, 1000");
    while ($group = DB::fetch($query)) {
        $topgroup[$group['fid']] = $ranking++;
    }
    if ($fid && $topgroup) {
        $rankingdata['yesterday'] = intval($nowranking);
        $rankingdata['today'] = intval($topgroup[$fid]);
        $rankingdata['trend'] = $rankingdata['yesterday'] ? grouptrend($rankingdata['yesterday'], $rankingdata['today']) : 0;
        $topgroup = $rankingdata;
    } else {
        $query = DB::query("SELECT * FROM " . DB::table('forum_groupranking') . " ORDER BY today LIMIT 0, {$num}");
        while ($top = DB::fetch($query)) {
            $topyesterday[$top['fid']] = $top;
        }
        foreach ($topgroup as $forumid => $today) {
            $yesterday = intval($topyesterday[$forumid]);
            $trend = $yesterday ? grouptrend($yesterday, $today) : 0;
            DB::query("REPLACE INTO " . DB::table('forum_groupranking') . " (fid, yesterday, today, trend) VALUES ('{$forumid}', '{$yesterday}', '{$today}', '{$trend}')", 'UNBUFFERED');
        }
        $topgroup = $topyesterday;
    }
    return $topgroup;
}
Beispiel #2
0
function getgroupranking($fid = '', $nowranking = '')
{
    $topgroup = $rankingdata = $topyesterday = array();
    $ranking = 1;
    $query = C::t('forum_forum')->fetch_all_group_for_ranking();
    foreach ($query as $group) {
        $topgroup[$group['fid']] = $ranking++;
    }
    if ($fid && $topgroup) {
        $rankingdata['yesterday'] = intval($nowranking);
        $rankingdata['today'] = intval($topgroup[$fid]);
        $rankingdata['trend'] = $rankingdata['yesterday'] ? grouptrend($rankingdata['yesterday'], $rankingdata['today']) : 0;
        $topgroup = $rankingdata;
    }
    return $topgroup;
}