public function createHIT(QuestionForm $questions, $params = []) { $params['question'] = urlencode($questions->generateXml()); $needed = ['title', 'description', 'question', 'keywords', 'reward', 'rewardCurrency', 'duration', 'lifetime', 'AutoApprove']; $params = $this->formatParams($params, $needed); return $this->client->performRequest('CreateHIT', $params); }
/** * Mise àjour d une fiche * @param $id the ID of the model to be displayed */ public function actionUpdate($id) { $model = Questionnaire::model()->findByPk(new MongoID($id)); $questionForm = new QuestionForm(); $questionGroup = new QuestionGroup(); // collect user input data if (isset($_POST['QuestionForm'])) { $questionForm->attributes = $_POST['QuestionForm']; //traitement ajout de question if ($questionForm->validate()) { $model = $this->saveQuestionnaireNewQuestion($model, $questionForm); } } if (isset($_POST['QuestionGroup'])) { $questionGroup->attributes = $_POST['QuestionGroup']; //copie du titre sur l option fr $questionGroup->title_fr = $questionGroup->title; if ($questionGroup->validate()) { $model = $this->saveQuestionnaireNewGroup($model, $questionGroup); } } //set du model sur la questionForm pour generer l arborescende de position de question $questionForm->questionnaire = $model; $this->render('update', array('model' => $model, 'questionForm' => $questionForm, 'questionGroup' => $questionGroup)); }
/** * testing method return array type */ public function testTypeFunction() { $model = new QuestionForm(); $this->assertInternalType('array', $model->rules()); $this->assertInternalType('array', $model->attributeLabels()); $this->assertInternalType('array', $model->getArrayTypes()); $this->assertInternalType('array', $model->getArrayStyles()); }
public function actionQuestionList() { $form = new QuestionForm(); // database related activity if (isset($_POST['action'])) { $response = new stdClass(); switch ($_POST['action']) { case 1: // print_r($_POST); exit; $form = new QuestionForm(); $form->attributes = $_POST['QuestionForm']; if ($form->validate()) { $data = $_POST['QuestionForm']; $test = RsTest::model()->findByPk($data['test_id']); if ($test) { $data['category_no'] = $test->am; } $criteria = new CDbCriteria(); $criteria->condition = 'test_id=:test_id'; $criteria->addCondition('category=:category'); $criteria->addCondition('no=:no'); $criteria->params = array(":test_id" => $data['test_id'], ":category" => $data['category'], ":no" => $data['no']); $question = RsQuestion::model()->find($criteria) ? RsQuestion::model()->find($criteria) : new RsQuestion(); foreach ($data as $key => $value) { $question->{$key} = $value; } if ($question->save()) { $response->status = 1; $response->id = $question->id; $response->message = Yii::t("admin", "question.save.success"); } else { $response->status = 0; $response->message = Yii::t("admin", "question.save.fail"); } } if ($form->hasErrors()) { $response->status = 2; $response->message = CHtml::errorSummary($form, '', '', array('class' => 'alert alert-error alert-block hide-message')); } break; case 2: // print_r($_POST); $response = new stdClass(); $response->status = 1; $response->message = Yii::t("admin", "question.saveAll.success"); $validate = true; foreach ($_POST['data'] as $data) { $form = new QuestionForm(); foreach ($data as $key => $value) { $form->{$key} = $value; } $form->validate(); // print_r($form); if ($form->hasErrors()) { $validate = false; $response->status = 2; $response->message = CHtml::errorSummary($form, '', '', array('class' => 'alert alert-error alert-block hide-message')); } } if ($validate) { foreach ($_POST['data'] as $data) { $test = RsTest::model()->findByPk($data['test_id']); if ($test) { $data['category_no'] = $test->am; } $criteria = new CDbCriteria(); $criteria->condition = 'test_id=:test_id'; $criteria->addCondition('category=:category'); $criteria->addCondition('no=:no'); $criteria->params = array(":test_id" => $data['test_id'], ":category" => $data['category'], ":no" => $data['no']); $question = RsQuestion::model()->find($criteria) ? RsQuestion::model()->find($criteria) : new RsQuestion(); foreach ($data as $key => $value) { $question->{$key} = $value; } if (!$question->save()) { $response->status = 0; $response->message = Yii::t("admin", "question.saveAll.fail"); } } } break; default: # code... break; } echo json_encode($response); exit; } // if not set t_id then return to test list if (!isset($_GET['t_id'])) { $this->redirect(array('admin/test/')); } // if not set c_id then return to category list of t_id if (!isset($_GET['c_id'])) { $this->redirect(array('admin/test/')); } $criteria = new CDbCriteria(); $criteria->condition = 'test_id=:test_id'; $criteria->addCondition('category=:category_id'); $criteria->order = 'no ASC'; $criteria->params = array(':test_id' => $_GET['t_id'], ':category_id' => $_GET['c_id']); $test = RsTest::model()->findByPk($_GET['t_id']); // whether the requested test exist if (!$test) { $this->redirect(array('admin/test/')); } $tempCat = explode(',', $test->category_am); if (!isset($tempCat[$_GET['c_id'] - 1])) { // whether user requested c_id bigger than am $this->redirect(array('admin/test/')); } $tempQuestions = RsQuestion::model()->findAll($criteria); $questions = array(); if ($tempQuestions) { foreach ($tempQuestions as $q) { $questions[$q->no] = $q; } } $data = array(); $data['numberOfQuestion'] = $tempCat[$_GET['c_id'] - 1]; $data['test'] = $test; $data['questions'] = $questions; $data['category_id'] = $_GET['c_id']; $data['model'] = $form; $this->render('questionList', $data); }
/** * Mise àjour d un formulaire /mode edition * @param $id the ID of the model to be displayed */ public function actionUpdate($id) { $model = Questionnaire::model()->findByPk(new MongoID($id)); $questionBlocForm = new QuestionBlocForm(); $questionForm = new QuestionForm(); $questionGroup = new QuestionGroup(); // collect user input data if (isset($_POST['QuestionForm'])) { $questionForm->attributes = $_POST['QuestionForm']; if ($questionForm->validatewithId($model)) { if ($questionForm->help == "") { $questionForm->help = null; } //traitement ajout de question if ($questionForm->validate()) { $model = $model->saveQuestionnaireNewQuestion($questionForm); } else { Yii::app()->user->setFlash('error', Yii::t('common', 'questionNotAdded')); } } else { Yii::app()->user->setFlash('error', Yii::t('common', 'questionNotAdded')); } } if (isset($_POST['QuestionGroup'])) { $questionGroup->attributes = $_POST['QuestionGroup']; if ($questionGroup->validatewithId($model)) { //copie du titre sur l option fr $questionGroup->title_fr = $questionGroup->title; if ($questionGroup->validate()) { $model = $model->saveQuestionnaireNewGroup($questionGroup); } } else { Yii::app()->user->setFlash('error', Yii::t('common', 'tabNotAdded')); } } if (isset($_POST['QuestionBlocForm'])) { $questionBlocForm->attributes = $_POST['QuestionBlocForm']; if ($questionBlocForm->validatewithId($model)) { $questionBloc = QuestionBloc::model()->findByPk(new MongoId($questionBlocForm->title)); $questionBlocForm->title_fr = $questionBlocForm->title; $computedGroup = new QuestionGroup(); $computedGroup->copy($questionBlocForm, $questionBloc); if ($computedGroup->validate()) { $model = $model->saveQuestionnaireNewGroup($computedGroup); } if (isset($questionBloc->questions) && $questionBloc->questions != null && count($questionBloc->questions) > 0) { foreach ($questionBloc->questions as $question => $value) { $currentQuestion = Question::model()->findByPk(new MongoId($value)); $questionForm->copy($currentQuestion, $computedGroup); $model->saveQuestionnaireNewQuestionBloc($questionForm); } } } else { Yii::app()->user->setFlash('error', Yii::t('common', 'tabNotAdded')); } } if (isset($_POST['old_onglet'])) { foreach ($model->questions_group as $onglet) { if ($onglet->id == $_POST['old_onglet']) { $onglet->title = $_POST['new_onglet']; $onglet->title_fr = $_POST['new_onglet']; if ($model->save()) { Yii::app()->user->setFlash('success', Yii::t('common', 'tabUpdated')); } else { Yii::app()->user->setFlash('error', Yii::t('common', 'tabNotUpdated')); } } } } if (isset($_POST['old_question'])) { foreach ($model->questions_group as $onglet) { foreach ($onglet->questions as $question) { if ($question->id == $_POST['old_question']) { $question->label = $_POST['new_question']; $question->label_fr = $_POST['new_question']; if ($model->save()) { Yii::app()->user->setFlash('success', Yii::t('common', 'questionUpdated')); } else { Yii::app()->user->setFlash('error', Yii::t('common', 'questionNotUpdated')); } } } } } // set du model sur la questionForm pour generer l arborescende de position de question $questionForm->questionnaire = $model; $questionGroup->questionnaire = $model; $this->render('update', array('model' => $model, 'questionForm' => $questionForm, 'questionGroup' => $questionGroup, 'questionBloc' => $questionBlocForm)); }
/** * Show the Question form * * @return void */ function showContent() { if (!empty($this->error)) { $this->element('p', 'error', $this->error); } $form = new QuestionForm($this, $this->title, $this->description); $form->show(); return; }
public function addfieldAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(TRUE); $postData = $this->getRequest()->getPost(); $id = 0; if (array_key_exists('count', $postData)) { $id = intval($postData['count']) + 1; } if ($id > 0 && $id <= 6) { $optionsNames = array('', 'A', 'B', 'C', 'D', 'E', 'F'); $form = new QuestionForm(); $odpoved = $form->createElement('text', 'odpoved' . strval($id), array('placeholder' => $optionsNames[$id], 'class' => 'input dd-test', 'required' => true, 'label' => false, 'filters' => array('StringTrim'))); $check = $form->createElement('checkbox', 'check' . strval($id), array('class' => 'dd-chc', 'disableHidden' => true)); echo $odpoved->__toString(); echo $check->__toString(); } else { $this->_response->clearBody(); $this->_response->clearHeaders(); $this->_response->setHttpResponseCode(403); } }
echo $OUTPUT->header('themeselector'); if ($idQuestion) { $webgdCommunityDao = new WebgdCommunityDao(); if (!$webgdCommunityDao->searchQuestionByCommunityById($idQuestion)) { redirect("{$CFG->wwwroot}/blocks/webgd_community/view.php?community={$idCommunity}&option=3", get_string('arqNaoEnc', 'block_webgd_community') . $idQuestion, 10); echo $OUTPUT->footer(); die; } else { echo $OUTPUT->heading('<span class="titulo_list">' . '<a href="' . $url . '" >' . $OUTPUT->heading($community->name, 2, 'titulo_comunidade') . '</a></span><br/>'); echo "<div class='subTitle'>Editar Enquete</div><br/>"; } } else { echo $OUTPUT->heading('<span class="titulo_list">' . '<a href="' . $url . '" >' . $OUTPUT->heading($community->name, 2, 'titulo_comunidade') . '</a></span><br/>'); echo "<div class='subTitle'>Cadastrar Enquete</div><br/>"; } $mform = new QuestionForm(null, array('community' => $idCommunity, 'question' => $idQuestion)); if ($data = $mform->get_data()) { $msg = ""; if ($idQuestion) { $question = $webgdCommunityDao->searchQuestionByCommunityById($idQuestion); $question->name = $data->nome; $question->enabled = $data->enable; $question->startdate = DateTime::createFromFormat('d-m-Y', str_replace("/", "-", $data->from))->getTimestamp(); $question->enddate = DateTime::createFromFormat('d-m-Y', str_replace("/", "-", $data->to))->getTimestamp(); $attQuestion = $mform->get_new_filename('attachmentQuestion'); $random = rand(); $name = $random . '_' . $attQuestion; $pathAttQuestion = "{$CFG->dataroot}/webgd_community/{$name}"; if ($mform->save_file('attachmentQuestion', $pathAttQuestion, true)) { $question->attachmentQuestion = $pathAttQuestion; }