Fix survey UI

1.10.x
jmontoya 10 years ago
parent 5cbf1f064d
commit 53e453bfa4
  1. 31
      main/inc/lib/pear/HTML/QuickForm/checkbox.php
  2. 19
      main/inc/lib/pear/HTML/QuickForm/radio.php
  3. 6
      main/survey/ch_multipleresponse.php
  4. 9
      main/survey/ch_yesno.php

@ -45,7 +45,9 @@ class HTML_QuickForm_checkbox extends HTML_QuickForm_input
* @since 1.1
* @access private
*/
var $_text = '';
public $_text = '';
public $labelClass;
public $checkboxClass;
// }}}
// {{{ constructor
@ -68,6 +70,17 @@ class HTML_QuickForm_checkbox extends HTML_QuickForm_input
$text = '',
$attributes = null
) {
$this->labelClass = isset($attributes['label-class']) ? $attributes['label-class'] : '';
$this->checkboxClass = isset($attributes['checkbox-class']) ? $attributes['checkbox-class'] : 'checkbox';
if (isset($attributes['label-class'])) {
unset($attributes['label-class']);
}
if (isset($attributes['checkbox-class'])) {
unset($attributes['checkbox-class']);
}
parent::__construct($elementName, $elementLabel, $attributes);
$this->_persistantFreeze = true;
$this->_text = $text;
@ -80,10 +93,7 @@ class HTML_QuickForm_checkbox extends HTML_QuickForm_input
}
$this->_generateId();
} //end constructor
// }}}
// {{{ setChecked()
}
/**
* Sets whether a checkbox is checked
@ -134,13 +144,16 @@ class HTML_QuickForm_checkbox extends HTML_QuickForm_input
} elseif ($this->_flagFrozen) {
$label = $this->_text;
} else {
$label =
'<div class="checkbox">
<label '.$this->getAttribute('label-class').'>' .
$labelClass = $this->labelClass;
$checkboxClass = $this->checkboxClass;
$label ='
<div class="'.$checkboxClass.'">
<label class="'.$labelClass.'">' .
HTML_QuickForm_input::toHtml().$this->_text.
'</label>
</div>
';
';
return $label;
}

@ -40,7 +40,9 @@ class HTML_QuickForm_radio extends HTML_QuickForm_input
* @since 1.1
* @access private
*/
var $_text = '';
public $_text = '';
public $labelClass;
public $radioClass;
/**
* Class constructor
@ -61,6 +63,17 @@ class HTML_QuickForm_radio extends HTML_QuickForm_input
$value = null,
$attributes = null
) {
$this->labelClass = isset($attributes['label-class']) ? $attributes['label-class'] : '';
$this->radioClass = isset($attributes['radio-class']) ? $attributes['radio-class'] : 'radio';
if (isset($attributes['label-class'])) {
unset($attributes['label-class']);
}
if (isset($attributes['radio-class'])) {
unset($attributes['radio-class']);
}
parent::__construct($elementName, $elementLabel, $attributes);
if (isset($value)) {
$this->setValue($value);
@ -114,7 +127,9 @@ class HTML_QuickForm_radio extends HTML_QuickForm_input
} elseif ($this->_flagFrozen) {
$label = $this->_text;
} else {
$label = '<div class="radio"><label '.$this->getAttribute('label-class').'">' .
$labelClass = $this->labelClass;
$radioClass = $this->radioClass;
$label = '<div class="'.$radioClass.'"><label class="'.$labelClass.'">' .
HTML_QuickForm_input::toHtml().$this->_text .
'</label></div>';

@ -40,9 +40,9 @@ class ch_multipleresponse extends survey_question
public function render(FormValidator $form, $questionData = array(), $answers = array())
{
if ($questionData['display'] == 'vertical') {
$class = '';
$class = 'checkbox';
} else {
$class = 'inline';
$class = 'checkbox-inline';
}
$name = 'question'.$questionData['question_id'];
@ -51,7 +51,7 @@ class ch_multipleresponse extends survey_question
$name,
null,
$questionData['options'],
array('label-class' => $class)
array('checkbox-class' => $class, 'label-class' => $class)
);
$defaults = [];

@ -38,17 +38,18 @@ class ch_yesno extends survey_question
{
if (is_array($questionData['options'])) {
if ($questionData['display'] == 'vertical') {
$class = '';
$class = 'radio';
} else {
$class = 'inline';
$class = 'radio-inline';
}
$name = 'question' . $questionData['question_id'];
$form->addRadio(
$name ,
$name,
null,
$questionData['options'],
array('label-class' => $class)
['radio-class' => $class, 'label-class' => $class]
);
if (!empty($answers)) {

Loading…
Cancel
Save