Gentics Portal.Node PHP API
 All Classes Namespaces Functions Variables Pages
PoolWidget.php
1 <?php
2 $isVoted = Yii::app()->getModule('vote')->isUserVoted($this->id);
3 
4 ?>
5 <div class="vote-widgets-pool-widget">
6  <?php if(Yii::app()->getModule('vote')->debug): ?>
7  <div>Debug info:</div>
8  <div>Multiply answers: <?php echo $this->multiply ? 'true' : 'false' ?></div>
9  <div>Dynamic submit: <?php echo $this->dynamic ? 'true' : 'false' ?></div>
10  <div>Allow anonymous: <?php echo $this->allowAnonymous ? 'true' : 'false' ?></div>
11  <div>Ajax submit: <?php echo $this->ajax ? 'true' : 'false' ?></div>
12  <br/>
13  <?php endif; ?>
14  <?php echo CHtml::beginForm('/vote/pool/submit#ask-block-'.$this->id, 'post', array('id'=>'pool-widget-form-'.$this->id)) ?>
15  <div class="error" style="display:none"><?php echo VoteModule::t('Please select answer') ?></div>
16  <script type="text/javascript" charset="utf-8">
17  jQuery(function(){
18  var isVoted = '<?php echo $isVoted?>';
19  var ajaxSubmit = '<?php echo $this->ajax ?>';
20  var $form = jQuery('#pool-widget-form-<?php echo $this->id?>');
21  var $error = $form.find('.error');
22  var $submit = $form.find('input[type="submit"]');
23  var $isVoted = $form.find('.is-voted');
24  var $resultsLink = $form.find('.results-link');
25  var resultsUrl = '<?php echo Yii::app()->createUrl('/vote/pool/voteResults', array('options' => $this->getSecureResultOptions())) ?>';
26  //handle form submission
27  $form.submit(function(){
28  console.log('Form validation');
29  //correct input validation
30  if($form.find('input:checked').length > 0){
31  //submit via ajax if in options
32  if (ajaxSubmit === '1') {
33  console.log('ajax submitting');
34  $.post($form.attr('action'), $form.serialize(), function(){
35  $submit.remove();
36  setHaveVoted();
37  $($form).closest('.ask_block').find('.firstResultControl').hide();
38  });
39  return false;
40  }
41  return true;
42  }
43  $error.show();
44  return false;
45  });
46 
47  <?php if($this->dynamic && !$this->multiply): ?>
48  $submit.hide();
49  $form.find('input[type="radio"]').click(function(){
50  $submit.click();
51  });
52  <?php endif ?>
53 
54  function setHaveVoted() {
55  $isVoted.show();
56  $resultsLink.show();
57  $form.find('input[type="checkbox"], input[type="radio"]').attr('disabled', '1');
58  $form.load(resultsUrl);
59  }
60  if(isVoted === '1') {
61  setHaveVoted();
62  }
63  });
64  </script>
65  <div class="question">
66  <?php echo $question->text ?>
67  <?php echo CHtml::hiddenField('question', $question->id) ?>
68  </div>
69  <div class="answers">
70  <?php if($this->multiply): ?>
71  <?php echo CHtml::checkBoxList('answer', null, $answers) ?>
72  <?php else: ?>
73  <?php echo CHtml::radioButtonList('answer', null, $answers) ?>
74  <?php endif ?>
75  </div>
76  <?php if(!$isVoted): ?>
77  <?php if(!$this->allowAnonymous && Yii::app()->user->isGuest): ?>
78  <?php echo CHtml::link(VoteModule::t('Login to vote'), AppHelper::addParamsToUrl(Yii::app()->getModule('vote')->loginUrl, array('return_url'=>Yii::app()->request->requestUri))) ?>
79  <?php else: ?>
80  <?php foreach($this->additionalFields as $fieldName => $fieldValue): ?>
81  <?php echo CHtml::hiddenField("additionalFields[" . $fieldName . "]", $fieldValue) ?>
82  <?php endforeach?>
83  <?php if($this->forwardTo): ?>
84  <?php echo CHtml::hiddenField('forwardTo', $this->forwardTo) ?>
85  <?php endif?>
86  <?php echo CHtml::submitButton(VoteModule::t('Vote')) ?>
87  <?php endif ?>
88  <?php endif ?>
89  <div class="is-voted" <?php echo !$isVoted ? 'style="display:none"' : ''?> >
90  <?php echo VoteModule::t('You have voted') ?>
91  </div>
92  <?php if(!empty($this->resultsLink)): ?>
93  <div class="results-link" <?php echo $this->showResultsLink || $isVoted ? '' : 'style="display:none"' ?>>
94  <?php echo CHtml::link(VoteModule::t('Results'), $this->resultsLink) ?>
95  </div>
96  <?php endif ?>
97  <?php echo CHtml::endForm(); ?>
98 </div>