本文整理汇总了PHP中ReviewAssignment::setStage方法的典型用法代码示例。如果您正苦于以下问题:PHP ReviewAssignment::setStage方法的具体用法?PHP ReviewAssignment::setStage怎么用?PHP ReviewAssignment::setStage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ReviewAssignment
的用法示例。
在下文中一共展示了ReviewAssignment::setStage方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addReviewer
/**
* Assigns a reviewer to a submission.
* @param $trackDirectorSubmission object
* @param $reviewerId int
* @param $stage int
*/
function addReviewer($trackDirectorSubmission, $reviewerId, $stage)
{
$trackDirectorSubmissionDao =& DAORegistry::getDAO('TrackDirectorSubmissionDAO');
$reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO');
$userDao =& DAORegistry::getDAO('UserDAO');
$user =& Request::getUser();
$reviewer =& $userDao->getUser($reviewerId);
// Check to see if the requested reviewer is not already
// assigned to review this paper.
if ($stage == null) {
$stage = $trackDirectorSubmission->getCurrentStage();
}
$assigned = $trackDirectorSubmissionDao->reviewerExists($trackDirectorSubmission->getPaperId(), $reviewerId, $stage);
// Only add the reviewer if he has not already
// been assigned to review this paper.
if (!$assigned && isset($reviewer) && !HookRegistry::call('TrackDirectorAction::addReviewer', array(&$trackDirectorSubmission, $reviewerId))) {
$reviewAssignment = new ReviewAssignment();
$reviewAssignment->setReviewerId($reviewerId);
$reviewAssignment->setDateAssigned(Core::getCurrentDate());
$reviewAssignment->setStage($stage);
// Assign review form automatically if needed
$schedConfId = $trackDirectorSubmission->getSchedConfId();
$schedConfDao =& DAORegistry::getDAO('SchedConfDAO');
$schedConf =& $schedConfDao->getSchedConf($schedConfId);
$conferenceId = $schedConf->getConferenceId();
$trackDao =& DAORegistry::getDAO('TrackDAO');
$reviewFormDao =& DAORegistry::getDAO('ReviewFormDAO');
$trackId = $trackDirectorSubmission->getTrackId();
$track =& $trackDao->getTrack($trackId, $conferenceId);
if ($track && ($reviewFormId = (int) $track->getReviewFormId())) {
if ($reviewFormDao->reviewFormExists($reviewFormId, ASSOC_TYPE_CONFERENCE, $conferenceId)) {
$reviewAssignment->setReviewFormId($reviewFormId);
}
}
$trackDirectorSubmission->addReviewAssignment($reviewAssignment);
$trackDirectorSubmissionDao->updateTrackDirectorSubmission($trackDirectorSubmission);
$reviewAssignment = $reviewAssignmentDao->getReviewAssignment($trackDirectorSubmission->getPaperId(), $reviewerId, $stage);
$schedConf =& Request::getSchedConf();
if ($schedConf->getSetting('reviewDeadlineType') != null) {
if ($schedConf->getSetting('reviewDeadlineType') == REVIEW_DEADLINE_TYPE_ABSOLUTE) {
TrackDirectorAction::setDueDate($trackDirectorSubmission->getPaperId(), $reviewAssignment->getId(), $schedConf->getSetting('numWeeksPerReviewAbsolute'), null, false);
} elseif ($schedConf->getSetting('reviewDeadlineType') == REVIEW_DEADLINE_TYPE_RELATIVE) {
TrackDirectorAction::setDueDate($trackDirectorSubmission->getPaperId(), $reviewAssignment->getId(), null, $schedConf->getSetting('numWeeksPerReviewRelative'), false);
}
}
// Add log
import('paper.log.PaperLog');
import('paper.log.PaperEventLogEntry');
PaperLog::logEvent($trackDirectorSubmission->getPaperId(), PAPER_LOG_REVIEW_ASSIGN, LOG_TYPE_REVIEW, $reviewAssignment->getId(), 'log.review.reviewerAssigned', array('reviewerName' => $reviewer->getFullName(), 'paperId' => $trackDirectorSubmission->getPaperId(), 'stage' => $stage));
}
}
示例2: ReviewAssignment
/**
* Internal function to return a review assignment object from a row.
* @param $row array
* @return ReviewAssignment
*/
function &_returnReviewAssignmentFromRow(&$row)
{
$reviewAssignment = new ReviewAssignment();
$reviewAssignment->setId($row['review_id']);
$reviewAssignment->setPaperId($row['paper_id']);
$reviewAssignment->setReviewerId($row['reviewer_id']);
$reviewAssignment->setReviewerFullName($row['first_name'] . ' ' . $row['last_name']);
$reviewAssignment->setRecommendation($row['recommendation']);
$reviewAssignment->setDateAssigned($this->datetimeFromDB($row['date_assigned']));
$reviewAssignment->setDateNotified($this->datetimeFromDB($row['date_notified']));
$reviewAssignment->setDateConfirmed($this->datetimeFromDB($row['date_confirmed']));
$reviewAssignment->setDateCompleted($this->datetimeFromDB($row['date_completed']));
$reviewAssignment->setDateAcknowledged($this->datetimeFromDB($row['date_acknowledged']));
$reviewAssignment->setDateDue($this->datetimeFromDB($row['date_due']));
$reviewAssignment->setLastModified($this->datetimeFromDB($row['last_modified']));
$reviewAssignment->setDeclined($row['declined']);
$reviewAssignment->setReplaced($row['replaced']);
$reviewAssignment->setCancelled($row['cancelled']);
$reviewAssignment->setReviewerFileId($row['reviewer_file_id']);
$reviewAssignment->setQuality($row['quality']);
$reviewAssignment->setDateRated($this->datetimeFromDB($row['date_rated']));
$reviewAssignment->setDateReminded($this->datetimeFromDB($row['date_reminded']));
$reviewAssignment->setReminderWasAutomatic($row['reminder_was_automatic']);
$reviewAssignment->setStage($row['stage']);
$reviewAssignment->setReviewFileId($row['review_file_id']);
$reviewAssignment->setReviewRevision($row['review_revision']);
$reviewAssignment->setReviewFormId($row['review_form_id']);
// Files
$reviewAssignment->setReviewFile($this->paperFileDao->getPaperFile($row['review_file_id'], $row['review_revision']));
$reviewAssignment->setReviewerFile($this->paperFileDao->getPaperFile($row['reviewer_file_id']));
$reviewAssignment->setReviewerFileRevisions($this->paperFileDao->getPaperFileRevisions($row['reviewer_file_id']));
$reviewAssignment->setSuppFiles($this->suppFileDao->getSuppFilesByPaper($row['paper_id']));
// Comments
$reviewAssignment->setMostRecentPeerReviewComment($this->paperCommentDao->getMostRecentPaperComment($row['paper_id'], COMMENT_TYPE_PEER_REVIEW, $row['review_id']));
HookRegistry::call('ReviewAssignmentDAO::_returnReviewAssignmentFromRow', array(&$reviewAssignment, &$row));
return $reviewAssignment;
}
示例3: importReviews
/**
* Import reviews.
*/
function importReviews()
{
if ($this->hasOption('verbose')) {
printf("Importing reviews\n");
}
$userDao =& DAORegistry::getDAO('UserDAO');
$roleDao =& DAORegistry::getDAO('RoleDAO');
$editAssignmentDao =& DAORegistry::getDAO('EditAssignmentDAO');
$reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO');
$paperCommentDao =& DAORegistry::getDAO('PaperCommentDAO');
$unassignedTrackId = null;
$result =& $this->importDao->retrieve('SELECT * FROM reviews ORDER by timestamp');
while (!$result->EOF) {
$row =& $result->fields;
$schedConf =& $this->schedConfMap[$row['cf']];
$paper =& $this->paperMap[$row['paper']];
$reviewer =& $this->reviewerMap[$row['reviewer']];
if (!$schedConf || !$paper || !$reviewer) {
// Database inconsistency! Skip this entry.
if (!$schedConf) {
$errors[] = "Unknown conference referenced in reviews: {$row['cf']}";
} else {
unset($schedConf);
}
if (!$paper) {
$errors[] = "Unknown paper referenced in reviews: {$row['paper']}";
} else {
unset($paper);
}
if (!$reviewer) {
$errors[] = "Unknown reviewer referenced in reviews: {$row['reviewer']}";
} else {
unset($reviewer);
}
$result->MoveNext();
continue;
}
$schedConfId = $schedConf->getId();
$paperId = $paper->getId();
$reviewerId = $reviewer->getId();
$reviewAssignment = new ReviewAssignment();
$reviewAssignment->setReviewerId($reviewerId);
$reviewAssignment->setPaperId($paperId);
$reviewAssignment->setStage(REVIEW_STAGE_ABSTRACT);
// Won't always be accurate
$reviewAssignment->setDateAssigned($row['timestamp']);
$reviewAssignment->setDateNotified($row['timestamp']);
$reviewAssignment->setDateConfirmed($row['timestamp']);
$reviewAssignment->setDeclined(0);
switch (trim(strtolower(array_shift(split("[\n\\.:]", $row['recommendation']))))) {
case 'accept':
$reviewAssignment->setRecommendation(SUBMISSION_REVIEWER_RECOMMENDATION_ACCEPT);
$reviewAssignment->setDateCompleted($row['timestamp']);
break;
case 'revise':
case 'pending revisions':
case 'accept with revisions':
$reviewAssignment->setRecommendation(SUBMISSION_REVIEWER_RECOMMENDATION_PENDING_REVISIONS);
$reviewAssignment->setDateCompleted($row['timestamp']);
break;
case 'decline':
case 'reject':
$reviewAssignment->setRecommendation(SUBMISSION_REVIEWER_RECOMMENDATION_DECLINE);
$reviewAssignment->setDateCompleted($row['timestamp']);
break;
default:
// WARNING: We're not setting a recommendation here at all!
break;
}
$reviewId = $reviewAssignmentDao->insertReviewAssignment($reviewAssignment);
$paperComment = new PaperComment();
$paperComment->setCommentType(COMMENT_TYPE_PEER_REVIEW);
$paperComment->setRoleId(ROLE_ID_REVIEWER);
$paperComment->setPaperId($paperId);
$paperComment->setAssocId($reviewId);
$paperComment->setAuthorId($reviewerId);
$paperComment->setCommentTitle('');
$paperComment->setComments(Core::cleanVar($row['comments'] . "\n" . $row['recommendation']));
$paperComment->setDatePosted($row['timestamp']);
$paperComment->setViewable(0);
$paperCommentDao->insertPaperComment($paperComment);
unset($schedConf);
unset($paper);
unset($reviewer);
unset($reviewAssignment);
unset($paperComment);
$result->MoveNext();
}
$result->Close();
}