public function run() { /* <div class="switch-toggle switch-3 switch-ios large-9 columns" data="<?php echo $checked->accepted ?>"> <input id="DataItem_<?php echo $genId ?>_accepted_0" name="DataItem[<?php echo $genId ?>][accepted]" type="radio" value="1" <?php echo $checked->accepted==1?'checked':''?> /> <label for="DataItem_<?php echo $genId ?>_accepted_0" onclick="">Yes</label> <input id="DataItem_<?php echo $genId ?>_accepted_1" name="DataItem[<?php echo $genId ?>][accepted]" type="radio" value="-1" <?php echo $checked->accepted==-1?'checked':''?> /> <label for="DataItem_<?php echo $genId ?>_accepted_1" onclick="">No</label> <input id="DataItem_<?php echo $genId ?>_accepted_2" name="DataItem[<?php echo $genId ?>][accepted]" type="radio" value="0" <?php echo $checked->accepted==0?'checked':''?> /> <label for="DataItem_<?php echo $genId ?>_accepted_2" onclick="">N/A</label> <a></a> </div> */ $cs = Yii::app()->getClientScript(); $assets = Yii::app()->getAssetManager()->publish(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'); $cs->registerCssFile($assets . DIRECTORY_SEPARATOR . 'toggle-switch.css'); $cs->registerScriptFile($assets . DIRECTORY_SEPARATOR . 'script.js', CClientScript::POS_BEGIN); $nOfItems = count($this->data); if ($this->type == 'switch-toggle') { //You can add up to 5 items by using the .switch-3, .switch-4 and .switch-5 classes. echo CHtml::openTag('div', array('class' => 'switch-toggle switch-' . $nOfItems . ' ' . $this->scheme . ' columns')); foreach ($this->data as $key => $label) { $checked = $this->selected == $key; echo CHtml::radioButton($this->name, $checked, array('value' => $key, 'id' => $this->name . '_' . $key)); echo CHtml::label($label, $this->name . '_' . $key, array('onclick' => '')); } echo CHtml::tag('a', array(), '', true); echo CHtml::closeTag('div'); } if ($this->type == 'switch-light') { echo CHtml::openTag('label', array('class' => 'switch-light ' . $this->scheme, 'onclick' => '')); echo CHtml::checkBox(''); echo CHtml::openTag('span'); echo CHtml::tag('span', array(), 'Off'); echo CHtml::tag('span', array(), 'On'); echo CHtml::closeTag('span'); echo CHtml::tag('a', array(), '', true); echo CHtml::closeTag('label'); } }
public static function radioButtonList($name, $select, $data, $htmlOptions = array()) { $template = isset($htmlOptions['template']) ? $htmlOptions['template'] : '{input} {label}'; $separator = isset($htmlOptions['separator']) ? $htmlOptions['separator'] : "<br/>\n"; unset($htmlOptions['template'], $htmlOptions['separator']); $labelOptions = isset($htmlOptions['labelOptions']) ? $htmlOptions['labelOptions'] : array(); unset($htmlOptions['labelOptions']); $items = array(); $baseID = CHtml::getIdByName($name); $id = 0; foreach ($data as $value => $item) { $checked = !strcmp($value, $select); $htmlOptions['value'] = $value; $labelOptions['id'] = $baseID . '_label_' . $id; $htmlOptions['id'] = $baseID . '_' . $id++; $labelOptions['title'] = $item['title']; $htmlOptions['class'] = 'ui-icon ui-state-default ' . $item['class']; $option = CHtml::radioButton($name, $checked, $htmlOptions); if (!empty($item['icon'])) { $item['caption'] = '<span style="float:left;" class="ui-icon ' . $item['icon'] . '"> ' . $item['caption'] . '</span>' . $item['caption']; } $label = CHtml::label($item['caption'], $htmlOptions['id'], $labelOptions); $items[] = strtr($template, array('{input}' => $option, '{label}' => $label)); } return CHtml::tag('span', array('id' => $baseID), implode($separator, $items)); }
/** * Returns the formatted button * @return string the resulting HTML */ public function renderButtons() { list($name, $id) = $this->resolveNameID(); $buttons = array(); $checked = $this->hasModel() ? !$this->model->{$this->attribute} : true; $buttons[] = \CHtml::radioButton($name, $checked, array('id' => $id . '_on', 'value' => 1)); $buttons[] = \CHtml::label($this->offLabel, $id . '_on'); $checked = $checked ? false : true; $buttons[] = \CHtml::radioButton($name, $checked, array('id' => $id . '_off', 'value' => 1)); $buttons[] = \CHtml::label($this->onLabel, $id . '_off'); $buttons[] = '<span></span>'; return \CHtml::tag('div', $this->htmlOptions, implode("\n", $buttons)); }
/** *### .'nextCentury'=> gT('Next century'),() * * Renders the button group */ public function renderButtons() { list($name, $id) = $this->resolveNameID(); echo CHtml::openTag('div', array('class' => "btn-group", 'id' => $name, 'data-toggle' => "buttons")) . "\n"; $i = 1; foreach ($this->selectOptions as $value => $caption) { echo CHtml::openTag('label', array('class' => $value == $this->value ? 'btn btn-default active' : 'btn btn-default')); echo CHtml::radioButton($name, $value == $this->value, array('name' => $name, 'id' => $name . '_opt' . $i, 'value' => $value)); echo CHtml::encode($caption); echo CHtml::closeTag('label') . "\n"; $i++; } echo CHtml::closeTag('div') . "\n"; }
echo CHtml::checkBox('admin_enabled_epaybg', $enabled_paypal == "yes" ? true : false, array('value' => "yes", 'class' => "icheck")); ?> </div> <div class="uk-form-row"> <label class="uk-form-label"><?php echo Yii::t("default", "Mode"); ?> </label> <?php echo CHtml::radioButton('admin_mode_epaybg', $paypal_mode == "sandbox" ? true : false, array('value' => "sandbox", 'class' => "icheck")); ?> Sandbox <?php echo CHtml::radioButton('admin_mode_epaybg', $paypal_mode == "live" ? true : false, array('value' => "live", 'class' => "icheck")); ?> Live </div> <h3><?php echo Yii::t("default", "Sandbox"); ?> </h3> <div class="uk-form-row"> <label class="uk-form-label"><?php echo Yii::t("default", "MIN"); ?> </label>
public function getIsDefaultHtml($admin_mail = 0) { if ($this->active) { if (!$admin_mail && $this->main == 1 || $admin_mail && $this->admin_mail == 1) { $onclick = 'return false;'; } else { $onclick = "changeDefault(" . $this->id . ", " . $admin_mail . ");"; } return $admin_mail ? CHtml::radioButton("admin_mail", $this->admin_mail == 1, array('onclick' => $onclick)) : CHtml::radioButton("main", $this->main == 1, array('onclick' => $onclick)); } }
?> :</b></label> <ul> <li> <?php echo CHtml::radioButton('wd_bank_fields', yii::app()->functions->getOptionAdmin('wd_bank_fields') == "default" ? true : false, array('class' => "icheck", 'value' => "default")); ?> <?php echo t("Use Default"); ?> </li> <li style="padding-left:170px;"> <?php echo CHtml::radioButton('wd_bank_fields', yii::app()->functions->getOptionAdmin('wd_bank_fields') == "au" ? true : false, array('class' => "icheck", 'value' => "au")); ?> <?php echo t("Use Australia Bank Fields"); ?> </li> </ul> </div> <div class="uk-form-row"> <label class="uk-form-label"><?php echo t("Minimum Payout Amount"); ?> :</label> <?php
/** * (non-PHPdoc) * @see framework/CWidget::run() */ public function run() { $cs = Yii::app()->getClientScript(); list($name, $id) = $this->resolveNameID(); if (isset($this->htmlOptions['id'])) { $id = $this->htmlOptions['id']; } else { $this->htmlOptions['id'] = $id; } if (isset($this->htmlOptions['name'])) { $name = $this->htmlOptions['name']; } else { $this->htmlOptions['name'] = $name; } if ($this->buttonType == 'buttonset') { echo CHtml::closeTag($this->htmlTag); $cs->registerScript(__CLASS__ . '#' . $id, "jQuery('#{$id}').buttonset();"); } else { switch ($this->buttonType) { case 'submit': echo CHtml::submitButton($this->caption, $this->htmlOptions) . "\n"; break; case 'button': echo CHtml::htmlButton($this->caption, $this->htmlOptions) . "\n"; break; case 'link': echo CHtml::link($this->caption, $this->url, $this->htmlOptions) . "\n"; break; case 'radio': if ($this->hasModel()) { echo CHtml::activeRadioButton($this->model, $this->attribute, $this->htmlOptions); echo CHtml::label($this->caption, CHtml::activeId($this->model, $this->attribute)) . "\n"; } else { echo CHtml::radioButton($name, $this->value, $this->htmlOptions); echo CHtml::label($this->caption, $id) . "\n"; } break; case 'checkbox': if ($this->hasModel()) { echo CHtml::activeCheckbox($this->model, $this->attribute, $this->htmlOptions); echo CHtml::label($this->caption, CHtml::activeId($this->model, $this->attribute)) . "\n"; } else { echo CHtml::checkbox($name, $this->value, $this->htmlOptions); echo CHtml::label($this->caption, $id) . "\n"; } break; default: throw new CException(Yii::t('zii', 'The button type "{type}" is not supported.', array('{type}' => $this->buttonType))); } $options = empty($this->options) ? '' : CJavaScript::encode($this->options); if (isset($this->onclick)) { if (strpos($this->onclick, 'js:') !== 0) { $this->onclick = 'js:' . $this->onclick; } $click = CJavaScript::encode($this->onclick); $cs->registerScript(__CLASS__ . '#' . $id, "jQuery('#{$id}').button({$options}).click({$click});"); } else { $cs->registerScript(__CLASS__ . '#' . $id, "jQuery('#{$id}').button({$options});"); } } }
/** * Renders the stars. * @param string the ID of the container * @param string the name of the input */ protected function renderStars($id, $name) { $inputCount = (int) (($this->maxRating - $this->minRating) / $this->ratingStepSize + 1); $starSplit = (int) ($inputCount / $this->starCount); $selection = $this->hasModel() ? $this->model->{$this->attribute} : $this->value; $options = $starSplit > 1 ? array('class' => "{split:{$starSplit}}") : array(); for ($value = $this->minRating, $i = 0; $i < $inputCount; ++$i, $value += $this->ratingStepSize) { $options['id'] = $id . '_' . $i; $options['value'] = $value; if (isset($this->titles[$value])) { $options['title'] = $this->titles[$value]; } else { unset($options['title']); } echo CHtml::radioButton($name, !strcmp($value, $selection), $options) . "\n"; } }
for ($i = 0; $i <= 3; $i++) { ?> <div class="well"> <div class="form-group"> <?php echo CHtml::label('Respuesta ' . ($i + 1), 'respuesta'); ?> <?php echo CHtml::textField('respuesta[]', $respuestas[$i]['respuesta'] ? $respuestas[$i]['respuesta'] : '', array('class' => 'form-control', 'maxlength' => 255)); ?> </div> <div class="radio"> <label> <?php echo CHtml::radioButton('es_correcta', $respuestas[$i]['es_correcta'] ? true : false, array('value' => "{$i}")); ?> <?php echo CHtml::label('correcta', 'correcta'); ?> </label> </div> </div> <?php } ?> <div class="form-group"> <?php echo CHtml::submitButton('Guardar', array('class' => 'btn btn-success')); ?>
echo Yii::t('admin', '<p>Choose the theme you wish to use by selecting the graphic and clicking Make Active to switch to the theme. Change options for the currently active theme below the image. Your currently active theme is always listed first.</p>', array('{color}' => _xls_regionalize('color'))); echo Yii::t('admin', '<p>You can also Preview any theme by clicking the relevant <strong>Preview</strong> link.</p>'); ?> </div> <div class="clearfix spaceafter"></div> <div id="thememanage"> <?php echo CHtml::beginForm('manage', 'post', array('id' => 'manage')); ?> <?php echo CHtml::hiddenField('task', '', array('id' => 'task')); foreach ($arrThemes as $key => $objTheme) { echo '<div class="span4 theme"><div class="themetitle">' . $objTheme['name'] . '</div><div class="themeversion">' . $objTheme['version'] . $objTheme['beta'] . '</div><div class="clearfix"></div><div class="themeselect" >'; echo CHtml::radioButton('theme', $key == $currentTheme ? true : false, array('id' => $key, 'value' => $key)); echo '</div>'; echo CHtml::tag('div', array('class' => 'themeicon ' . ($key == $currentTheme ? "selected" : ""), 'id' => 'img' . $key, 'onClick' => 'js: $("#"+picked).attr("checked", false); $("#img"+picked).removeClass("selected"); $("#' . $key . '").attr("checked", true); picked = "' . $key . '"; $("#img"+picked).addClass("selected")'), $objTheme['img']); if ($key == $currentTheme && Yii::app()->getRequest()->getQuery('n')) { $this->widget('bootstrap.widgets.TbButton', array('buttonType' => 'submit', 'label' => 'Upgrade Theme', 'type' => 'danger', 'size' => 'mini', 'htmlOptions' => array('id' => 'btnUpgrade', 'name' => 'btnUpgrade', 'value' => 'btnUpgrade'))); } else { echo CHtml::tag('div', array('class' => 'themeoptions'), $key == $currentTheme ? $objTheme['options'] : $objTheme['preview']); } echo '</div>'; } ?>
<?php if (!empty($_POST)) { $eye_id = @$_POST['eye_id']; } else { $eye_id = $episode->eye_id; } ?> <section class="element element-data"> <fieldset> <legend class="data-title">Principal eye:</legend> <?php foreach (Eye::model()->findAll(array('order' => 'display_order')) as $eye) { ?> <label class="inline"> <?php echo CHtml::radioButton('eye_id', $eye->id == $eye_id, array('value' => $eye->id, 'class' => 'episodeSummaryRadio')); ?> <?php echo $eye->name; ?> </label> <?php } ?> </fieldset> </section> <section class="element element-data"> <div class="row"> <div class="large-6 column"> <h3 class="data-title">Start Date</h3>
<td colspan="4"> <span class="alert alert-info" style="display: inline-block; padding-top: 8px; padding-bottom: 8px"> <?php echo CHtml::radioButton('Repair[repair_status]', false, array('value' => 'wait')); ?> <?php echo Yii::t('lang', 'wait_repair'); ?> <?php echo CHtml::radioButton('Repair[repair_status]', true, array('value' => 'do')); ?> <?php echo Yii::t('lang', 'in_progress'); ?> <?php echo CHtml::radioButton('Repair[repair_status]', false, array('value' => 'complete')); ?> <?php echo Yii::t('lang', 'complete_repaired'); ?> </span> </td> </tr> <tr> <td></td> <td> <a class="btn btn-info"> <i class="glyphicon glyphicon-ok"></i> <?php echo Yii::t('lang', 'save'); ?>
$form = $this->beginWidget('ActiveForm', array('htmlOptions' => array('role' => 'form', 'class' => 'form'), 'method' => 'get', 'action' => array('/results/statistics', 'name' => 'best-podiums'))); ?> <div class="form-group row"> <?php foreach (array_chunk(Events::getNormalTranslatedEvents(), 3, true) as $events) { ?> <div class="col-md-4 col-xs-6"> <div class="row"> <?php foreach ($events as $eventId => $name) { ?> <div class="col-xs-4"> <div class="checkbox"> <label> <?php echo CHtml::radioButton('event', $eventId == $event, array('value' => $eventId)); ?> <?php echo CHtml::tag('span', array('class' => 'event-icon event-icon-' . $eventId), ' '); ?> </label> </div> </div> <?php } ?> </div> </div> <?php } ?>
<?php $form = $this->beginWidget('CActiveForm', array('action' => Yii::app()->createUrl('message/message/createmessage'), 'id' => 'addservicetype', 'enableClientValidation' => true, 'clientOptions' => array('validateOnSubmit' => true))); ?> <fieldset> <label>Add Service Type</label> <section><label>To</label> <div> <label>Customer</label> <?php echo CHtml::radioButton('btn', false, array('value' => 'customer', 'name' => 'Customer', 'uncheckValue' => null)); ?> <label>Company</label> <?php echo CHtml::radioButton('btn', true, array('value' => 'company', 'name' => 'Company', 'checked' => 'checked', 'uncheckValue' => null)); ?> </div> </section> <section><?php echo $form->labelEx($model, 'reciver_id', array('label' => 'Email')); ?> <div> <?php echo $form->textField($model, 'reciver_id', array('id' => 'email', 'value' => " ")); ?> <?php echo $form->error($model, 'reciver_id'); ?>
public function getIsDefaultHtml() { if ($this->is_default == 1) { $onclick = 'return false;'; } else { $onclick = "changeDefault(" . $this->id . ");"; } return CHtml::radioButton("is_default", $this->is_default == 1, array('onclick' => $onclick)); }
<br /> <hr /> <h3> <?php echo Shop::t('Shipping Method'); ?> </h3> <p> <?php echo Shop::t('Choose your Shipping method'); ?> </p> <?php $i = 0; foreach (ShippingMethod::model()->findAll() as $method) { echo '<div class="row">'; echo CHtml::radioButton("ShippingMethod", $i == 0, array('value' => $method->id)); echo '<div class="float-left">'; echo CHtml::label($method->title, 'ShippingMethod'); echo CHtml::tag('p', array(), $method->description); echo CHtml::tag('p', array(), Shop::t('Price: ') . Shop::priceFormat($method->price)); echo '</div>'; echo '</div>'; echo '<div class="clear"></div>'; $i++; } ?> <?php Yii::app()->clientScript->registerScript('toggle', "\n\tif(\$('#toggle_delivery').attr('checked'))\n\t\t\$('#delivery_information').show();\n\t\$('#toggle_delivery').click(function() { \n\t\t\$('#delivery_information').toggle(500);\n\t});\n");
?> <table class="table table-bordered"> <thead> <tr> <th></th> <th>Название</th> <th></th> </tr> </thead> <tbody> <?php foreach ($model->getRelated('stuffStruct') as $value) { ?> <tr> <td><?php echo CHtml::radioButton('Struct', false, array('class' => 'radioBtn')); ?> </td> <td><?php echo $value->getRelated('Struct')->name; ?> </td> <td><?php echo CHtml::textField($value->getRelated('Struct')->product_id, '', array('style' => 'display:none', 'class' => 'products')); ?> </td> </tr> <?php } ?> </tbody>
$radio2 = false; if (!empty($saleStatus)) { if ($saleStatus == 'credit') { $radio1 = false; $radio2 = true; } } ?> <?php echo CHtml::radioButton('sale_status', $radio1, array('value' => 'cash')); ?> <?php echo Yii::t('lang', 'cash'); ?> <?php echo CHtml::radioButton('sale_status', $radio2, array('value' => 'credit')); ?> <?php echo Yii::t('lang', 'credit'); ?> </span> </div> </div> </div> </div> </div> <!-- modal garantee --> <div class="modal" id="modalGarantee" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog" style="width: 850px"> <div class="modal-content">
/** * Generates a radio button. * @param string $name the input name. * @param boolean $checked whether the radio button is checked. * @param array $htmlOptions additional HTML attributes. * @return string the generated radio button. */ public static function radioButton($name, $checked = false, $htmlOptions = array()) { $label = TbArray::popValue('label', $htmlOptions, false); $labelOptions = TbArray::popValue('labelOptions', $htmlOptions, array()); self::addCssClass('radio', $labelOptions); $input = parent::radioButton($name, $checked, $htmlOptions); return self::createCheckBoxAndRadioButtonLabel($label, $input, $labelOptions); }
$("#timeTwo").hide(); $("#exampleOne").show(); $("#exampleTwo").hide(); ')); echo CHtml::label('tarkka aika', 'tarkkaaika', array('style' => 'font-weight:normal;')); ?> </div> <div class="row"> <?php echo CHtml::radioButton('aikavali', false, array('onclick' => ' $("#tarkkaaika").attr("checked",false); $("#timeTwo").show(); $("#timeOne").show(); $("#exampleOne").show(); $("#exampleTwo").show(); ')); echo CHtml::label('aikaväli', 'aikavali', array('style' => 'font-weight:normal;')); ?> </div> <div class="row" id="timeOne" style="display:none;"> <?php echo CHtml::textField('dayOne', '', array('maxlength' => '2', 'size' => '2')); echo CHtml::textField('monthOne', '', array('maxlength' => '2', 'size' => '2')); echo CHtml::textField('yearOne', '', array('maxlength' => '4', 'size' => '4')); ?> </div>
?> <div class="checkbox"> <label> <?php echo CHtml::checkBox('answers[' . $answer->id . ']'); ?> </label> </div> <?php } else { ?> <div class="radio"> <label> <?php echo CHtml::radioButton('answers', false, array('value' => $answer->id, 'id' => 'answer_' . $answer->id)); ?> </label> </div> <?php } ?> </div> <?php } ?> <?php $percent = round($answer->getPercent()); $color = "progress-bar-info"; ?>
/** * Generates a radio button. * @param string $name the input name. * @param boolean $checked whether the radio button is checked. * @param array $htmlOptions additional HTML attributes. * @return string the generated radio button. */ public static function radioButton($name, $checked = false, $htmlOptions = array()) { $label = BsArray::popValue('label', $htmlOptions, false); $labelOptions = BsArray::popValue('labelOptions', $htmlOptions, array()); self::addCssClass('radio', $labelOptions); $radioButton = parent::radioButton($name, $checked, $htmlOptions); return $label !== false ? self::tag('label', $labelOptions, $radioButton . ' ' . $label) : $radioButton; }
/** * dataentry::editdata() * Edit dataentry. * @param mixed $subaction * @param mixed $id * @param mixed $surveyid * @param mixed $language * @return */ public function editdata($subaction, $id, $surveyid, $language = '') { if ($language == '') { $language = Survey::model()->findByPk($surveyid)->language; } $surveyid = sanitize_int($surveyid); $id = sanitize_int($id); $aViewUrls = array(); if (!isset($sDataEntryLanguage)) { $sDataEntryLanguage = Survey::model()->findByPk($surveyid)->language; } $surveyinfo = getSurveyInfo($surveyid); if (hasSurveyPermission($surveyid, 'responses', 'update')) { $surveytable = "{{survey_" . $surveyid . '}}'; $aData['clang'] = $clang = $this->getController()->lang; $aData['display']['menu_bars']['browse'] = $clang->gT("Data entry"); Yii::app()->loadHelper('database'); //FIRST LETS GET THE NAMES OF THE QUESTIONS AND MATCH THEM TO THE FIELD NAMES FOR THE DATABASE $fnquery = "SELECT * FROM {{questions}}, {{groups}} g, {{surveys}} WHERE\n {{questions}}.gid=g.gid AND\n {{questions}}.language = '{$sDataEntryLanguage}' AND g.language = '{$sDataEntryLanguage}' AND\n {{questions}}.sid={{surveys}}.sid AND {{questions}}.sid='{$surveyid}'\n order by group_order, question_order"; $fnresult = dbExecuteAssoc($fnquery); $fnresult = $fnresult->readAll(); $fncount = count($fnresult); $fnrows = array(); //Create an empty array in case FetchRow does not return any rows foreach ($fnresult as $fnrow) { $fnrows[] = $fnrow; $private = $fnrow['anonymized']; $datestamp = $fnrow['datestamp']; $ipaddr = $fnrow['ipaddr']; } // Get table output into array // Perform a case insensitive natural sort on group name then question title of a multidimensional array // $fnames = (Field Name in Survey Table, Short Title of Question, Question Type, Field Name, Question Code, Predetermined Answers if exist) $fnames['completed'] = array('fieldname' => "completed", 'question' => $clang->gT("Completed"), 'type' => 'completed'); $fnames = array_merge($fnames, createFieldMap($surveyid, 'full', false, false, $sDataEntryLanguage)); $nfncount = count($fnames) - 1; //SHOW INDIVIDUAL RECORD if ($subaction == "edit" && hasSurveyPermission($surveyid, 'responses', 'update')) { $idquery = "SELECT * FROM {$surveytable} WHERE id={$id}"; $idresult = dbExecuteAssoc($idquery) or safeDie("Couldn't get individual record<br />{$idquery}<br />"); foreach ($idresult->readAll() as $idrow) { $results[] = $idrow; } } elseif ($subaction == "editsaved" && hasSurveyPermission($surveyid, 'responses', 'update')) { if (isset($_GET['public']) && $_GET['public'] == "true") { $password = md5(Yii::app()->request->getParam('accesscode')); } else { $password = Yii::app()->request->getParam('accesscode'); } $svresult = Saved_control::model()->findAllByAttributes(array('sid' => $surveyid, 'identifier' => Yii::app()->request->getParam('identifier'), 'access_code' => $password)); foreach ($svresult as $svrow) { $saver['email'] = $svrow['email']; $saver['scid'] = $svrow['scid']; $saver['ip'] = $svrow['ip']; } $svresult = Saved_control::model()->findAllByAttributes(array('scid' => $saver['scid'])); foreach ($svresult as $svrow) { $responses[$svrow['fieldname']] = $svrow['value']; } // while $fieldmap = createFieldMap($surveyid, 'full', false, false, getBaseLanguageFromSurveyID($surveyid)); foreach ($fieldmap as $fm) { if (isset($responses[$fm['fieldname']])) { $results1[$fm['fieldname']] = $responses[$fm['fieldname']]; } else { $results1[$fm['fieldname']] = ""; } } $results1['id'] = ""; $results1['datestamp'] = dateShift(date("Y-m-d H:i:s"), "Y-m-d H:i:s", Yii::app()->getConfig('timeadjust')); $results1['ipaddr'] = $saver['ip']; $results[] = $results1; } $aData = array('id' => $id, 'surveyid' => $surveyid, 'subaction' => $subaction, 'part' => 'header', 'clang' => $clang); $aViewUrls[] = 'dataentry_header_view'; $aViewUrls[] = 'edit'; $highlight = FALSE; unset($fnames['lastpage']); // unset timings foreach ($fnames as $fname) { if ($fname['type'] == "interview_time" || $fname['type'] == "page_time" || $fname['type'] == "answer_time") { unset($fnames[$fname['fieldname']]); $nfncount--; } } $aDataentryoutput = ''; foreach ($results as $idrow) { $fname = reset($fnames); do { if (isset($idrow[$fname['fieldname']])) { $answer = $idrow[$fname['fieldname']]; } $question = $fname['question']; $aDataentryoutput .= "\t<tr"; if ($highlight) { $aDataentryoutput .= " class='odd'"; } else { $aDataentryoutput .= " class='even'"; } $highlight = !$highlight; $aDataentryoutput .= ">\n" . "<td>" . "\n"; $aDataentryoutput .= stripJavaScript($question); $aDataentryoutput .= "</td>\n" . "<td>\n"; //$aDataentryoutput .= "\t-={$fname[3]}=-"; //Debugging info if (isset($fname['qid']) && isset($fname['type'])) { $qidattributes = getQuestionAttributeValues($fname['qid'], $fname['type']); } switch ($fname['type']) { case "completed": // First compute the submitdate if ($private == "Y") { // In case of anonymized responses survey with no datestamp // then the the answer submitdate gets a conventional timestamp // 1st Jan 1980 $mysubmitdate = date("Y-m-d H:i:s", mktime(0, 0, 0, 1, 1, 1980)); } else { $mysubmitdate = dateShift(date("Y-m-d H:i:s"), "Y-m-d H:i:s", Yii::app()->getConfig('timeadjust')); } $completedate = empty($idrow['submitdate']) ? $mysubmitdate : $idrow['submitdate']; $selected = empty($idrow['submitdate']) ? 'N' : $completedate; $select_options = array('N' => $clang->gT('No'), $completedate => $clang->gT('Yes')); $aDataentryoutput .= CHtml::dropDownList('completed', $selected, $select_options); break; case "X": //Boilerplate question $aDataentryoutput .= ""; break; case "Q": case "K": $aDataentryoutput .= $fname['subquestion'] . ' '; $aDataentryoutput .= CHtml::textField($fname['fieldname'], $idrow[$fname['fieldname']]); break; case "id": $aDataentryoutput .= CHtml::tag('span', array('style' => 'font-weight: bold;'), ' ' . $idrow[$fname['fieldname']]); break; case "5": //5 POINT CHOICE radio-buttons for ($i = 1; $i <= 5; $i++) { $checked = FALSE; if ($idrow[$fname['fieldname']] == $i) { $checked = TRUE; } $aDataentryoutput .= CHtml::radioButton($fname['fieldname'], $checked, array('class' => 'radiobtn', 'value' => $i)); $aDataentryoutput .= $i; } break; case "D": //DATE $thisdate = ''; $dateformatdetails = getDateFormatDataForQID($qidattributes, $surveyid); if ($idrow[$fname['fieldname']] != '') { $thisdate = DateTime::createFromFormat("Y-m-d H:i:s", $idrow[$fname['fieldname']])->format($dateformatdetails['phpdate']); } else { $thisdate = ''; } if (canShowDatePicker($dateformatdetails)) { $goodchars = str_replace(array("m", "d", "y", "H", "M"), "", $dateformatdetails['dateformat']); $goodchars = "0123456789" . $goodchars[0]; $aDataentryoutput .= CHtml::textField($fname['fieldname'], $thisdate, array('class' => 'popupdate', 'size' => '12', 'onkeypress' => 'return goodchars(event,\'' . $goodchars . '\')')); $aDataentryoutput .= CHtml::hiddenField('dateformat' . $fname['fieldname'], $dateformatdetails['jsdate'], array('id' => "dateformat{$fname['fieldname']}")); // $aDataentryoutput .= "\t<input type='text' class='popupdate' size='12' name='{$fname['fieldname']}' value='{$thisdate}' onkeypress=\"return goodchars(event,'".$goodchars."')\"/>\n"; // $aDataentryoutput .= "\t<input type='hidden' name='dateformat{$fname['fieldname']}' id='dateformat{$fname['fieldname']}' value='{$dateformatdetails['jsdate']}' />\n"; } else { $aDataentryoutput .= CHtml::textField($fname['fieldname'], $thisdate); } break; case "G": //GENDER drop-down list $select_options = array('' => $clang->gT("Please choose") . '...', 'F' => $clang->gT("Female"), 'G' => $clang->gT("Male")); $aDataentryoutput .= CHtml::listBox($fname['fieldname'], $idrow[$fname['fieldname']], $select_options); break; case "L": //LIST drop-down //LIST drop-down case "!": //List (Radio) $qidattributes = getQuestionAttributeValues($fname['qid']); if (isset($qidattributes['category_separator']) && trim($qidattributes['category_separator']) != '') { $optCategorySeparator = $qidattributes['category_separator']; } else { unset($optCategorySeparator); } if (substr($fname['fieldname'], -5) == "other") { $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' />\n"; } else { $lquery = "SELECT * FROM {{answers}} WHERE qid={$fname['qid']} AND language = '{$sDataEntryLanguage}' ORDER BY sortorder, answer"; $lresult = dbExecuteAssoc($lquery); $aDataentryoutput .= "\t<select name='{$fname['fieldname']}'>\n" . "<option value=''"; if ($idrow[$fname['fieldname']] == "") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . $clang->gT("Please choose") . "..</option>\n"; if (!isset($optCategorySeparator)) { foreach ($lresult->readAll() as $llrow) { $aDataentryoutput .= "<option value='{$llrow['code']}'"; if ($idrow[$fname['fieldname']] == $llrow['code']) { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">{$llrow['answer']}</option>\n"; } } else { $defaultopts = array(); $optgroups = array(); foreach ($lresult->readAll() as $llrow) { list($categorytext, $answertext) = explode($optCategorySeparator, $llrow['answer']); if ($categorytext == '') { $defaultopts[] = array('code' => $llrow['code'], 'answer' => $answertext); } else { $optgroups[$categorytext][] = array('code' => $llrow['code'], 'answer' => $answertext); } } foreach ($optgroups as $categoryname => $optionlistarray) { $aDataentryoutput .= "<optgroup class=\"dropdowncategory\" label=\"" . $categoryname . "\">\n"; foreach ($optionlistarray as $optionarray) { $aDataentryoutput .= "\t<option value='{$optionarray['code']}'"; if ($idrow[$fname['fieldname']] == $optionarray['code']) { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">{$optionarray['answer']}</option>\n"; } $aDataentryoutput .= "</optgroup>\n"; } foreach ($defaultopts as $optionarray) { $aDataentryoutput .= "<option value='{$optionarray['code']}'"; if ($idrow[$fname['fieldname']] == $optionarray['code']) { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">{$optionarray['answer']}</option>\n"; } } $oquery = "SELECT other FROM {{questions}} WHERE qid={$fname['qid']} AND {{questions}}.language = '{$sDataEntryLanguage}'"; $oresult = dbExecuteAssoc($oquery) or safeDie("Couldn't get other for list question<br />" . $oquery . "<br />"); foreach ($oresult->readAll() as $orow) { $fother = $orow['other']; } if ($fother == "Y") { $aDataentryoutput .= "<option value='-oth-'"; if ($idrow[$fname['fieldname']] == "-oth-") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . $clang->gT("Other") . "</option>\n"; } $aDataentryoutput .= "\t</select>\n"; } break; case "O": //LIST WITH COMMENT drop-down/radio-button list + textarea $lquery = "SELECT * FROM {{answers}} WHERE qid={$fname['qid']} AND language = '{$sDataEntryLanguage}' ORDER BY sortorder, answer"; $lresult = dbExecuteAssoc($lquery); $aDataentryoutput .= "\t<select name='{$fname['fieldname']}'>\n" . "<option value=''"; if ($idrow[$fname['fieldname']] == "") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . $clang->gT("Please choose") . "..</option>\n"; foreach ($lresult->readAll() as $llrow) { $aDataentryoutput .= "<option value='{$llrow['code']}'"; if ($idrow[$fname['fieldname']] == $llrow['code']) { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">{$llrow['answer']}</option>\n"; } $fname = next($fnames); $aDataentryoutput .= "\t</select>\n" . "\t<br />\n" . "\t<textarea cols='45' rows='5' name='{$fname['fieldname']}'>" . htmlspecialchars($idrow[$fname['fieldname']]) . "</textarea>\n"; break; case "R": //RANKING TYPE QUESTION $thisqid = $fname['qid']; $currentvalues = array(); $myfname = $fname['sid'] . 'X' . $fname['gid'] . 'X' . $fname['qid']; while (isset($fname['type']) && $fname['type'] == "R" && $fname['qid'] == $thisqid) { //Let's get all the existing values into an array if ($idrow[$fname['fieldname']]) { $currentvalues[] = $idrow[$fname['fieldname']]; } $fname = next($fnames); } $ansquery = "SELECT * FROM {{answers}} WHERE language = '{$sDataEntryLanguage}' AND qid={$thisqid} ORDER BY sortorder, answer"; $ansresult = dbExecuteAssoc($ansquery); $anscount = 0; $aDataentryoutput .= "\t<script type='text/javascript'>\n" . "\t<!--\n" . "function rankthis_{$thisqid}(\$code, \$value)\n" . "\t{\n" . "\t\$index=document.editresponse.CHOICES_{$thisqid}.selectedIndex;\n" . "\tfor (i=1; i<={$anscount}; i++)\n" . "{\n" . "\$b=i;\n" . "\$b += '';\n" . "\$inputname=\"RANK_{$thisqid}\"+\$b;\n" . "\$hiddenname=\"d{$myfname}\"+\$b;\n" . "\$cutname=\"cut_{$thisqid}\"+i;\n" . "document.getElementById(\$cutname).style.display='none';\n" . "if (!document.getElementById(\$inputname).value)\n" . "\t{\n" . "\tdocument.getElementById(\$inputname).value=\$value;\n" . "\tdocument.getElementById(\$hiddenname).value=\$code;\n" . "\tdocument.getElementById(\$cutname).style.display='';\n" . "\tfor (var b=document.getElementById('CHOICES_{$thisqid}').options.length-1; b>=0; b--)\n" . "{\n" . "if (document.getElementById('CHOICES_{$thisqid}').options[b].value == \$code)\n" . "\t{\n" . "\tdocument.getElementById('CHOICES_{$thisqid}').options[b] = null;\n" . "\t}\n" . "}\n" . "\ti={$anscount};\n" . "\t}\n" . "}\n" . "\tif (document.getElementById('CHOICES_{$thisqid}').options.length == 0)\n" . "{\n" . "document.getElementById('CHOICES_{$thisqid}').disabled=true;\n" . "}\n" . "\tdocument.editresponse.CHOICES_{$thisqid}.selectedIndex=-1;\n" . "\t}\n" . "function deletethis_{$thisqid}(\$text, \$value, \$name, \$thisname)\n" . "\t{\n" . "\tvar qid='{$thisqid}';\n" . "\tvar lngth=qid.length+4;\n" . "\tvar cutindex=\$thisname.substring(lngth, \$thisname.length);\n" . "\tcutindex=parseFloat(cutindex);\n" . "\tdocument.getElementById(\$name).value='';\n" . "\tdocument.getElementById(\$thisname).style.display='none';\n" . "\tif (cutindex > 1)\n" . "{\n" . "\$cut1name=\"cut_{$thisqid}\"+(cutindex-1);\n" . "\$cut2name=\"d{$myfname}\"+(cutindex);\n" . "document.getElementById(\$cut1name).style.display='';\n" . "document.getElementById(\$cut2name).value='';\n" . "}\n" . "\telse\n" . "{\n" . "\$cut2name=\"d{$myfname}\"+(cutindex);\n" . "document.getElementById(\$cut2name).value='';\n" . "}\n" . "\tvar i=document.getElementById('CHOICES_{$thisqid}').options.length;\n" . "\tdocument.getElementById('CHOICES_{$thisqid}').options[i] = new Option(\$text, \$value);\n" . "\tif (document.getElementById('CHOICES_{$thisqid}').options.length > 0)\n" . "{\n" . "document.getElementById('CHOICES_{$thisqid}').disabled=false;\n" . "}\n" . "\t}\n" . "\t//-->\n" . "\t</script>\n"; foreach ($ansresult->readAll() as $ansrow) { $answers[] = array($ansrow['code'], $ansrow['answer']); $anscount++; } //now find out how many existing values there are $chosen[] = ""; //create array if (!isset($ranklist)) { $ranklist = ""; } if (isset($currentvalues)) { $existing = count($currentvalues); } else { $existing = 0; } for ($j = 1; $j <= $anscount; $j++) { $k = $j - 1; if (isset($currentvalues) && isset($currentvalues[$k]) && $currentvalues[$k]) { foreach ($answers as $ans) { if ($ans[0] == $currentvalues[$k]) { $thiscode = $ans[0]; $thistext = $ans[1]; } } } $ranklist .= "{$j}: <input class='ranklist' id='RANK_{$thisqid}{$j}'"; if (isset($currentvalues) && isset($currentvalues[$k]) && $currentvalues[$k]) { $ranklist .= " value='" . $thistext . "'"; } $ranklist .= " onFocus=\"this.blur()\" />\n" . "<input type='hidden' id='d{$myfname}{$j}' name='{$myfname}{$j}' value='"; if (isset($currentvalues) && isset($currentvalues[$k]) && $currentvalues[$k]) { $ranklist .= $thiscode; $chosen[] = array($thiscode, $thistext); } $ranklist .= "' />\n" . "<img src='" . Yii::app()->getConfig('imageurl') . "/cut.gif' alt='" . $clang->gT("Remove this item") . "' title='" . $clang->gT("Remove this item") . "' "; if ($j != $existing) { $ranklist .= "style='display:none'"; } $ranklist .= " id='cut_{$thisqid}{$j}' onclick=\"deletethis_{$thisqid}(document.editresponse.RANK_{$thisqid}{$j}.value, document.editresponse.d{$myfname}{$j}.value, document.editresponse.RANK_{$thisqid}{$j}.id, this.id)\" /><br />\n\n"; } if (!isset($choicelist)) { $choicelist = ""; } $choicelist .= "<select class='choicelist' size='{$anscount}' name='CHOICES' id='CHOICES_{$thisqid}' onclick=\"rankthis_{$thisqid}(this.options[this.selectedIndex].value, this.options[this.selectedIndex].text)\" >\n"; foreach ($answers as $ans) { if (!in_array($ans, $chosen)) { $choicelist .= "\t<option value='{$ans[0]}'>{$ans[1]}</option>\n"; } } $choicelist .= "</select>\n"; $aDataentryoutput .= "\t<table>\n" . "<tr>\n" . "\t<td>\n" . "<strong>" . $clang->gT("Your Choices") . ":</strong><br />\n" . $choicelist . "\t</td>\n" . "\t<td align='left'>\n" . "<strong>" . $clang->gT("Your Ranking") . ":</strong><br />\n" . $ranklist . "\t</td>\n" . "</tr>\n" . "\t</table>\n" . "\t<input type='hidden' name='multi' value='{$anscount}' />\n" . "\t<input type='hidden' name='lastfield' value='"; if (isset($multifields)) { $aDataentryoutput .= $multifields; } $aDataentryoutput .= "' />\n"; $choicelist = ""; $ranklist = ""; unset($answers); $fname = prev($fnames); break; case "M": //Multiple choice checkbox $qidattributes = getQuestionAttributeValues($fname['qid']); if (trim($qidattributes['display_columns']) != '') { $dcols = $qidattributes['display_columns']; } else { $dcols = 0; } // while ($fname[3] == "M" && $question != "" && $question == $fname['type']) $thisqid = $fname['qid']; while ($fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); //$aDataentryoutput .= substr($fname['fieldname'], strlen($fname['fieldname'])-5, 5)."<br />\n"; if (substr($fname['fieldname'], -5) == "other") { $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' />\n"; } else { $aDataentryoutput .= "\t<input type='checkbox' class='checkboxbtn' name='{$fname['fieldname']}' value='Y'"; if ($idrow[$fname['fieldname']] == "Y") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />{$fname['subquestion']}<br />\n"; } $fname = next($fnames); } $fname = prev($fnames); break; case "I": //Language Switch $lquery = "SELECT * FROM {{answers}} WHERE qid={$fname['qid']} AND language = '{$sDataEntryLanguage}' ORDER BY sortorder, answer"; $lresult = dbExecuteAssoc($lquery); $slangs = Survey::model()->findByPk($surveyid)->additionalLanguages; $baselang = Survey::model()->findByPk($surveyid)->language; array_unshift($slangs, $baselang); $aDataentryoutput .= "<select name='{$fname['fieldname']}'>\n"; $aDataentryoutput .= "<option value=''"; if ($idrow[$fname['fieldname']] == "") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . $clang->gT("Please choose") . "..</option>\n"; foreach ($slangs as $lang) { $aDataentryoutput .= "<option value='{$lang}'"; if ($lang == $idrow[$fname['fieldname']]) { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . getLanguageNameFromCode($lang, false) . "</option>\n"; } $aDataentryoutput .= "</select>"; break; case "P": //Multiple choice with comments checkbox + text $aDataentryoutput .= "<table>\n"; while (isset($fname) && $fname['type'] == "P") { $thefieldname = $fname['fieldname']; if (substr($thefieldname, -7) == "comment") { $aDataentryoutput .= "<td><input type='text' name='{$fname['fieldname']}' size='50' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' /></td>\n" . "\t</tr>\n"; } elseif (substr($fname['fieldname'], -5) == "other") { $aDataentryoutput .= "\t<tr>\n" . "<td>\n" . "\t<input type='text' name='{$fname['fieldname']}' size='30' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' />\n" . "</td>\n" . "<td>\n"; $fname = next($fnames); $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' size='50' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' />\n" . "</td>\n" . "\t</tr>\n"; } else { $aDataentryoutput .= "\t<tr>\n" . "<td><input type='checkbox' class='checkboxbtn' name=\"{$fname['fieldname']}\" value='Y'"; if ($idrow[$fname['fieldname']] == "Y") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />{$fname['subquestion']}</td>\n"; } $fname = next($fnames); } $aDataentryoutput .= "</table>\n"; $fname = prev($fnames); break; case "|": //FILE UPLOAD $aDataentryoutput .= "<table>\n"; if ($fname['aid'] !== 'filecount' && isset($idrow[$fname['fieldname'] . '_filecount']) && $idrow[$fname['fieldname'] . '_filecount'] > 0) { //file metadata $metadata = json_decode($idrow[$fname['fieldname']], true); $qAttributes = getQuestionAttributeValues($fname['qid']); for ($i = 0; $i < $qAttributes['max_num_of_files'], isset($metadata[$i]); $i++) { if ($qAttributes['show_title']) { $aDataentryoutput .= '<tr><td>Title </td><td><input type="text" class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_title_' . $i . '" name="title" size=50 value="' . htmlspecialchars($metadata[$i]["title"]) . '" /></td></tr>'; } if ($qAttributes['show_comment']) { $aDataentryoutput .= '<tr><td >Comment </td><td><input type="text" class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_comment_' . $i . '" name="comment" size=50 value="' . htmlspecialchars($metadata[$i]["comment"]) . '" /></td></tr>'; } $aDataentryoutput .= '<tr><td> File name</td><td><input class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_name_' . $i . '" name="name" size=50 value="' . htmlspecialchars(rawurldecode($metadata[$i]["name"])) . '" /></td></tr>' . '<tr><td></td><td><input type="hidden" class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_size_' . $i . '" name="size" size=50 value="' . htmlspecialchars($metadata[$i]["size"]) . '" /></td></tr>' . '<tr><td></td><td><input type="hidden" class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_ext_' . $i . '" name="ext" size=50 value="' . htmlspecialchars($metadata[$i]["ext"]) . '" /></td></tr>' . '<tr><td></td><td><input type="hidden" class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_filename_' . $i . '" name="filename" size=50 value="' . htmlspecialchars(rawurldecode($metadata[$i]["filename"])) . '" /></td></tr>'; } $aDataentryoutput .= '<tr><td></td><td><input type="hidden" id="' . $fname['fieldname'] . '" name="' . $fname['fieldname'] . '" size=50 value="' . htmlspecialchars($idrow[$fname['fieldname']]) . '" /></td></tr>'; $aDataentryoutput .= '</table>'; $aDataentryoutput .= '<script type="text/javascript"> $(function() { $(".' . $fname['fieldname'] . '").keyup(function() { var filecount = $("#' . $fname['fieldname'] . '_filecount").val(); var jsonstr = "["; var i; for (i = 0; i < filecount; i++) { if (i != 0) jsonstr += ","; jsonstr += \'{"title":"\'+$("#' . $fname['fieldname'] . '_title_"+i).val()+\'",\'; jsonstr += \'"comment":"\'+$("#' . $fname['fieldname'] . '_comment_"+i).val()+\'",\'; jsonstr += \'"size":"\'+$("#' . $fname['fieldname'] . '_size_"+i).val()+\'",\'; jsonstr += \'"ext":"\'+$("#' . $fname['fieldname'] . '_ext_"+i).val()+\'",\'; jsonstr += \'"filename":"\'+$("#' . $fname['fieldname'] . '_filename_"+i).val()+\'",\'; jsonstr += \'"name":"\'+encodeURIComponent($("#' . $fname['fieldname'] . '_name_"+i).val())+\'"}\'; } jsonstr += "]"; $("#' . $fname['fieldname'] . '").val(jsonstr); }); }); </script>'; } else { //file count $aDataentryoutput .= '<input readonly id="' . $fname['fieldname'] . '" name="' . $fname['fieldname'] . '" value ="' . htmlspecialchars($idrow[$fname['fieldname']]) . '" /></td></table>'; } break; case "N": //NUMERICAL TEXT $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='{$idrow[$fname['fieldname']]}' " . "onkeypress=\"return goodchars(event,'0123456789.,')\" />\n"; break; case "S": //SHORT FREE TEXT $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' />\n"; break; case "T": //LONG FREE TEXT $aDataentryoutput .= "\t<textarea rows='5' cols='45' name='{$fname['fieldname']}'>" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "</textarea>\n"; break; case "U": //HUGE FREE TEXT $aDataentryoutput .= "\t<textarea rows='50' cols='70' name='{$fname['fieldname']}'>" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "</textarea>\n"; break; case "Y": //YES/NO radio-buttons $aDataentryoutput .= "\t<select name='{$fname['fieldname']}'>\n" . "<option value=''"; if ($idrow[$fname['fieldname']] == "") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . $clang->gT("Please choose") . "..</option>\n" . "<option value='Y'"; if ($idrow[$fname['fieldname']] == "Y") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . $clang->gT("Yes") . "</option>\n" . "<option value='N'"; if ($idrow[$fname['fieldname']] == "N") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . $clang->gT("No") . "</option>\n" . "\t</select>\n"; break; case "A": //ARRAY (5 POINT CHOICE) radio-buttons $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while ($fname['qid'] == $thisqid) { $aDataentryoutput .= "\t<tr>\n" . "<td align='right'>{$fname['subquestion']}</td>\n" . "<td>\n"; for ($j = 1; $j <= 5; $j++) { $aDataentryoutput .= "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='{$j}'"; if ($idrow[$fname['fieldname']] == $j) { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />{$j} \n"; } $aDataentryoutput .= "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $aDataentryoutput .= "</table>\n"; $fname = prev($fnames); break; case "B": //ARRAY (10 POINT CHOICE) radio-buttons $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while ($fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td align='right'>{$fname['subquestion']}</td>\n" . "<td>\n"; for ($j = 1; $j <= 10; $j++) { $aDataentryoutput .= "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='{$j}'"; if ($idrow[$fname['fieldname']] == $j) { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />{$j} \n"; } $aDataentryoutput .= "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case "C": //ARRAY (YES/UNCERTAIN/NO) radio-buttons $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while ($fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td align='right'>{$fname['subquestion']}</td>\n" . "<td>\n" . "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='Y'"; if ($idrow[$fname['fieldname']] == "Y") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />" . $clang->gT("Yes") . " \n" . "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='U'"; if ($idrow[$fname['fieldname']] == "U") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />" . $clang->gT("Uncertain") . " \n" . "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='N'"; if ($idrow[$fname['fieldname']] == "N") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />" . $clang->gT("No") . " \n" . "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case "E": //ARRAY (Increase/Same/Decrease) radio-buttons $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while ($fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td align='right'>{$fname['subquestion']}</td>\n" . "<td>\n" . "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='I'"; if ($idrow[$fname['fieldname']] == "I") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />Increase \n" . "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='S'"; if ($idrow[$fname['fieldname']] == "I") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />Same \n" . "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='D'"; if ($idrow[$fname['fieldname']] == "D") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />Decrease \n" . "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case "F": //ARRAY (Flexible Labels) //ARRAY (Flexible Labels) case "H": case "1": $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while (isset($fname['qid']) && $fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td>{$fname['subquestion']}"; if (isset($fname['scale'])) { $aDataentryoutput .= " (" . $fname['scale'] . ')'; } $aDataentryoutput .= "</td>\n"; $scale_id = 0; if (isset($fname['scale_id'])) { $scale_id = $fname['scale_id']; } $fquery = "SELECT * FROM {{answers}} WHERE qid='{$fname['qid']}' and scale_id={$scale_id} and language='{$sDataEntryLanguage}' order by sortorder, answer"; $fresult = dbExecuteAssoc($fquery); $aDataentryoutput .= "<td>\n"; foreach ($fresult->readAll() as $frow) { $aDataentryoutput .= "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='{$frow['code']}'"; if ($idrow[$fname['fieldname']] == $frow['code']) { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />" . $frow['answer'] . " \n"; } //Add 'No Answer' $aDataentryoutput .= "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value=''"; if ($idrow[$fname['fieldname']] == '') { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />" . $clang->gT("No answer") . " \n"; $aDataentryoutput .= "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case ":": //ARRAY (Multi Flexi) (Numbers) $qidattributes = getQuestionAttributeValues($fname['qid']); if (trim($qidattributes['multiflexible_max']) != '' && trim($qidattributes['multiflexible_min']) == '') { $maxvalue = $qidattributes['multiflexible_max']; $minvalue = 1; } if (trim($qidattributes['multiflexible_min']) != '' && trim($qidattributes['multiflexible_max']) == '') { $minvalue = $qidattributes['multiflexible_min']; $maxvalue = $qidattributes['multiflexible_min'] + 10; } if (trim($qidattributes['multiflexible_min']) == '' && trim($qidattributes['multiflexible_max']) == '') { $minvalue = 1; $maxvalue = 10; } if (trim($qidattributes['multiflexible_min']) != '' && trim($qidattributes['multiflexible_max']) != '') { if ($qidattributes['multiflexible_min'] < $qidattributes['multiflexible_max']) { $minvalue = $qidattributes['multiflexible_min']; $maxvalue = $qidattributes['multiflexible_max']; } } if (trim($qidattributes['multiflexible_step']) != '') { $stepvalue = $qidattributes['multiflexible_step']; } else { $stepvalue = 1; } if ($qidattributes['multiflexible_checkbox'] != 0) { $minvalue = 0; $maxvalue = 1; $stepvalue = 1; } $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while (isset($fname['qid']) && $fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td>{$fname['subquestion1']}:{$fname['subquestion2']}</td>\n"; $aDataentryoutput .= "<td>\n"; if ($qidattributes['input_boxes'] != 0) { $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='"; if (!empty($idrow[$fname['fieldname']])) { $aDataentryoutput .= $idrow[$fname['fieldname']]; } $aDataentryoutput .= "' size=4 />"; } else { $aDataentryoutput .= "\t<select name='{$fname['fieldname']}'>\n"; $aDataentryoutput .= "<option value=''>...</option>\n"; for ($ii = $minvalue; $ii <= $maxvalue; $ii += $stepvalue) { $aDataentryoutput .= "<option value='{$ii}'"; if ($idrow[$fname['fieldname']] == $ii) { $aDataentryoutput .= " selected"; } $aDataentryoutput .= ">{$ii}</option>\n"; } } $aDataentryoutput .= "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case ";": //ARRAY (Multi Flexi) $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while (isset($fname['qid']) && $fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td>{$fname['subquestion1']}:{$fname['subquestion2']}</td>\n"; $aDataentryoutput .= "<td>\n"; $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='"; if (!empty($idrow[$fname['fieldname']])) { $aDataentryoutput .= $idrow[$fname['fieldname']]; } $aDataentryoutput .= "' /></td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; default: //This really only applies to tokens for non-private surveys $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='" . $idrow[$fname['fieldname']] . "' />\n"; break; } $aDataentryoutput .= "\t\t</td>\n </tr>\n"; } while ($fname = next($fnames)); } $aDataentryoutput .= "</table>\n" . "<p>\n"; $aData['sDataEntryLanguage'] = $sDataEntryLanguage; if (!hasSurveyPermission($surveyid, 'responses', 'update')) { // if you are not survey owner or super admin you cannot modify responses $aDataentryoutput .= "<p><input type='button' value='" . $clang->gT("Save") . "' disabled='disabled'/></p>\n"; } elseif ($subaction == "edit" && hasSurveyPermission($surveyid, 'responses', 'update')) { $aData['part'] = 'edit'; $aDataentryoutput .= $this->getController()->render('/admin/dataentry/edit', $aData, TRUE); } elseif ($subaction == "editsaved" && hasSurveyPermission($surveyid, 'responses', 'update')) { $aData['part'] = 'editsaved'; $aDataentryoutput .= $this->getController()->render('/admin/dataentry/edit', $aData, TRUE); } $aDataentryoutput .= "</form>\n"; $aViewUrls['output'] = $aDataentryoutput; $this->_renderWrappedTemplate('dataentry', $aViewUrls, $aData); } }
echo CHtml::checkBox('merchant_enabled_autho', $enabled == "yes" ? true : false, array('value' => "yes", 'class' => "icheck")); ?> </div> <div class="uk-form-row"> <label class="uk-form-label"><?php echo Yii::t("default", "Mode"); ?> </label> <?php echo CHtml::radioButton('merchant_mode_autho', $mode == "sandbox" ? true : false, array('value' => "sandbox", 'class' => "icheck")); ?> Sandbox <?php echo CHtml::radioButton('merchant_mode_autho', $mode == "live" ? true : false, array('value' => "live", 'class' => "icheck")); ?> Live </div> <h3><?php echo Yii::t("default", "Credentials"); ?> </h3> <div class="uk-form-row"> <label class="uk-form-label"><?php echo Yii::t("default", "API Login ID"); ?> </label>
/** * dataentry::editdata() * Edit dataentry. * @param mixed $subaction * @param mixed $id * @param mixed $surveyid * @param mixed $language * @return */ public function editdata($subaction, $id, $surveyid, $language = '') { if ($language == '') { $language = Survey::model()->findByPk($surveyid)->language; } $surveyid = sanitize_int($surveyid); $id = sanitize_int($id); $aViewUrls = array(); if (!isset($sDataEntryLanguage)) { $sDataEntryLanguage = Survey::model()->findByPk($surveyid)->language; } $surveyinfo = getSurveyInfo($surveyid); if (Permission::model()->hasSurveyPermission($surveyid, 'responses', 'update')) { $surveytable = "{{survey_" . $surveyid . '}}'; $aData['display']['menu_bars']['browse'] = gT("Data entry"); Yii::app()->loadHelper('database'); //FIRST LETS GET THE NAMES OF THE QUESTIONS AND MATCH THEM TO THE FIELD NAMES FOR THE DATABASE $fnquery = "SELECT * FROM {{questions}}, {{groups}} g, {{surveys}} WHERE\n {{questions}}.gid=g.gid AND\n {{questions}}.language = '{$sDataEntryLanguage}' AND g.language = '{$sDataEntryLanguage}' AND\n {{questions}}.sid={{surveys}}.sid AND {{questions}}.sid='{$surveyid}'\n order by group_order, question_order"; $fnresult = dbExecuteAssoc($fnquery); $fnresult = $fnresult->readAll(); $fncount = count($fnresult); $fnrows = array(); //Create an empty array in case FetchRow does not return any rows foreach ($fnresult as $fnrow) { $fnrows[] = $fnrow; $private = $fnrow['anonymized']; $datestamp = $fnrow['datestamp']; $ipaddr = $fnrow['ipaddr']; } // Get table output into array // Perform a case insensitive natural sort on group name then question title of a multidimensional array // $fnames = (Field Name in Survey Table, Short Title of Question, Question Type, Field Name, Question Code, Predetermined Answer if exist) $fnames['completed'] = array('fieldname' => "completed", 'question' => gT("Completed"), 'type' => 'completed'); $fnames = array_merge($fnames, createFieldMap($surveyid, 'full', false, false, $sDataEntryLanguage)); // Fix private if disallowed to view token if (!Permission::model()->hasSurveyPermission($surveyid, 'tokens', 'read')) { unset($fnames['token']); } $nfncount = count($fnames) - 1; //SHOW INDIVIDUAL RECORD if ($subaction == "edit" && Permission::model()->hasSurveyPermission($surveyid, 'responses', 'update')) { $idquery = "SELECT * FROM {$surveytable} WHERE id={$id}"; $idresult = dbExecuteAssoc($idquery) or safeDie("Couldn't get individual record<br />{$idquery}<br />"); foreach ($idresult->readAll() as $idrow) { $results[] = $idrow; } } elseif ($subaction == "editsaved" && Permission::model()->hasSurveyPermission($surveyid, 'responses', 'update')) { if (isset($_GET['public']) && $_GET['public'] == "true") { $password = md5(Yii::app()->request->getParam('accesscode')); } else { $password = Yii::app()->request->getParam('accesscode'); } $svresult = SavedControl::model()->findAllByAttributes(array('sid' => $surveyid, 'identifier' => Yii::app()->request->getParam('identifier'), 'access_code' => $password)); foreach ($svresult as $svrow) { $saver['email'] = $svrow['email']; $saver['scid'] = $svrow['scid']; $saver['ip'] = $svrow['ip']; } $svresult = SavedControl::model()->findAllByAttributes(array('scid' => $saver['scid'])); foreach ($svresult as $svrow) { $responses[$svrow['fieldname']] = $svrow['value']; } // while $fieldmap = createFieldMap($surveyid, 'full', false, false, getBaseLanguageFromSurveyID($surveyid)); foreach ($fieldmap as $fm) { if (isset($responses[$fm['fieldname']])) { $results1[$fm['fieldname']] = $responses[$fm['fieldname']]; } else { $results1[$fm['fieldname']] = ""; } } $results1['id'] = ""; $results1['datestamp'] = dateShift(date("Y-m-d H:i:s"), "Y-m-d H:i:s", Yii::app()->getConfig('timeadjust')); $results1['ipaddr'] = $saver['ip']; $results[] = $results1; } $aData = array('id' => $id, 'surveyid' => $surveyid, 'subaction' => $subaction, 'part' => 'header'); $aViewUrls[] = 'dataentry_header_view'; $aViewUrls[] = 'edit'; $highlight = FALSE; unset($fnames['lastpage']); // unset timings foreach ($fnames as $fname) { if ($fname['type'] == "interview_time" || $fname['type'] == "page_time" || $fname['type'] == "answer_time") { unset($fnames[$fname['fieldname']]); $nfncount--; } } $aDataentryoutput = ''; foreach ($results as $idrow) { $fname = reset($fnames); do { if (isset($idrow[$fname['fieldname']])) { $answer = $idrow[$fname['fieldname']]; } $question = $fname['question']; $aDataentryoutput .= "\t<tr"; if ($highlight) { $aDataentryoutput .= " class='odd'"; } else { $aDataentryoutput .= " class='even'"; } $highlight = !$highlight; $aDataentryoutput .= ">\n" . "<td>" . "\n"; $aDataentryoutput .= stripJavaScript($question); $aDataentryoutput .= "</td>\n" . "<td>\n"; //$aDataentryoutput .= "\t-={$fname[3]}=-"; //Debugging info if (isset($fname['qid']) && isset($fname['type'])) { $qidattributes = getQuestionAttributeValues($fname['qid']); } switch ($fname['type']) { case "completed": // First compute the submitdate if ($private == "Y") { // In case of anonymized responses survey with no datestamp // then the the answer submitdate gets a conventional timestamp // 1st Jan 1980 $mysubmitdate = date("Y-m-d H:i", mktime(0, 0, 0, 1, 1, 1980)); // Note that the completed field only supports 17 chars (so no seconds!) } else { $mysubmitdate = dateShift(date("Y-m-d H:i:s"), "Y-m-d H:i", Yii::app()->getConfig('timeadjust')); // Note that the completed field only supports 17 chars (so no seconds!) } $completedate = empty($idrow['submitdate']) ? $mysubmitdate : $idrow['submitdate']; $selected = empty($idrow['submitdate']) ? 'N' : $completedate; $select_options = array('N' => gT('No', 'unescaped'), $completedate => gT('Yes', 'unescaped')); $aDataentryoutput .= CHtml::dropDownList('completed', $selected, $select_options, array('class' => 'form-control')); break; case "X": //Boilerplate question $aDataentryoutput .= ""; break; case "Q": case "K": $aDataentryoutput .= $fname['subquestion'] . ' '; $aDataentryoutput .= CHtml::textField($fname['fieldname'], $idrow[$fname['fieldname']]); break; case "id": $aDataentryoutput .= CHtml::tag('span', array('style' => 'font-weight: bold;'), ' ' . $idrow[$fname['fieldname']]); break; case "5": //5 POINT CHOICE radio-buttons for ($i = 1; $i <= 5; $i++) { $checked = FALSE; if ($idrow[$fname['fieldname']] == $i) { $checked = TRUE; } $aDataentryoutput .= '<span class="five-point">'; $aDataentryoutput .= CHtml::radioButton($fname['fieldname'], $checked, array('class' => '', 'value' => $i, 'id' => '5-point-choice-' . $i)); $aDataentryoutput .= '<label for="5-point-choice-' . $i . '">' . $i . '</label>'; $aDataentryoutput .= '</span> '; } break; case "D": //DATE $thisdate = ''; $dateformatdetails = getDateFormatDataForQID($qidattributes, $surveyid); if ($idrow[$fname['fieldname']] != '') { $datetimeobj = new Date_Time_Converter($idrow[$fname['fieldname']], "Y-m-d H:i:s"); $thisdate = $datetimeobj->convert($dateformatdetails['phpdate']); } else { $thisdate = ''; } if (canShowDatePicker($dateformatdetails)) { $goodchars = str_replace(array("m", "d", "y", "H", "M"), "", $dateformatdetails['dateformat']); $goodchars = "0123456789" . $goodchars[0]; $aDataentryoutput .= CHtml::textField($fname['fieldname'], $thisdate, array('class' => 'popupdate', 'size' => '12', 'onkeypress' => 'return goodchars(event,\'' . $goodchars . '\')')); $aDataentryoutput .= CHtml::hiddenField('dateformat' . $fname['fieldname'], $dateformatdetails['jsdate'], array('id' => "dateformat{$fname['fieldname']}")); // $aDataentryoutput .= "\t<input type='text' class='popupdate' size='12' name='{$fname['fieldname']}' value='{$thisdate}' onkeypress=\"return goodchars(event,'".$goodchars."')\"/>\n"; // $aDataentryoutput .= "\t<input type='hidden' name='dateformat{$fname['fieldname']}' id='dateformat{$fname['fieldname']}' value='{$dateformatdetails['jsdate']}' />\n"; } else { $aDataentryoutput .= CHtml::textField($fname['fieldname'], $thisdate); } break; case "G": //GENDER drop-down list $select_options = array('' => gT("Please choose") . '...', 'F' => gT("Female"), 'M' => gT("Male")); $aDataentryoutput .= CHtml::listBox($fname['fieldname'], $idrow[$fname['fieldname']], $select_options); break; case "L": //LIST drop-down //LIST drop-down case "!": //List (Radio) $qidattributes = getQuestionAttributeValues($fname['qid']); if (isset($qidattributes['category_separator']) && trim($qidattributes['category_separator']) != '') { $optCategorySeparator = $qidattributes['category_separator']; } else { unset($optCategorySeparator); } if (substr($fname['fieldname'], -5) == "other") { $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' />\n"; } else { $lquery = "SELECT * FROM {{answers}} WHERE qid={$fname['qid']} AND language = '{$sDataEntryLanguage}' ORDER BY sortorder, answer"; $lresult = dbExecuteAssoc($lquery); $aDataentryoutput .= "\t<select name='{$fname['fieldname']}' class='form-control'>\n" . "<option value=''"; if ($idrow[$fname['fieldname']] == "") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . gT("Please choose") . "..</option>\n"; if (!isset($optCategorySeparator)) { foreach ($lresult->readAll() as $llrow) { $aDataentryoutput .= "<option value='{$llrow['code']}'"; if ($idrow[$fname['fieldname']] == $llrow['code']) { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">{$llrow['answer']}</option>\n"; } } else { $defaultopts = array(); $optgroups = array(); foreach ($lresult->readAll() as $llrow) { list($categorytext, $answertext) = explode($optCategorySeparator, $llrow['answer']); if ($categorytext == '') { $defaultopts[] = array('code' => $llrow['code'], 'answer' => $answertext); } else { $optgroups[$categorytext][] = array('code' => $llrow['code'], 'answer' => $answertext); } } foreach ($optgroups as $categoryname => $optionlistarray) { $aDataentryoutput .= "<optgroup class=\"dropdowncategory\" label=\"" . $categoryname . "\">\n"; foreach ($optionlistarray as $optionarray) { $aDataentryoutput .= "\t<option value='{$optionarray['code']}'"; if ($idrow[$fname['fieldname']] == $optionarray['code']) { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">{$optionarray['answer']}</option>\n"; } $aDataentryoutput .= "</optgroup>\n"; } foreach ($defaultopts as $optionarray) { $aDataentryoutput .= "<option value='{$optionarray['code']}'"; if ($idrow[$fname['fieldname']] == $optionarray['code']) { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">{$optionarray['answer']}</option>\n"; } } $oquery = "SELECT other FROM {{questions}} WHERE qid={$fname['qid']} AND {{questions}}.language = '{$sDataEntryLanguage}'"; $oresult = dbExecuteAssoc($oquery) or safeDie("Couldn't get other for list question<br />" . $oquery . "<br />"); foreach ($oresult->readAll() as $orow) { $fother = $orow['other']; } if ($fother == "Y") { $aDataentryoutput .= "<option value='-oth-'"; if ($idrow[$fname['fieldname']] == "-oth-") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . gT("Other") . "</option>\n"; } $aDataentryoutput .= "\t</select>\n"; } break; case "O": //LIST WITH COMMENT drop-down/radio-button list + textarea $lquery = "SELECT * FROM {{answers}} WHERE qid={$fname['qid']} AND language = '{$sDataEntryLanguage}' ORDER BY sortorder, answer"; $lresult = dbExecuteAssoc($lquery); $aDataentryoutput .= "\t<select name='{$fname['fieldname']}' class='form-control'>\n" . "<option value=''"; if ($idrow[$fname['fieldname']] == "") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . gT("Please choose") . "..</option>\n"; foreach ($lresult->readAll() as $llrow) { $aDataentryoutput .= "<option value='{$llrow['code']}'"; if ($idrow[$fname['fieldname']] == $llrow['code']) { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">{$llrow['answer']}</option>\n"; } $fname = next($fnames); $aDataentryoutput .= "\t</select>\n" . "\t<br />\n" . "\t<textarea cols='45' rows='5' name='{$fname['fieldname']}'>" . htmlspecialchars($idrow[$fname['fieldname']]) . "</textarea>\n"; break; case "R": //RANKING TYPE QUESTION $thisqid = $fname['qid']; $currentvalues = array(); $myfname = $fname['sid'] . 'X' . $fname['gid'] . 'X' . $fname['qid']; $aDataentryoutput .= '<div id="question' . $thisqid . '" class="ranking-answers"><ul class="answers-list">'; while (isset($fname['type']) && $fname['type'] == "R" && $fname['qid'] == $thisqid) { //Let's get all the existing values into an array if ($idrow[$fname['fieldname']]) { $currentvalues[] = $idrow[$fname['fieldname']]; } $fname = next($fnames); } $ansquery = "SELECT * FROM {{answers}} WHERE language = '{$sDataEntryLanguage}' AND qid={$thisqid} ORDER BY sortorder, answer"; $ansresult = Yii::app()->db->createCommand($ansquery)->query()->readAll(); //Checked $anscount = count($ansresult); $answers = array(); foreach ($ansresult as $ansrow) { $answers[] = $ansrow; } for ($i = 1; $i <= $anscount; $i++) { $aDataentryoutput .= "\n<li class=\"select-item\">"; $aDataentryoutput .= "<label for=\"answer{$myfname}{$i}\">"; if ($i == 1) { $aDataentryoutput .= gT('First choice'); } else { $aDataentryoutput .= gT('Next choice'); } $aDataentryoutput .= "</label>"; $aDataentryoutput .= "<select name=\"{$myfname}{$i}\" id=\"answer{$myfname}{$i}\" class='form-control'>\n"; !isset($currentvalues[$i - 1]) ? $selected = " selected=\"selected\"" : ($selected = ""); $aDataentryoutput .= "\t<option value=\"\" {$selected}>" . gT('None') . "</option>\n"; foreach ($answers as $ansrow) { isset($currentvalues[$i - 1]) && $currentvalues[$i - 1] == $ansrow['code'] ? $selected = " selected=\"selected\"" : ($selected = ""); $aDataentryoutput .= "\t<option value=\"" . $ansrow['code'] . "\" {$selected}>" . flattenText($ansrow['answer']) . "</option>\n"; } $aDataentryoutput .= "</select\n"; $aDataentryoutput .= "</li>"; } $aDataentryoutput .= '</ul>'; $aDataentryoutput .= "<div style='display:none' id='ranking-{$thisqid}-maxans'>{$anscount}</div>" . "<div style='display:none' id='ranking-{$thisqid}-minans'>0</div>" . "<div style='display:none' id='ranking-{$thisqid}-name'>javatbd{$myfname}</div>"; $aDataentryoutput .= "<div style=\"display:none\">"; foreach ($answers as $ansrow) { $aDataentryoutput .= "<div id=\"htmlblock-{$thisqid}-{$ansrow['code']}\">{$ansrow['answer']}</div>"; } $aDataentryoutput .= "</div>"; $aDataentryoutput .= '</div>'; App()->getClientScript()->registerPackage('jquery-actual'); App()->getClientScript()->registerScriptFile(App()->getAssetManager()->publish(SCRIPT_PATH . 'ranking.js')); App()->getClientScript()->registerCssFile(App()->getAssetManager()->publish(dirname(Yii::app()->request->scriptFile) . '/styles-public/ranking.css')); $aDataentryoutput .= "<script type='text/javascript'>\n" . " <!--\n" . "var aRankingTranslations = {\n choicetitle: '" . gT("Your Choices", 'js') . "',\n ranktitle: '" . gT("Your Ranking", 'js') . "'\n };\n" . "function checkconditions(){};" . "\$(function() {" . " doDragDropRank({$thisqid},0,true,true);\n" . "});\n" . " -->\n" . "</script>\n"; unset($answers); $fname = prev($fnames); break; case "M": //Multiple choice checkbox $qidattributes = getQuestionAttributeValues($fname['qid']); if (trim($qidattributes['display_columns']) != '') { $dcols = $qidattributes['display_columns']; } else { $dcols = 0; } // while ($fname[3] == "M" && $question != "" && $question == $fname['type']) $thisqid = $fname['qid']; while ($fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); //$aDataentryoutput .= substr($fname['fieldname'], strlen($fname['fieldname'])-5, 5)."<br />\n"; if (substr($fname['fieldname'], -5) == "other") { $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' />\n"; } else { $aDataentryoutput .= "<div class='checkbox'>\t<input type='checkbox' class='checkboxbtn' name='{$fname['fieldname']}' id='{$fname['fieldname']}' value='Y'"; if ($idrow[$fname['fieldname']] == "Y") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " /><label for='{$fname['fieldname']}'>{$fname['subquestion']}</label></div>\n"; } $fname = next($fnames); } $fname = prev($fnames); break; case "I": //Language Switch $lquery = "SELECT * FROM {{answers}} WHERE qid={$fname['qid']} AND language = '{$sDataEntryLanguage}' ORDER BY sortorder, answer"; $lresult = dbExecuteAssoc($lquery); $slangs = Survey::model()->findByPk($surveyid)->additionalLanguages; $baselang = Survey::model()->findByPk($surveyid)->language; array_unshift($slangs, $baselang); $aDataentryoutput .= "<select name='{$fname['fieldname']}' class='form-control'>\n"; $aDataentryoutput .= "<option value=''"; if ($idrow[$fname['fieldname']] == "") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . gT("Please choose") . "..</option>\n"; foreach ($slangs as $lang) { $aDataentryoutput .= "<option value='{$lang}'"; if ($lang == $idrow[$fname['fieldname']]) { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . getLanguageNameFromCode($lang, false) . "</option>\n"; } $aDataentryoutput .= "</select>"; break; case "P": //Multiple choice with comments checkbox + text $aDataentryoutput .= "<table>\n"; while (isset($fname) && $fname['type'] == "P") { $thefieldname = $fname['fieldname']; if (substr($thefieldname, -7) == "comment") { $aDataentryoutput .= "<td><input type='text' name='{$fname['fieldname']}' size='50' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' /></td>\n" . "\t</tr>\n"; } elseif (substr($fname['fieldname'], -5) == "other") { $aDataentryoutput .= "\t<tr>\n" . "<td>\n" . "\t<input type='text' name='{$fname['fieldname']}' size='30' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' />\n" . "</td>\n" . "<td>\n"; $fname = next($fnames); $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' size='50' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' />\n" . "</td>\n" . "\t</tr>\n"; } else { $aDataentryoutput .= "\t<tr>\n" . "<td><div class='checkbox'><input type='checkbox' class='checkboxbtn' name=\"{$fname['fieldname']}\" id=\"{$fname['fieldname']}\" value='Y'"; if ($idrow[$fname['fieldname']] == "Y") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " /><label for=\"{$fname['fieldname']}\">{$fname['subquestion']}</label></div></td>\n"; } $fname = next($fnames); } $aDataentryoutput .= "</table>\n"; $fname = prev($fnames); break; case "|": //FILE UPLOAD $aDataentryoutput .= "<table>\n"; if ($fname['aid'] !== 'filecount' && isset($idrow[$fname['fieldname'] . '_filecount']) && $idrow[$fname['fieldname'] . '_filecount'] > 0) { //file metadata $metadata = json_decode($idrow[$fname['fieldname']], true); $qAttributes = getQuestionAttributeValues($fname['qid']); for ($i = 0; $i < $qAttributes['max_num_of_files'] && isset($metadata[$i]); $i++) { if ($qAttributes['show_title']) { $aDataentryoutput .= '<tr><td>Title </td><td><input type="text" class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_title_' . $i . '" name="title" size=50 value="' . htmlspecialchars($metadata[$i]["title"]) . '" /></td></tr>'; } if ($qAttributes['show_comment']) { $aDataentryoutput .= '<tr><td >Comment </td><td><input type="text" class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_comment_' . $i . '" name="comment" size=50 value="' . htmlspecialchars($metadata[$i]["comment"]) . '" /></td></tr>'; } $aDataentryoutput .= '<tr><td> File name</td><td><input class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_name_' . $i . '" name="name" size=50 value="' . htmlspecialchars(rawurldecode($metadata[$i]["name"])) . '" /></td></tr>' . '<tr><td></td><td><input type="hidden" class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_size_' . $i . '" name="size" size=50 value="' . htmlspecialchars($metadata[$i]["size"]) . '" /></td></tr>' . '<tr><td></td><td><input type="hidden" class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_ext_' . $i . '" name="ext" size=50 value="' . htmlspecialchars($metadata[$i]["ext"]) . '" /></td></tr>' . '<tr><td></td><td><input type="hidden" class="' . $fname['fieldname'] . '" id="' . $fname['fieldname'] . '_filename_' . $i . '" name="filename" size=50 value="' . htmlspecialchars(rawurldecode($metadata[$i]["filename"])) . '" /></td></tr>'; } $aDataentryoutput .= '<tr><td></td><td><input type="hidden" id="' . $fname['fieldname'] . '" name="' . $fname['fieldname'] . '" size=50 value="' . htmlspecialchars($idrow[$fname['fieldname']]) . '" /></td></tr>'; $aDataentryoutput .= '</table>'; $aDataentryoutput .= '<script type="text/javascript"> $(function() { $(".' . $fname['fieldname'] . '").keyup(function() { var filecount = $("#' . $fname['fieldname'] . '_filecount").val(); var jsonstr = "["; var i; for (i = 0; i < filecount; i++) { if (i != 0) jsonstr += ","; jsonstr += \'{"title":"\'+$("#' . $fname['fieldname'] . '_title_"+i).val()+\'",\'; jsonstr += \'"comment":"\'+$("#' . $fname['fieldname'] . '_comment_"+i).val()+\'",\'; jsonstr += \'"size":"\'+$("#' . $fname['fieldname'] . '_size_"+i).val()+\'",\'; jsonstr += \'"ext":"\'+$("#' . $fname['fieldname'] . '_ext_"+i).val()+\'",\'; jsonstr += \'"filename":"\'+$("#' . $fname['fieldname'] . '_filename_"+i).val()+\'",\'; jsonstr += \'"name":"\'+encodeURIComponent($("#' . $fname['fieldname'] . '_name_"+i).val())+\'"}\'; } jsonstr += "]"; $("#' . $fname['fieldname'] . '").val(jsonstr); }); }); </script>'; } else { //file count $aDataentryoutput .= '<input readonly id="' . $fname['fieldname'] . '" name="' . $fname['fieldname'] . '" value ="' . htmlspecialchars($idrow[$fname['fieldname']]) . '" /></td></table>'; } break; case "N": //NUMERICAL TEXT $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='{$idrow[$fname['fieldname']]}' " . "onkeypress=\"return goodchars(event,'0123456789.,')\" />\n"; break; case "S": //SHORT FREE TEXT $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "' />\n"; break; case "T": //LONG FREE TEXT $aDataentryoutput .= "\t<textarea rows='5' cols='45' name='{$fname['fieldname']}'>" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "</textarea>\n"; break; case "U": //HUGE FREE TEXT $aDataentryoutput .= "\t<textarea rows='50' cols='70' name='{$fname['fieldname']}'>" . htmlspecialchars($idrow[$fname['fieldname']], ENT_QUOTES) . "</textarea>\n"; break; case "Y": //YES/NO radio-buttons $aDataentryoutput .= "\t<select name='{$fname['fieldname']}' class='form-control'>\n" . "<option value=''"; if ($idrow[$fname['fieldname']] == "") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . gT("Please choose") . "..</option>\n" . "<option value='Y'"; if ($idrow[$fname['fieldname']] == "Y") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . gT("Yes") . "</option>\n" . "<option value='N'"; if ($idrow[$fname['fieldname']] == "N") { $aDataentryoutput .= " selected='selected'"; } $aDataentryoutput .= ">" . gT("No") . "</option>\n" . "\t</select>\n"; break; case "A": //ARRAY (5 POINT CHOICE) radio-buttons $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while ($fname['qid'] == $thisqid) { $aDataentryoutput .= "\t<tr>\n" . "<td align='right'>{$fname['subquestion']}</td>\n" . "<td>\n"; for ($j = 1; $j <= 5; $j++) { $aDataentryoutput .= '<span class="five-point">'; $aDataentryoutput .= "\t<input type='radio' class='' name='{$fname['fieldname']}' id='5-point-radio-{$fname['fieldname']}' value='{$j}'"; if ($idrow[$fname['fieldname']] == $j) { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " /><label for='5-point-radio-{$fname['fieldname']}'>{$j}</label> \n"; $aDataentryoutput .= '</span>'; } $aDataentryoutput .= "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $aDataentryoutput .= "</table>\n"; $fname = prev($fnames); break; case "B": //ARRAY (10 POINT CHOICE) radio-buttons $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while ($fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td align='right'>{$fname['subquestion']}</td>\n" . "<td>\n"; for ($j = 1; $j <= 10; $j++) { $aDataentryoutput .= '<span class="ten-point">'; $aDataentryoutput .= "\t<input type='radio' class='' name='{$fname['fieldname']}' id='ten-point-{$fname['fieldname']}-{$j}' value='{$j}'"; if ($idrow[$fname['fieldname']] == $j) { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " /><label for='ten-point-{$fname['fieldname']}-{$j}'>{$j}</label> \n"; $aDataentryoutput .= '</span>'; } $aDataentryoutput .= "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case "C": //ARRAY (YES/UNCERTAIN/NO) radio-buttons $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while ($fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td align='right'>{$fname['subquestion']}</td>\n" . "<td>\n" . "\t<input type='radio' class='' name='{$fname['fieldname']}' value='Y'"; if ($idrow[$fname['fieldname']] == "Y") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />" . gT("Yes") . " \n" . "\t<input type='radio' class='' name='{$fname['fieldname']}' value='U'"; if ($idrow[$fname['fieldname']] == "U") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />" . gT("Uncertain") . " \n" . "\t<input type='radio' class='' name='{$fname['fieldname']}' value='N'"; if ($idrow[$fname['fieldname']] == "N") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />" . gT("No") . " \n" . "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case "E": //ARRAY (Increase/Same/Decrease) radio-buttons $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while ($fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td align='right'>{$fname['subquestion']}</td>\n" . "<td>\n" . "\t<input type='radio' class='' name='{$fname['fieldname']}' value='I'"; if ($idrow[$fname['fieldname']] == "I") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />Increase \n" . "\t<input type='radio' class='' name='{$fname['fieldname']}' value='S'"; if ($idrow[$fname['fieldname']] == "I") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />Same \n" . "\t<input type='radio' class='' name='{$fname['fieldname']}' value='D'"; if ($idrow[$fname['fieldname']] == "D") { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />Decrease \n" . "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case "F": //ARRAY (Flexible Labels) //ARRAY (Flexible Labels) case "H": case "1": $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while (isset($fname['qid']) && $fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td>{$fname['subquestion']}"; if (isset($fname['scale'])) { $aDataentryoutput .= " (" . $fname['scale'] . ')'; } $aDataentryoutput .= "</td>\n"; $scale_id = 0; if (isset($fname['scale_id'])) { $scale_id = $fname['scale_id']; } $fquery = "SELECT * FROM {{answers}} WHERE qid='{$fname['qid']}' and scale_id={$scale_id} and language='{$sDataEntryLanguage}' order by sortorder, answer"; $fresult = dbExecuteAssoc($fquery); $aDataentryoutput .= "<td>\n"; foreach ($fresult->readAll() as $frow) { $aDataentryoutput .= "\t<input type='radio' class='' name='{$fname['fieldname']}' value='{$frow['code']}'"; if ($idrow[$fname['fieldname']] == $frow['code']) { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />" . $frow['answer'] . " \n"; } //Add 'No Answer' $aDataentryoutput .= "\t<input type='radio' class='' name='{$fname['fieldname']}' value=''"; if ($idrow[$fname['fieldname']] == '') { $aDataentryoutput .= " checked"; } $aDataentryoutput .= " />" . gT("No answer") . " \n"; $aDataentryoutput .= "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case ":": //ARRAY (Multi Flexi) (Numbers) $qidattributes = getQuestionAttributeValues($fname['qid']); if (trim($qidattributes['multiflexible_max']) != '' && trim($qidattributes['multiflexible_min']) == '') { $maxvalue = $qidattributes['multiflexible_max']; $minvalue = 1; } if (trim($qidattributes['multiflexible_min']) != '' && trim($qidattributes['multiflexible_max']) == '') { $minvalue = $qidattributes['multiflexible_min']; $maxvalue = $qidattributes['multiflexible_min'] + 10; } if (trim($qidattributes['multiflexible_min']) == '' && trim($qidattributes['multiflexible_max']) == '') { $minvalue = 1; $maxvalue = 10; } if (trim($qidattributes['multiflexible_min']) != '' && trim($qidattributes['multiflexible_max']) != '') { if ($qidattributes['multiflexible_min'] < $qidattributes['multiflexible_max']) { $minvalue = $qidattributes['multiflexible_min']; $maxvalue = $qidattributes['multiflexible_max']; } } if (trim($qidattributes['multiflexible_step']) != '') { $stepvalue = $qidattributes['multiflexible_step']; } else { $stepvalue = 1; } if ($qidattributes['multiflexible_checkbox'] != 0) { $minvalue = 0; $maxvalue = 1; $stepvalue = 1; } $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while (isset($fname['qid']) && $fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td>{$fname['subquestion1']}:{$fname['subquestion2']}</td>\n"; $aDataentryoutput .= "<td>\n"; if ($qidattributes['input_boxes'] != 0) { $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='"; if (!empty($idrow[$fname['fieldname']])) { $aDataentryoutput .= $idrow[$fname['fieldname']]; } $aDataentryoutput .= "' size=4 />"; } else { $aDataentryoutput .= "\t<select name='{$fname['fieldname']}' class='form-control'>\n"; $aDataentryoutput .= "<option value=''>...</option>\n"; for ($ii = $minvalue; $ii <= $maxvalue; $ii += $stepvalue) { $aDataentryoutput .= "<option value='{$ii}'"; if ($idrow[$fname['fieldname']] == $ii) { $aDataentryoutput .= " selected"; } $aDataentryoutput .= ">{$ii}</option>\n"; } } $aDataentryoutput .= "</td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case ";": //ARRAY (Multi Flexi) $aDataentryoutput .= "<table>\n"; $thisqid = $fname['qid']; while (isset($fname['qid']) && $fname['qid'] == $thisqid) { $fieldn = substr($fname['fieldname'], 0, strlen($fname['fieldname'])); $aDataentryoutput .= "\t<tr>\n" . "<td>{$fname['subquestion1']}:{$fname['subquestion2']}</td>\n"; $aDataentryoutput .= "<td>\n"; $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='"; if (!empty($idrow[$fname['fieldname']])) { $aDataentryoutput .= $idrow[$fname['fieldname']]; } $aDataentryoutput .= "' /></td>\n" . "\t</tr>\n"; $fname = next($fnames); } $fname = prev($fnames); $aDataentryoutput .= "</table>\n"; break; case "token": if (Permission::model()->hasSurveyPermission($surveyid, 'tokens', 'update')) { $aDataentryoutput .= CHtml::textField($fname['fieldname'], $idrow[$fname['fieldname']]); } else { $aDataentryoutput .= CHtml::textField($fname['fieldname'], $idrow[$fname['fieldname']], array('disabled' => 'disabled')); } break; case "submitdate": case "startlanguage": default: $aDataentryoutput .= "\t<input type='text' name='{$fname['fieldname']}' value='" . $idrow[$fname['fieldname']] . "' />\n"; break; } $aDataentryoutput .= " </td>\n </tr>\n"; } while ($fname = next($fnames)); } $aDataentryoutput .= "</table>\n" . "<p>\n"; $aData['sDataEntryLanguage'] = $sDataEntryLanguage; if (!Permission::model()->hasSurveyPermission($surveyid, 'responses', 'update')) { // if you are not survey owner or super admin you cannot modify responses $aDataentryoutput .= "<p><input type='button' value='" . gT("Save") . "' disabled='disabled'/></p>\n"; } elseif ($subaction == "edit" && Permission::model()->hasSurveyPermission($surveyid, 'responses', 'update')) { $aData['part'] = 'edit'; $aDataentryoutput .= $this->getController()->renderPartial('/admin/dataentry/edit', $aData, TRUE); } elseif ($subaction == "editsaved" && Permission::model()->hasSurveyPermission($surveyid, 'responses', 'update')) { $aData['part'] = 'editsaved'; $aDataentryoutput .= $this->getController()->renderPartial('/admin/dataentry/edit', $aData, TRUE); } $aDataentryoutput .= "</form>\n"; $aViewUrls['output'] = $aDataentryoutput; $aData['sidemenu']['state'] = false; $aData['menu']['edition'] = true; $aData['menu']['save'] = true; $aData['menu']['close'] = true; //$aData['menu']['savebutton'] = 'frmeditgroup'; $this->_renderWrappedTemplate('dataentry', $aViewUrls, $aData); } }
echo CHtml::checkBox($complectation->name, false, array('class' => 'forcount', 'title' => $complectation->outCorrSymbol() . $complectation->outPriceCorrectionCounted(1, '{price}', 0))); if ($complectation->correction_type > 0) { echo ' (' . $complectation->outCorrSymbol() . ' ' . $complectation->outPriceCorrectionCounted(1, '{price}', 0, ',', ' ') . 'р.)'; } } else { $arrayValueList = $complectation->arrayValuesForList(); if (isset($complectation->hide_notused) && $complectation->hide_notused) { $empty = null; } else { $empty = 'Не выбрано'; } if (isset($complectation->display_type) && $complectation->display_type == 1) { echo CHtml::tag('span'); $select = true; foreach ($arrayValueList['values'] as $key => $value) { echo CHtml::radioButton($complectation->name, $select, array('id' => $complectation->name . $key, 'class' => 'forcount', 'title' => $arrayValueList['options'][$key]['title'], 'value' => $key)); //'options'=>$arrayValueList['options'], 'empty'=>$empty)); echo CHtml::label($value, $complectation->name . $key); echo '<br/>'; $select = false; } } else { echo CHtml::dropDownList($complectation->name, false, $arrayValueList['values'], array('class' => 'forcount', 'options' => $arrayValueList['options'])); } } ?> </div> </div> <?php }
?> <?php // echo Yii::t('app', 'Action'); // print_r(Awecms::getAllActions()); ?> <!--<br/>--> <?php if (Yii::app()->hasModule('page')) { echo CHtml::radioButton('MenuItem[type]', $model->type == 'content', array('value' => 'content', 'id' => 'radio_content')); echo Yii::t('app', 'Content') . ' '; echo CHtml::dropDownList('MenuItem[content]', $model->link, CHtml::listData(Page::model()->findAll(), 'path', 'title'), array('onfocus' => 'js:$("#radio_content").attr("checked", "checked");')); } ?> <br/> <?php echo CHtml::radioButton('MenuItem[type]', $model->type == 'url', array('value' => 'url', 'id' => 'radio_url')); ?> <?php echo Yii::t('app', 'Link') . ' '; ?> <?php echo Chtml::textField('MenuItem[url]', $model->link, array('size' => 60, 'onfocus' => 'js:$("#radio_url").attr("checked", "checked");')); ?> <?php echo $form->error($model, 'link'); ?> <br/> <p class="hint"> /item points to base_url/item, //item points to root_of_server/item, item creates link relative to dynamic user location, URLs rendered as is. </p>
/** * Renders the typeahead field */ public function renderField() { list($name, $id) = $this->resolveNameID(); TbArray::defaultValue('id', $id, $this->htmlOptions); TbArray::defaultValue('name', $name, $this->htmlOptions); if ($this->hasModel()) { echo $this->inputType == 'radio' ? CHtml::activeRadioButton($this->model, $this->attribute, $this->htmlOptions) : CHtml::activeCheckBox($this->model, $this->attribute, $this->htmlOptions); } else { echo $this->inputType == 'radio' ? CHtml::radioButton($this->name, $this->value, $this->htmlOptions) : CHtml::checkBox($this->name, $this->value, $this->htmlOptions); } }
public function run() { // here render procedures echo CHtml::beginForm($this->action, $this->method, array('id' => $this->id, 'enctype' => $this->enctype, 'target' => $this->target)); // you better create a function but // for the sake of the example... foreach ($this->attributes as $attr) { // here we can actually say i // this is very simple but you get the idea echo CHtml::label($attr['label'], $attr['name']); if ($attr['type'] == 'text') { echo CHtml::textField($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['value'], $attr['htmlOptions']); } else { if ($attr['type'] == 'textarea') { echo CHtml::textArea($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['value'], $attr['htmlOptions']); } else { if ($attr['type'] == 'password') { echo CHtml::passwordField($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['value'], $attr['htmlOptions']); } else { if ($attr['type'] == 'checkbox') { echo CHtml::checkBox($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['items'], $attr['htmlOptions']); } else { if ($attr['type'] == 'checkboxlist') { echo CHtml::checkBoxList($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['value'], $attr['items'], $attr['htmlOptions']); } else { if ($attr['type'] == 'date') { echo CHtml::dateField($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['value'], $attr['htmlOptions']); } else { if ($attr['type'] == 'dropdownlist') { echo CHtml::dropDownList($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['value'], $attr['items'], $attr['htmlOptions']); } else { if ($attr['type'] == 'file') { echo CHtml::fileField($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['value'], $attr['items'], $attr['htmlOptions']); } else { if ($attr['type'] == 'hidden') { echo CHtml::hiddenField($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['value'], $attr['items'], $attr['htmlOptions']); } else { if ($attr['type'] == 'radio') { echo CHtml::radioButton($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['items'], $attr['htmlOptions']); } else { if ($attr['type'] == 'radiolist') { echo CHtml::radioButtonList($this->model_name . '[' . $this->category . ']' . '[' . $attr['name'] . ']', $attr['value'], $attr['items'], $attr['htmlOptions']); } } } } } } } } } } } // do more here } echo "<br/><br/><div class='row-fluid'>"; echo CHtml::submitButton($this->submit['label'], $this->submit['options']); echo "</div>"; echo CHtml::endForm(); }