Ejemplo n.º 1
0
function raisedbyteam($gid)
{
    //dbg("group: $gid");
    $raised = 0;
    $sql = "select id, last_name from users where active=1 and group_id={$gid} and user_type='s'";
    $rs = dbExec($sql);
    $rc = $rs->RecordCount();
    if ($rc >= 1) {
        //dbg("rc=$rc");
        assert($rc <= 4);
        $add = 0;
        $avg = 0;
        $raised = 0;
        $addedComp = false;
        for ($i = 0; $i < 4; $i++) {
            if ($i < $rc) {
                $stud = $rs->FetchNextObj();
                $name = $stud->last_name;
                $tvc = 0;
                $rm = raisedbystudent($stud->id, $tvc);
                $raised += $rm;
                $add += $rm;
                $avg = $add / ($i + 1);
                //dbg("id=".$stud->id." name=$name raised=$rm tot=$raised add=$add avg=$avg");
            } else {
                if ($addedComp == false) {
                    $raised += $avg;
                    //dbg("(no one) tot=$raised ($raised + $avg)");
                    $addedComp = true;
                }
            }
        }
        $raised = round($raised);
        //dbg("final tot=$raised");
    }
    dbExec("update groups set raisedmoney={$raised} where id=" . $gid);
    return $raised;
}
Ejemplo n.º 2
0
    p("cleared tracking.raisedmoney");
    dbExec("update groups set raisedmoney=0");
    p("cleared groups.raisedmoney");
    dbExec("delete from results");
    dbExec("insert into results (uid,gid)\n\t\t\t\tselect id,group_id from users where active=1 and user_type='s' and group_id!=0 and gamedata != ''");
    p("Done");
}
b("updating raised money for students");
$tr = array();
$rs = dbExec("select uid,gid from results where raised is NULL");
$rc = $rs->RecordCount();
p("Records to process: {$rc}");
$j = $rs->RecordCount() / 10;
while ($o = $rs->FetchNextObj()) {
    $tvc = 0;
    $raised = raisedbystudent($o->uid, $tvc);
    $tr[$o->gid] = true;
    if ($rs->CurrentRow() % $j == 0) {
        echo $rs->CurrentRow() . "&mdash;";
    }
    ob_flush();
    flush();
}
p("Done");
b("updating raised money for teams");
$rc = count($tr);
p("Records to process: {$rc}");
$j = $rc / 10;
$cr = 0;
foreach ($tr as $gid => $v) {
    $raised = dbGetFld("select sum(raised) + (avg(raised) * CEIL((4-count(raised))/4)) from results where gid={$gid}");