/** * Internal function to return a ReviewFormElement object from a row. * @param $row array * @return ReviewFormElement */ function &_returnReviewFormElementFromRow(&$row) { $reviewFormElement = new ReviewFormElement(); $reviewFormElement->setId($row['review_form_element_id']); $reviewFormElement->setReviewFormId($row['review_form_id']); $reviewFormElement->setSequence($row['seq']); $reviewFormElement->setElementType($row['element_type']); $reviewFormElement->setRequired($row['required']); $this->getDataObjectSettings('review_form_element_settings', 'review_form_element_id', $row['review_form_element_id'], $reviewFormElement); HookRegistry::call('ReviewFormElementDAO::_returnReviewFormElementFromRow', array(&$reviewFormElement, &$row)); return $reviewFormElement; }
/** * Save review form element. */ function execute() { $reviewFormElementDao =& DAORegistry::getDAO('ReviewFormElementDAO'); if ($this->reviewFormElementId != null) { $reviewFormElement =& $reviewFormElementDao->getReviewFormElement($this->reviewFormElementId); } if (!isset($reviewFormElement)) { $reviewFormElement = new ReviewFormElement(); $reviewFormElement->setReviewFormId($this->reviewFormId); $reviewFormElement->setSequence(REALLY_BIG_NUMBER); } $reviewFormElement->setQuestion($this->getData('question'), null); // Localized $reviewFormElement->setRequired($this->getData('required') ? 1 : 0); $reviewFormElement->setIncluded($this->getData('included') ? 1 : 0); $reviewFormElement->setElementType($this->getData('elementType')); if (in_array($this->getData('elementType'), ReviewFormElement::getMultipleResponsesElementTypes())) { $reviewFormElement->setPossibleResponses($this->getData('possibleResponses'), null); // Localized } else { $reviewFormElement->setPossibleResponses(null, null); } if ($reviewFormElement->getId() != null) { $reviewFormElementDao->deleteSetting($reviewFormElement->getId(), 'possibleResponses'); $reviewFormElementDao->updateObject($reviewFormElement); $this->reviewFormElementId = $reviewFormElement->getId(); } else { $this->reviewFormElementId = $reviewFormElementDao->insertObject($reviewFormElement); $reviewFormElementDao->resequenceReviewFormElements($this->reviewFormId); } }
/** * Display a list of the review form elements within a review form. */ function reviewFormElements($args) { parent::validate(); $reviewFormId = isset($args[0]) ? $args[0] : null; $journal =& Request::getJournal(); $reviewFormDao =& DAORegistry::getDAO('ReviewFormDAO'); $reviewForm =& $reviewFormDao->getReviewForm($reviewFormId, $journal->getJournalId()); if (!isset($reviewForm) || $reviewForm->getCompleteCount() != 0 || $reviewForm->getIncompleteCount() != 0) { Request::redirect(null, null, 'reviewForms'); } $rangeInfo =& Handler::getRangeInfo('reviewFormElements'); $reviewFormElementDao =& DAORegistry::getDAO('ReviewFormElementDAO'); $reviewFormElements =& $reviewFormElementDao->getReviewFormElementsByReviewForm($reviewFormId, $rangeInfo); $unusedReviewFormTitles =& $reviewFormDao->getJournalReviewFormTitles($journal->getJournalId(), 0); ReviewFormHandler::setupTemplate(true, $reviewForm); $templateMgr =& TemplateManager::getManager(); $templateMgr->assign_by_ref('unusedReviewFormTitles', $unusedReviewFormTitles); $templateMgr->assign_by_ref('reviewFormElements', $reviewFormElements); $templateMgr->assign('reviewFormId', $reviewFormId); import('reviewForm.ReviewFormElement'); $templateMgr->assign_by_ref('reviewFormElementTypeOptions', ReviewFormElement::getReviewFormElementTypeOptions()); $templateMgr->assign('helpTopicId', 'journal.managementPages.reviewForms'); $templateMgr->display('manager/reviewForms/reviewFormElements.tpl'); }
/** * Display a list of the review form elements within a review form. */ function reviewFormElements($args) { $this->validate(); $reviewFormId = isset($args[0]) ? $args[0] : null; $journal =& Request::getJournal(); $reviewFormDao =& DAORegistry::getDAO('ReviewFormDAO'); $reviewForm =& $reviewFormDao->getReviewForm($reviewFormId, ASSOC_TYPE_JOURNAL, $journal->getId()); if (!isset($reviewForm) || $reviewForm->getCompleteCount() != 0 || $reviewForm->getIncompleteCount() != 0) { Request::redirect(null, null, 'reviewForms'); } $rangeInfo =& Handler::getRangeInfo('reviewFormElements'); $reviewFormElementDao =& DAORegistry::getDAO('ReviewFormElementDAO'); $reviewFormElements =& $reviewFormElementDao->getReviewFormElementsByReviewForm($reviewFormId, $rangeInfo); $unusedReviewFormTitles =& $reviewFormDao->getTitlesByAssocId(ASSOC_TYPE_JOURNAL, $journal->getId(), 0); $this->setupTemplate(true, $reviewForm); $templateMgr =& TemplateManager::getManager(); $templateMgr->addJavaScript('lib/pkp/js/jquery.tablednd_0_5.js'); $templateMgr->addJavaScript('lib/pkp/js/tablednd.js'); $templateMgr->assign_by_ref('unusedReviewFormTitles', $unusedReviewFormTitles); $templateMgr->assign_by_ref('reviewFormElements', $reviewFormElements); $templateMgr->assign('reviewFormId', $reviewFormId); import('lib.pkp.classes.reviewForm.ReviewFormElement'); $templateMgr->assign_by_ref('reviewFormElementTypeOptions', ReviewFormElement::getReviewFormElementTypeOptions()); $templateMgr->assign('helpTopicId', 'journal.managementPages.reviewForms'); $templateMgr->display('manager/reviewForms/reviewFormElements.tpl'); }
function importReviewForms() { assert($this->xml->name == 'reviewForms'); $journal = $this->journal; $reviewFormDao =& DAORegistry::getDAO('ReviewFormDAO'); $reviewFormElementDao =& DAORegistry::getDAO('ReviewFormElementDAO'); $this->nextElement(); while ($this->xml->name == 'reviewForm') { $reviewFormXML = $this->getCurrentElementAsDom(); $reviewForm = new ReviewForm(); $reviewForm->setSequence((int) $reviewFormXML->sequence); $reviewForm->setActive((int) $reviewFormXML->active); $reviewForm->setAssocType(ASSOC_TYPE_JOURNAL); $reviewForm->setAssocId($this->journal->getId()); $reviewFormDao->insertObject($reviewForm); $this->idTranslationTable->register(INTERNAL_TRANSFER_OBJECT_REVIEW_FORM, (int) $reviewFormXML->oldId, $reviewForm->getId()); foreach ($reviewFormXML->reviewElement as $reviewElementXML) { $reviewFormElement = new ReviewFormElement(); $reviewFormElement->setReviewFormId($reviewForm->getId()); $reviewFormElement->setSequence((int) $reviewElementXML->sequence); $reviewFormElement->setElementType((int) $reviewElementXML->elementType); $reviewFormElement->setRequired((int) $reviewElementXML->required); $reviewFormElement->setIncluded((int) $reviewElementXML->included); $reviewFormElementDao->insertObject($reviewFormElement); $this->idTranslationTable->register(INTERNAL_TRANSFER_OBJECT_REVIEW_FORM_ELEMENT, (int) $reviewElementXML->oldId, $reviewFormElement->getId()); $this->restoreDataObjectSettings($reviewFormElementDao, $reviewElementXML->settings, 'review_form_element_settings', 'review_form_element_id', $reviewFormElement->getId()); } $this->restoreDataObjectSettings($reviewFormDao, $reviewFormXML->settings, 'review_form_settings', 'review_form_id', $reviewForm->getId()); $this->nextElement(); } }
/** * Save review form element. * @param $request PKPRequest * @return int Review form element ID */ function execute($request) { $reviewFormElementDao = DAORegistry::getDAO('ReviewFormElementDAO'); if ($this->reviewFormElementId) { $context = $request->getContext(); $reviewFormElement = $reviewFormElementDao->getById($this->reviewFormElementId); $reviewFormDao = DAORegistry::getDAO('ReviewFormDAO'); $reviewForm = $reviewFormDao->getById($reviewFormElement->getReviewFormId(), Application::getContextAssocType(), $context->getId()); if (!$reviewForm) { fatalError('Invalid review form element ID!'); } } else { $reviewFormElement = $reviewFormElementDao->newDataObject(); $reviewFormElement->setReviewFormId($this->reviewFormId); $reviewFormElement->setSequence(REALLY_BIG_NUMBER); } $reviewFormElement->setQuestion($this->getData('question'), null); // Localized $reviewFormElement->setRequired($this->getData('required') ? 1 : 0); $reviewFormElement->setIncluded($this->getData('included') ? 1 : 0); $reviewFormElement->setElementType($this->getData('elementType')); if (in_array($this->getData('elementType'), ReviewFormElement::getMultipleResponsesElementTypes())) { $this->setData('possibleResponsesProcessed', $reviewFormElement->getPossibleResponses(null)); ListbuilderHandler::unpack($request, $this->getData('possibleResponses'), array($this, 'deleteEntry'), array($this, 'insertEntry'), array($this, 'updateEntry')); $reviewFormElement->setPossibleResponses($this->getData('possibleResponsesProcessed'), null); } else { $reviewFormElement->setPossibleResponses(null, null); } if ($reviewFormElement->getId()) { $reviewFormElementDao->deleteSetting($reviewFormElement->getId(), 'possibleResponses'); $reviewFormElementDao->updateObject($reviewFormElement); } else { $this->reviewFormElementId = $reviewFormElementDao->insertObject($reviewFormElement); $reviewFormElementDao->resequenceReviewFormElements($this->reviewFormId); } return $this->reviewFormElementId; }
/** * Display a list of the review form elements within a review form. */ function reviewFormElements($args) { $this->validate(); $reviewFormId = isset($args[0]) ? $args[0] : null; $conference =& Request::getConference(); $reviewFormDao =& DAORegistry::getDAO('ReviewFormDAO'); $reviewForm =& $reviewFormDao->getReviewForm($reviewFormId, ASSOC_TYPE_CONFERENCE, $conference->getId()); if (!isset($reviewForm) || $reviewForm->getCompleteCount() != 0 || $reviewForm->getIncompleteCount() != 0) { Request::redirect(null, null, null, 'reviewForms'); } $rangeInfo =& Handler::getRangeInfo('reviewFormElements'); $reviewFormElementDao =& DAORegistry::getDAO('ReviewFormElementDAO'); $reviewFormElements =& $reviewFormElementDao->getReviewFormElementsByReviewForm($reviewFormId, $rangeInfo); $unusedReviewFormTitles =& $reviewFormDao->getTitlesByAssocId(ASSOC_TYPE_CONFERENCE, $conference->getId(), 0); $this->setupTemplate(true, $reviewForm); $templateMgr =& TemplateManager::getManager(); $templateMgr->assign_by_ref('unusedReviewFormTitles', $unusedReviewFormTitles); $templateMgr->assign_by_ref('reviewFormElements', $reviewFormElements); $templateMgr->assign('reviewFormId', $reviewFormId); import('reviewForm.ReviewFormElement'); $templateMgr->assign_by_ref('reviewFormElementTypeOptions', ReviewFormElement::getReviewFormElementTypeOptions()); $templateMgr->assign('helpTopicId', 'conference.managementPages.reviewForms'); $templateMgr->display('manager/reviewForms/reviewFormElements.tpl'); }
/** * Display a list of the review form elements within a review form. */ function reviewFormElements($args, &$request) { $this->validate(); $reviewFormId = isset($args[0]) ? $args[0] : null; $conference =& $request->getConference(); $reviewFormDao = DAORegistry::getDAO('ReviewFormDAO'); $reviewForm =& $reviewFormDao->getReviewForm($reviewFormId, ASSOC_TYPE_CONFERENCE, $conference->getId()); $completeCounts = $reviewFormDao->getUseCounts(ASSOC_TYPE_CONFERENCE, $conference->getId(), true); $incompleteCounts = $reviewFormDao->getUseCounts(ASSOC_TYPE_CONFERENCE, $conference->getId(), false); if (!isset($reviewForm) || $completeCounts[$reviewFormId] != 0 || $incompleteCounts[$reviewFormId] != 0) { $request->redirect(null, null, null, 'reviewForms'); } $rangeInfo =& Handler::getRangeInfo($request, 'reviewFormElements'); $reviewFormElementDao = DAORegistry::getDAO('ReviewFormElementDAO'); $reviewFormElements =& $reviewFormElementDao->getReviewFormElementsByReviewForm($reviewFormId, $rangeInfo); $unusedReviewFormTitles =& $reviewFormDao->getTitlesByAssocId(ASSOC_TYPE_CONFERENCE, $conference->getId(), 0); $this->setupTemplate($request, true, $reviewForm); $templateMgr =& TemplateManager::getManager($request); $templateMgr->addJavaScript('lib/pkp/js/lib/jquery/plugins/jquery.tablednd.js'); $templateMgr->addJavaScript('lib/pkp/js/functions/tablednd.js'); $templateMgr->assign_by_ref('unusedReviewFormTitles', $unusedReviewFormTitles); $templateMgr->assign_by_ref('reviewFormElements', $reviewFormElements); $templateMgr->assign('reviewFormId', $reviewFormId); import('lib.pkp.classes.reviewForm.ReviewFormElement'); $templateMgr->assign_by_ref('reviewFormElementTypeOptions', ReviewFormElement::getReviewFormElementTypeOptions()); $templateMgr->assign('helpTopicId', 'conference.managementPages.reviewForms'); $templateMgr->display('manager/reviewForms/reviewFormElements.tpl'); }