Example #1
0
function grant_credits_for_wu($wuid)
{
    $max_credit = 300;
    $ndone = 0;
    $query_r = _mysql_query("select * from result where granted_credit=0 and claimed_credit>0 and workunitid={$wuid}");
    while ($result = _mysql_fetch_object($query_r)) {
        echo "STARTING RESULT {$result->id} [Credit {$result->claimed_credit}] ...";
        $ndone++;
        $hostid = $result->hostid;
        $query_h = _mysql_query("select * from host where id={$hostid}");
        $host = _mysql_fetch_object($query_h);
        $userid = $result->userid;
        $query_u = _mysql_query("select * from user where id={$userid}");
        $user = _mysql_fetch_object($query_u);
        $credit = $result->claimed_credit;
        if ($credit > $max_credit) {
            $credit = $max_credit;
            echo " WARNING: USER {$user->name} ({$userid}) CLAIMED {$result->claimed_credit} CREDITS (getting {$credit})!";
        }
        $user->total_credit += $credit;
        update_average(time(0), $result->sent_time, $credit, $user->expavg_credit, $user->expavg_time);
        $host->total_credit += $credit;
        update_average(time(0), $result->sent_time, $credit, $host->expavg_credit, $host->expavg_time);
        $turnaround = $result->received_time - $result->sent_time;
        if ($host->avg_turnaround > 0) {
            $host->avg_turnaround = 0.7 * $host->avg_turnaround + 0.3 * $turnaround;
        } else {
            $host->avg_turnaround = $turnaround;
        }
        testquery("update result set granted_credit={$credit} where id={$result->id}");
        testquery("update user set total_credit={$user->total_credit}, expavg_credit={$user->expavg_credit}, expavg_time={$user->expavg_time} where id={$userid}");
        testquery("update host set total_credit={$host->total_credit}, expavg_credit={$host->expavg_credit}, expavg_time={$host->expavg_time}, avg_turnaround={$host->avg_turnaround} where id={$hostid}");
        $teamid = $user->teamid;
        if ($teamid) {
            $query_t = _mysql_query("select * from team where id={$teamid}");
            $team = _mysql_fetch_object($query_t);
            $team->total_credit += $credit;
            update_average(time(0), $result->sent_time, $credit, $team->expavg_credit, $team->expavg_time);
            testquery("update team set total_credit={$team->total_credit}, expavg_credit={$team->expavg_credit}, expavg_time={$team->expavg_time} where id={$teamid}");
            _mysql_free_result($query_t);
        }
        _mysql_free_result($query_h);
        _mysql_free_result($query_u);
        echo " DONE\n";
    }
    _mysql_free_result($query_r);
    return $ndone;
}
Example #2
0
echo "{$query}<br>";
testquery($query);
echo "<h2>Query for modules with relation on themselves</h2>";
$queryGenerator = new QueryGenerator('Accounts', $current_user);
$queryGenerator->setFields(array('id', 'accountname', 'website', 'Accounts.accountname', 'Accounts.website'));
$query = $queryGenerator->getQuery();
echo "{$query}<br>";
testquery($query);
$queryGenerator = new QueryGenerator('Contacts', $current_user);
$queryGenerator->setFields(array('id', 'firstname', 'lastname', 'Contacts.firstname', 'Contacts.lastname'));
$query = $queryGenerator->getQuery();
echo "{$query}<br>";
testquery($query);
echo "<h2>Query for HelpDesk</h2>";
$queryGenerator = new QueryGenerator('HelpDesk', $current_user);
$queryGenerator->setFields(array('id', 'ticket_title', 'ticketstatus'));
$query = $queryGenerator->getQuery();
echo "{$query}<br>";
testquery($query);
$queryGenerator = new QueryGenerator('HelpDesk', $current_user);
$queryGenerator->setFields(array('id', 'ticket_title', 'ticketstatus', 'Accounts.accountname', 'Contacts.firstname'));
$query = $queryGenerator->getQuery();
echo "{$query}<br>";
testquery($query);
//error_reporting(E_ALL);ini_set("display_errors", "on");
// echo "<h2>Query with custom field</h2>";
// $queryGenerator = new QueryGenerator($moduleName, $current_user);
// $queryGenerator->setFields(array('id','cf_681'));
// $query = $queryGenerator->getQuery();
// echo "$query<br>";
// testquery($query);