コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
 /**
  * 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);
     }
 }
コード例 #3
0
 /**
  * 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');
 }
コード例 #4
0
 /**
  * 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');
 }
コード例 #5
0
 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();
     }
 }
コード例 #6
0
 /**
  * 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;
 }
コード例 #7
0
 /**
  * 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');
 }
コード例 #8
0
ファイル: ReviewFormHandler.inc.php プロジェクト: artkuo/ocs
 /**
  * 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');
 }