public function content($pl, $row, $rowidx) { // see also search.php > getaction == "reviewers" if (!isset($pl->review_list[$row->paperId])) { return ""; } $prefs = $topics = false; if ($pl->contact->privChair) { $prefs = $row->reviewer_preferences(); $topics = $this->topics && $row->has_topics(); } $pcm = null; if ($pl->contact->isPC) { $pcm = pcMembers(); } $x = array(); foreach ($pl->review_list[$row->paperId] as $xrow) { $ranal = new PaperListReviewAnalysis($xrow); $n = $pl->contact->reviewer_html_for($xrow) . " " . $ranal->icon_html(false); if ($prefs || $topics) { $pref = get($prefs, $xrow->contactId); if ($topics) { $pref[2] = $row->topic_interest_score((int) $xrow->contactId); } $n .= unparse_preference_span($pref); } $x[] = '<span class="nw">' . $n . '</span>'; } return $pl->maybeConflict($row, join(", ", $x), $pl->contact->can_view_review_identity($row, null, false)); }
$revtype = -1; } else { if ($p->reviewType) { $revtype = $p->reviewType; } else { $revtype = $p->refused ? -3 : 0; } } $title = $p->refused ? "Review previously declined" : "Assignment"; // NB manualassign.php also uses the "pcs$contactId" convention echo '<div class="pctbass">' . '<div id="foldass' . $p->contactId . '" class="foldc" style="position:relative">' . '<a id="folderass' . $p->contactId . '" href="#" onclick="return assigntable.open(' . $p->contactId . ')">' . review_type_icon($revtype, false, $title) . Ht::img("_.gif", ">", array("class" => "next")) . '</a> ' . Ht::hidden("pcs{$p->contactId}", $p->conflictType == 0 ? $p->reviewType : -1, array("id" => "pcs{$p->contactId}")) . '</div></div>'; echo '<div id="ass' . $p->contactId . '" class="pctbname pctbname' . $revtype . '">' . '<span class="taghl nw">' . $Me->name_html_for($pc) . '</span>'; if ($p->conflictType == 0) { $p->topicInterestScore = $prow->topic_interest_score($pc); if ($p->reviewerPreference || $p->reviewerExpertise || $p->topicInterestScore) { echo unparse_preference_span($p); } } echo '</div>'; } // then, number of reviews echo '<div class="pctbnrev">'; $numReviews = strlen($p->allReviews); $numPrimary = preg_match_all("|" . REVIEW_PRIMARY . "|", $p->allReviews, $matches); if (!$numReviews) { echo "0 reviews"; } else { echo "<a class='q' href=\"" . hoturl("search", "q=re:" . urlencode($pc->email)) . "\">" . plural($numReviews, "review") . "</a>"; if ($numPrimary && $numPrimary < $numReviews) { echo " (<a class='q' href=\"" . hoturl("search", "q=pri:" . urlencode($pc->email)) . "\">{$numPrimary} primary</a>)"; }
function unparse_display(AssignmentSet $aset) { if (!$this->cid) { return "remove all preferences"; } $aset->show_column("allpref"); return $aset->contact()->reviewer_html_for($this->contact) . " " . unparse_preference_span(array($this->pref, $this->exp), true); }