public function renderContent() { Yii::import('poll.components.CPollHelper'); $model = $this->_poll; if ($model) { $fn = new CPollHelper($model); $userVote = $fn->loadVote(); $params = array('model' => $model, 'userVote' => $userVote); // Force user to vote if needed if (Yii::app()->settings->get('poll', 'is_force') && $model->userCanVote()) { $view = 'vote'; // Convert choices to form options list $choices = array(); foreach ($model->choices as $choice) { $choices[$choice->id] = Html::encode($choice->name); } $params['choices'] = $choices; } else { $view = 'view'; $userChoice = $fn->loadChoice($userVote); $params += array('userVote' => $userVote, 'userChoice' => $userChoice); } $this->render($view, $params); } }
public function actionView($id) { Yii::app()->clientScript->scriptMap = array('jquery.js' => false); $model = Poll::model()->findByPk($id); if ($model) { $fn = new CPollHelper($model); $params = array('model' => $model); if (isset($_POST['PortletPollVote_choice_id'])) { foreach ($_POST['PortletPollVote_choice_id'] as $ids) { $userVote = new PollVote(); $userVote->choice_id = $ids; $userVote->poll_id = $model->id; if ($userVote->validate()) { $userVote->save(false, false); } else { die('err'); } } } $userVote = $fn->loadVote(); if (Yii::app()->settings->get('poll', 'is_force') && $model->userCanVote()) { if (Yii::app()->request->isAjaxRequest) { $this->widget('ext.uniform.UniformWidget', array('theme' => 'default')); $userVote->addError('choise_id', 'Тыкни ты уже кудато!!'); $view = 'poll.widgets.random.views.vote'; } else { $view = 'vote'; } // Convert choices to form options list $choices = array(); foreach ($model->choices as $choice) { $choices[$choice->id] = Html::encode($choice->name); } $params['choices'] = $choices; } else { if (Yii::app()->request->isAjaxRequest) { $view = 'poll.widgets.random.views.view'; } else { $view = 'view'; } $userChoice = $fn->loadChoice($userVote); $params += array('userVote' => $userVote, 'userChoice' => $userChoice); } $this->render($view, $params, false, true); } }
<?php $fn = new CPollHelper($model); ?> <div class="text-center"><h4><?php echo $model->title; ?> </h4></div> <?php $this->render('mod.poll.widgets.random.views.results', array('model' => $model)); if (!is_object($userChoice)) { ?> Ваш голос: <strong><?php echo $fn->getUserVoted($userChoice); ?> .</strong> <?php } ?>
<?php $fn = new CPollHelper($model); $form = $this->beginWidget('CActiveForm', array('id' => 'portlet-poll-form', 'action' => '/poll/' . $model->id, 'enableAjaxValidation' => false, 'clientOptions' => array('validateOnSubmit' => true, 'validateOnChange' => false))); ?> <?php //echo $form->errorSummary($model); ?> <?php if ($model->hasErrors()) { echo $model->getError('choise_id'); } echo $fn->renderField('PortletPollVote_choice_id', $choices); echo Html::link('Голосовать', 'javascript:poll(' . $model->id . ')', array('class' => 'btn btn-info')); ?> <?php $this->endWidget(); ?>