Esempio n. 1
0
 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());
 }
Esempio n. 4
0
 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));
 }
Esempio n. 6
0
 /**
  * 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);
     }
 }
Esempio n. 8
0
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;
        }