Please go back and select at least one submission and one reviewer
'; } else { // Get conflicts? if ($OC_configAR['OC_allowConflictOverride'] && isset($_POST['conflict_override']) && ($_POST['conflict_override'] == 1)) { $conflictAR = array(); } else { $conflictAR = getConflicts(); } // Assign reviews $reviewerAssignmentAR = array(); // keep track of reviewers w/successful assignments $submissionAssignmentAR = array(); // keep track of submissions assigned foreach ($_POST['reviewers'] as $i) { // valid rev id? if (!preg_match("/^\d+$/", $i)) { err('Invalid reviewer selected'); } // iterate through submissions for reviewers foreach ($_POST['papers'] as $j) { // valid sub id? if (!preg_match("/^\d+$/", $j)) { err('Invalid submission selected'); } // Check for conflict if (in_array("$j-$i", $conflictAR)) { print "
! Submission $j is in conflict with reviewer $i.
\n"; continue; } // Make assignment $q = "INSERT INTO `" . OCC_TABLE_PAPERREVIEWER . "` (`paperid`,`reviewerid`,`assigned`) VALUES ('" . safeSQLstr($j) . "','" . safeSQLstr($i) . "','" . safeSQLstr(date('Y-m-d')) . "')"; ocsql_query($q); if (($merr = ocsql_errno()) != 0) { if ($merr == 1062) { // Duplicate entry print "! Submission $j was already assigned reviewer $i.
\n"; } else { print "!! Error assigning submission $j to reviewer $i
\n"; } } else { print "Submission $j assigned to reviewer $i.
\n"; if (!isset($reviewerAssignmentAR[$i])) { $reviewerAssignmentsAR[$i] = array(); } $reviewerAssignmentAR[$i][] = $j; if (!in_array($j, $submissionAssignmentAR)) { $submissionAssignmentAR[] = $j; } // Hook if (oc_hookSet('chair-assign-review')) { foreach ($OC_hooksAR['chair-assign-review'] as $f) { require_once $f; } } } } } print 'Notification sent to ' . safeHTMLstr($l['name']) . ' (' . safeHTMLstr($l['reviewerid']) . ')
'; } else { print '!! Unable to email notification to ' . safeHTMLstr($l['name']) . ' (' . safeHTMLstr($l['reviewerid']) . ')
'; } } print ''; } else { if (!isset($_GET['s']) || ($_GET['s'] == "id")) { $idsortstr = 'ID'; $nsortstr = 'Name'; $rsortstr = 'No. Reviews'; $legend = "[ Reviewer ID - $nsortstr ($rsortstr) ]"; $sortby = "`" . OCC_TABLE_REVIEWER . "`.`reviewerid`"; } elseif ($_GET['s'] == "reviews") { $rsortstr = 'No. Reviews'; $idsortstr = 'ID'; $nsortstr = 'Name'; $legend = "[ No. Reviews - Reviewer $nsortstr - $idsortstr ]"; $sortby = "`rcount`, `" . OCC_TABLE_REVIEWER . "`.`name_last`, `" . OCC_TABLE_REVIEWER . "`.`name_first`"; } else { $idsortstr = 'ID'; $nsortstr = 'Name'; $rsortstr = 'No. Reviews'; $legend = "[ Reviewer Name - $idsortstr ($rsortstr) ]"; $sortby = "`" . OCC_TABLE_REVIEWER . "`.`name_last`, `" . OCC_TABLE_REVIEWER . "`.`name_first`"; } $rq = "SELECT `" . OCC_TABLE_REVIEWER . "`.`reviewerid`, `onprogramcommittee`, CONCAT_WS(' ', `" . OCC_TABLE_REVIEWER . "`.`name_first`, `" . OCC_TABLE_REVIEWER . "`.`name_last`) AS `name`, COUNT(`" . OCC_TABLE_PAPERREVIEWER . "`.`reviewerid`) AS `rcount` FROM `" . OCC_TABLE_REVIEWER . "` LEFT JOIN `" . OCC_TABLE_PAPERREVIEWER . "` ON `" . OCC_TABLE_REVIEWER . "`.`reviewerid`=`" . OCC_TABLE_PAPERREVIEWER . "`.`reviewerid` GROUP BY `" . OCC_TABLE_REVIEWER . "`.`reviewerid` ORDER BY $sortby"; $rr = ocsql_query($rq) or err("Unable to get reviewers"); // Get pad size for reviewer id's - yes, we really need the max id, but this should do:) $rsize = oc_strlen((string) ocsql_num_rows($rr)); if (ocsql_num_rows($rr) == 0) { print 'No reviewers have signed up yet
'; } else { print '
'; } } } printFooter(); ?>