├── messages ├── en │ └── survey.php └── ru │ └── survey.php ├── views ├── answers │ ├── view │ │ ├── _form.php │ │ ├── 7.php │ │ ├── 6.php │ │ ├── 8.php │ │ ├── 9.php │ │ ├── 5.php │ │ ├── 4.php │ │ ├── 3.php │ │ ├── 2.php │ │ ├── 1.php │ │ └── 10.php │ ├── _form.php │ ├── 8.php │ ├── 6.php │ ├── 5.php │ ├── 7.php │ ├── 9.php │ ├── 10.php │ ├── 3.php │ ├── 4.php │ ├── 1.php │ └── 2.php ├── widget │ ├── default │ │ ├── success.php │ │ ├── closed.php │ │ ├── unavailable.php │ │ └── index.php │ ├── answers │ │ ├── _form.php │ │ ├── 6.php │ │ ├── 8.php │ │ ├── 3.php │ │ ├── 7.php │ │ ├── 1.php │ │ ├── 9.php │ │ ├── 4.php │ │ ├── 10.php │ │ ├── 2.php │ │ └── 5.php │ └── question │ │ └── _form.php ├── default │ ├── update.php │ ├── create.php │ ├── restrictedUsers.php │ ├── respondents.php │ ├── index.php │ ├── view.php │ └── _form.php └── question │ ├── cardView.php │ ├── _viewForm.php │ └── _form.php ├── SurveyInterface.php ├── SurveyAsset.php ├── SurveyWidgetAsset.php ├── composer.json ├── migrations ├── m181018_070730_create_table_survey_answer.php ├── m181018_070730_create_table_survey_question.php ├── m181018_070730_create_table_survey_stat.php ├── m181018_070730_create_table_survey.php ├── m190918_224430_private_survey.php ├── m181018_070730_create_table_survey_user_answer.php ├── m181018_070730_create_table_survey_type.php └── m181018_070730_foreign_keys.php ├── assets ├── css │ ├── preloader.css.map │ ├── preloader.css │ ├── survey.css.map │ └── preloader.scss └── js │ ├── promise.min.js │ ├── survey.js │ └── survey.widget.js ├── models ├── SurveyType.php ├── search │ ├── SurveySearch.php │ └── SurveyStatSearch.php ├── SurveyUserAnswer.php ├── SurveyAnswer.php ├── SurveyQuestion.php ├── SurveyStat.php └── Survey.php ├── Module.php ├── README.md ├── Survey.php ├── widgetControllers ├── DefaultController.php └── QuestionController.php └── controllers └── QuestionController.php /messages/en/survey.php: -------------------------------------------------------------------------------- 1 | 'Create new survey', 11 | ]; -------------------------------------------------------------------------------- /views/answers/view/_form.php: -------------------------------------------------------------------------------- 1 | render('/answers/view/' . $question->survey_question_type, ['question' => $question]); -------------------------------------------------------------------------------- /views/answers/_form.php: -------------------------------------------------------------------------------- 1 | render('/answers/' . $question->survey_question_type, ['question' => $question, 'form' => $form]); -------------------------------------------------------------------------------- /views/answers/8.php: -------------------------------------------------------------------------------- 1 | 17 | 18 |
19 | 20 |
21 | 22 | -------------------------------------------------------------------------------- /views/widget/answers/_form.php: -------------------------------------------------------------------------------- 1 | render('@surveyRoot/views/widget/answers/' . $question->survey_question_type, ['question' => $question, 'form' => $form, 'readonly' => $readonly]); -------------------------------------------------------------------------------- /SurveyInterface.php: -------------------------------------------------------------------------------- 1 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /views/default/update.php: -------------------------------------------------------------------------------- 1 | title = Yii::t('survey', 'Update survey'); 19 | 20 | 21 | echo $this->render('_form', [ 22 | 'survey' => $survey, 23 | 'withUserSearch' => $withUserSearch 24 | ]); -------------------------------------------------------------------------------- /views/widget/default/unavailable.php: -------------------------------------------------------------------------------- 1 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /views/default/create.php: -------------------------------------------------------------------------------- 1 | title = Yii::t('survey', 'Create new survey'); 20 | 21 | 22 | echo $this->render('_form', [ 23 | 'survey' => $survey, 24 | 'withUserSearch' => $withUserSearch 25 | ]); 26 | 27 | -------------------------------------------------------------------------------- /views/answers/view/5.php: -------------------------------------------------------------------------------- 1 | 'answers-stat']); 19 | 20 | $average = $question->answers[0]->getTotalUserAnswersCount(); 21 | $average = $average > 0 ? round($average, 1) : 0; 22 | echo "average $average"; 23 | 24 | echo Html::endTag('div'); -------------------------------------------------------------------------------- /SurveyAsset.php: -------------------------------------------------------------------------------- 1 | sourcePath = __DIR__ . '/assets'; 20 | parent::init(); 21 | } 22 | 23 | public $publishOptions = [ 24 | 'forceCopy' => YII_ENV_DEV //dev 25 | ]; 26 | 27 | public $css = [ 28 | 'css/survey.css', 29 | 'css/preloader.css', 30 | ]; 31 | public $js = [ 32 | 'js/survey.js', 33 | ]; 34 | public $depends = [ 35 | 'yii\web\YiiAsset', 36 | ]; 37 | } -------------------------------------------------------------------------------- /views/answers/view/4.php: -------------------------------------------------------------------------------- 1 | 'answers-stat']); 18 | foreach ($question->answers as $i => $answer) { 19 | $average = $answer->getTotalUserAnswersCount(); 20 | $average = $average > 0 ? round($average, 1) : 0; 21 | echo Html::label($answer->survey_answer_name) . ' - ' . "average $average"; 22 | echo Html::tag('br', ''); 23 | } 24 | echo Html::endTag('div'); -------------------------------------------------------------------------------- /SurveyWidgetAsset.php: -------------------------------------------------------------------------------- 1 | sourcePath = __DIR__ . '/assets'; 20 | parent::init(); 21 | } 22 | 23 | public $publishOptions = [ 24 | 'forceCopy' => YII_ENV_DEV //dev 25 | ]; 26 | 27 | public $css = [ 28 | 'css/survey.css', 29 | 'css/preloader.css', 30 | ]; 31 | public $js = [ 32 | 'js/promise.min.js', 33 | 'js/survey.widget.js', 34 | ]; 35 | public $depends = [ 36 | 'yii\web\YiiAsset', 37 | ]; 38 | } -------------------------------------------------------------------------------- /views/widget/answers/6.php: -------------------------------------------------------------------------------- 1 | userAnswers; 20 | $userAnswer = !empty(current($userAnswers)) ? current($userAnswers) : (new SurveyUserAnswer()) ; 21 | 22 | echo $form->field($userAnswer, "[$question->survey_question_id]survey_user_answer_value")->textInput( 23 | ['placeholder' => \Yii::t('survey', 'Enter your answer here'), 'disabled' => $readonly])->label(\Yii::t('survey', 'Answer')); 24 | 25 | -------------------------------------------------------------------------------- /views/widget/answers/8.php: -------------------------------------------------------------------------------- 1 | userAnswers; 20 | $userAnswer = !empty(current($userAnswers)) ? current($userAnswers) : (new SurveyUserAnswer()) ; 21 | 22 | echo $form->field($userAnswer, "[$question->survey_question_id]survey_user_answer_text")->textarea( 23 | ['placeholder' => \Yii::t('survey', 'Enter your answer here'), 'rows' => 6, 'disabled' => $readonly])->label(\Yii::t('survey', 'Answer')); 24 | 25 | -------------------------------------------------------------------------------- /views/answers/5.php: -------------------------------------------------------------------------------- 1 | answers as $i => $answer) { 16 | switch ($i){ 17 | case 0: 18 | $label = 'Min'; 19 | break; 20 | case 1: 21 | $label = 'Max'; 22 | break; 23 | default: 24 | $label = false; 25 | break; 26 | } 27 | echo $form->field($answer, "[$question->survey_question_id][$i]survey_answer_name", [ 28 | 'template' => "| 19 | | 20 | | 21 | | 22 | | 23 | |
|---|---|---|---|---|
| 76 | | 77 | | 78 | | 79 | | 80 | |