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; }
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);