/** * Internal function to return a ReviewerSubmission object from a row. * @param $row array * @return ReviewerSubmission */ function _fromRow($row) { // Get the ReviewerSubmission object, populated with submission data $reviewerSubmission = parent::_fromRow($row); // Comments $reviewerSubmission->setMostRecentPeerReviewComment($this->submissionCommentDao->getMostRecentSubmissionComment($row['submission_id'], COMMENT_TYPE_PEER_REVIEW, $row['review_id'])); // Editor Decisions $editDecisionDao = DAORegistry::getDAO('EditDecisionDAO'); $decisions = $editDecisionDao->getEditorDecisions($row['submission_id']); $reviewerSubmission->setDecisions($decisions); // Review Assignment $reviewerSubmission->setReviewId($row['review_id']); $reviewerSubmission->setReviewerId($row['reviewer_id']); $reviewerSubmission->setReviewerFullName($row['first_name'] . ' ' . $row['last_name']); $reviewerSubmission->setCompetingInterests($row['competing_interests']); $reviewerSubmission->setRecommendation($row['recommendation']); $reviewerSubmission->setDateAssigned($this->datetimeFromDB($row['date_assigned'])); $reviewerSubmission->setDateNotified($this->datetimeFromDB($row['date_notified'])); $reviewerSubmission->setDateConfirmed($this->datetimeFromDB($row['date_confirmed'])); $reviewerSubmission->setDateCompleted($this->datetimeFromDB($row['date_completed'])); $reviewerSubmission->setDateAcknowledged($this->datetimeFromDB($row['date_acknowledged'])); $reviewerSubmission->setDateDue($this->datetimeFromDB($row['date_due'])); $reviewerSubmission->setDateResponseDue($this->datetimeFromDB($row['date_response_due'])); $reviewerSubmission->setDeclined($row['declined']); $reviewerSubmission->setReplaced($row['replaced']); $reviewerSubmission->setCancelled((int) $row['cancelled']); $reviewerSubmission->setQuality($row['quality']); $reviewerSubmission->setRound($row['round']); $reviewerSubmission->setStep($row['step']); $reviewerSubmission->setStageId($row['stage_id']); $reviewerSubmission->setReviewMethod($row['review_method']); HookRegistry::call('ReviewerSubmissionDAO::_fromRow', array(&$reviewerSubmission, &$row)); return $reviewerSubmission; }
/** * creates and returns a published article object from a row * @param $row array * @param $callHooks boolean Whether or not to call hooks * @return PublishedArticle object */ function _fromRow($row, $callHooks = true) { $publishedArticle = parent::_fromRow($row); $publishedArticle->setPublishedArticleId($row['published_submission_id']); $publishedArticle->setIssueId($row['issue_id']); $publishedArticle->setSequence($row['seq']); $publishedArticle->setAccessStatus($row['access_status']); $publishedArticle->setGalleys($this->galleyDao->getBySubmissionId($row['submission_id'])->toArray()); if ($callHooks) { HookRegistry::call('PublishedArticleDAO::_returnPublishedArticleFromRow', array(&$publishedArticle, &$row)); } return $publishedArticle; }
/** * Internal function to return a SectionEditorSubmission object from a row. * @param $row array * @return SectionEditorSubmission */ function _returnSectionEditorSubmissionFromRow($row) { // Article attributes $sectionEditorSubmission = parent::_fromRow($row); // Editor Decisions $editDecisionDao = DAORegistry::getDAO('EditDecisionDAO'); for ($i = 1; $i <= $row['current_round']; $i++) { $sectionEditorSubmission->setDecisions($editDecisionDao->getEditorDecisions($row['submission_id'], null, $i), $i); } // Comments $sectionEditorSubmission->setMostRecentEditorDecisionComment($this->submissionCommentDao->getMostRecentSubmissionComment($row['submission_id'], COMMENT_TYPE_EDITOR_DECISION, $row['submission_id'])); $sectionEditorSubmission->setMostRecentCopyeditComment($this->submissionCommentDao->getMostRecentSubmissionComment($row['submission_id'], COMMENT_TYPE_COPYEDIT, $row['submission_id'])); $sectionEditorSubmission->setMostRecentLayoutComment($this->submissionCommentDao->getMostRecentSubmissionComment($row['submission_id'], COMMENT_TYPE_LAYOUT, $row['submission_id'])); $sectionEditorSubmission->setMostRecentProofreadComment($this->submissionCommentDao->getMostRecentSubmissionComment($row['submission_id'], COMMENT_TYPE_PROOFREAD, $row['submission_id'])); // Review Assignments $reviewRounds = $this->reviewRoundDao->getBySubmissionId($row['submission_id']); while ($reviewRound = $reviewRounds->next()) { $round = $reviewRound->getRound(); $sectionEditorSubmission->setReviewAssignments($this->reviewAssignmentDao->getBySubmissionId($row['submission_id'], $reviewRound->getId()), $round); } // Layout Editing $sectionEditorSubmission->setGalleys($this->galleyDao->getBySubmissionId($row['submission_id'])->toArray()); // Proof Assignment HookRegistry::call('SectionEditorSubmissionDAO::_returnSectionEditorSubmissionFromRow', array(&$sectionEditorSubmission, &$row)); return $sectionEditorSubmission; }