/** * Get a pid to cpid mapping array of a particular contest * @param type $cid contest id * @return array pid to cpid mapping */ function get_cpids($cid) { $cpid_hash = array(); $contest_problem_tbl = new ContestProblemTbl($cid); if ($contest_problem_tbl->Get()) { do { $cpid_hash[$contest_problem_tbl->detail['pid']] = $contest_problem_tbl->detail['cpid']; } while ($contest_problem_tbl->MoreRows()); } return $cpid_hash; }
function GetContestProblemsMap($cid) { $contestProblemTbl = new ContestProblemTbl($cid); $cpidMap = array(); if ($contestProblemTbl->Get()) { do { $cpidMap[$contestProblemTbl->detail['cpid']] = $contestProblemTbl->detail['pid']; } while ($contestProblemTbl->MoreRows()); } return $cpidMap; }
require "./navigation.php"; $cid = safeget("cid"); $contestTbl = new ContestsTbl($cid); if (!$contestTbl->Get()) { error("Contest not found"); } $course_id = $contestTbl->detail['course_id']; if (!is_contest_modifiable($cid)) { error("No permission"); } $contestProblemTbl = new ContestProblemTbl($cid); $cpidIndex = array(); if ($contestProblemTbl->Get()) { do { $cpidIndex[$contestProblemTbl->detail['pid']] = $contestProblemTbl->detail['cpid']; } while ($contestProblemTbl->MoreRows()); } $contest = $contestTbl->detail; $p = tryget("p", 1); $rs = new RecordSet($conn); $query_str = "SELECT problems.pid FROM problems LEFT JOIN contest_problems ON contest_problems.pid = problems.pid WHERE avail = 1 AND problems.cid = {$cid} "; $count_str = "SELECT count(*) FROM problems WHERE avail = 1 AND cid = {$cid} "; $rs->nPageSize = 20; $rs->PageCount($count_str); $rs->SetPage($p); $query_str .= "ORDER BY cpid ASC"; $rs->dpQuery($query_str); $now = time(); ?> <script type="text/javascript">