private function saveTemplate() { $questionModel = $this->getPostQuestionModel(0, 0); $templateMapper = new WpProQuiz_Model_TemplateMapper(); $template = new WpProQuiz_Model_Template(); if ($this->_post['templateSaveList'] == '0') { $template->setName(trim($this->_post['templateName'])); } else { $template = $templateMapper->fetchById($this->_post['templateSaveList'], false); } $template->setType(WpProQuiz_Model_Template::TEMPLATE_TYPE_QUESTION); $template->setData(array('question' => $questionModel)); return $templateMapper->save($template); }
private function saveTemplate() { $templateMapper = new WpProQuiz_Model_TemplateMapper(); if (isset($this->_post['resultGradeEnabled'])) { $this->_post['result_text'] = $this->filterResultTextGrade($this->_post); } $this->_post['categoryId'] = $this->_post['category'] > 0 ? $this->_post['category'] : 0; $this->_post['adminEmail'] = new WpProQuiz_Model_Email($this->_post['adminEmail']); $this->_post['userEmail'] = new WpProQuiz_Model_Email($this->_post['userEmail']); $quiz = new WpProQuiz_Model_Quiz($this->_post); if ($quiz->isPrerequisite() && !empty($this->_post['prerequisiteList']) && !$quiz->isStatisticsOn()) { $quiz->setStatisticsOn(true); $quiz->setStatisticsIpLock(1440); } $form = $this->_post['form']; unset($form[0]); $forms = array(); foreach ($form as $f) { $f['fieldname'] = trim($f['fieldname']); if (empty($f['fieldname'])) { continue; } if ((int) $f['form_id'] && (int) $f['form_delete']) { continue; } if ($f['type'] == WpProQuiz_Model_Form::FORM_TYPE_SELECT || $f['type'] == WpProQuiz_Model_Form::FORM_TYPE_RADIO) { if (!empty($f['data'])) { $items = explode("\n", $f['data']); $f['data'] = array(); foreach ($items as $item) { $item = trim($item); if (!empty($item)) { $f['data'][] = $item; } } } } if (empty($f['data']) || !is_array($f['data'])) { $f['data'] = null; } $forms[] = new WpProQuiz_Model_Form($f); } WpProQuiz_View_View::admin_notices(__('Template stored', 'wp-pro-quiz'), 'info'); $data = array('quiz' => $quiz, 'forms' => $forms, 'prerequisiteQuizList' => isset($this->_post['prerequisiteList']) ? $this->_post['prerequisiteList'] : array()); $template = new WpProQuiz_Model_Template(); if ($this->_post['templateSaveList'] == '0') { $template->setName(trim($this->_post['templateName'])); } else { $template = $templateMapper->fetchById($this->_post['templateSaveList'], false); } $template->setType(WpProQuiz_Model_Template::TEMPLATE_TYPE_QUIZ); $template->setData($data); $templateMapper->save($template); return $template; }