/** * @param null $voteID * @param bool $showControls * @return string */ public function actionQuizWidget($voteID = null, $showControls = true) { if ($showControls != false) { $showControls = true; } $quiz = !empty($voteID) ? Quiz::findOne($voteID) : Quiz::getOne(); if (empty($quiz)) { return ''; } if ($quiz->hasVoted || time() > $quiz->dateEnd || time() < $quiz->dateStart) { return $this->renderPartial('answers-widget', ['quiz' => $quiz, 'showControls' => $showControls]); } $voteForm = new VoteForm(['quizID' => $quiz->id]); $voteForm->quiz = $quiz; if (\Yii::$app->request->post("VoteForm")) { $voteForm->load(\Yii::$app->request->post()); if ($voteForm->save()) { $quiz = Quiz::findOne($quiz->id); return $this->renderPartial('answers-widget', ['quiz' => $quiz, 'showControls' => $showControls]); } } return $this->renderPartial('quiz-widget', ['vote' => $quiz, 'voteForm' => $voteForm, 'showControls' => $showControls]); }