Exemplo n.º 1
0
    public function run()
    {
        $type = DataType::getInputType($this->column->dbType);
        $this->htmlOptions += $this->fixedHtmlOptions[$type];
        $column = $this->column->name;
        $name = isset($this->htmlOptions['name']) ? $this->htmlOptions['name'] : 'Row[' . $column . ']';
        switch ($type) {
            case 'number':
                echo CHtml::activeTextField($this->row, $column, $this->htmlOptions);
                break;
            case 'select':
                echo CHtml::activeDropDownList($this->row, $column, $this->getEnumValues(), $this->htmlOptions);
                break;
            case 'select-multiple':
                #echo CHtml::activeListBox($this->row, $column, $this->getSetValues(), $this->htmlOptions);
                echo CHtml::listBox($name, $this->row->getAttributeAsArray($column), $this->getSetValues(), $this->htmlOptions);
                break;
            case 'text':
                echo CHtml::activeTextArea($this->row, $column, $this->htmlOptions);
                break;
            case 'file':
                echo '<script type="text/javascript">
					$(document).ready(function() {
						$("# echo CHtml::$idPrefix; ?>").submit(function() {
							alert("ok1");
							
						});
					});
					</script>';
                echo CHtml::activeFileField($this->row, $column, $this->htmlOptions);
                break;
            case 'date':
                $this->SetDateTimeHtmlOptions($column);
                echo CHtml::activeTextField($this->row, $column, $this->htmlOptions);
                echo '<script type="text/javascript">
						$(document).ready(function() {
							$("#' . $this->htmlOptions['id'] . '").datepicker({showOn: "button", dateFormat: "yy-mm-dd", buttonImage: "' . ICONPATH . '/16/calendar.png' . '", buttonImageOnly: true, buttonText: "' . Yii::t('core', 'showCalendar') . '"});
						});
						</script>';
                break;
            case 'datetime':
                $this->SetDateTimeHtmlOptions($column);
                echo CHtml::activeTextField($this->row, $column, $this->htmlOptions);
                echo '<script type="text/javascript">
						$(document).ready(function() {
							now = new Date();
							$("#' . $this->htmlOptions['id'] . '").datepicker({showOn: "button", dateFormat: "yy-mm-dd " + now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds(), buttonImage: "' . ICONPATH . '/16/calendar.png' . '", buttonImageOnly: true, buttonText: "' . Yii::t('core', 'showCalendar') . '"});
						});
						</script>';
                break;
            default:
                echo CHtml::activeTextField($this->row, $column, $this->htmlOptions);
                break;
        }
    }
Exemplo n.º 2
0
echo '</div>';
echo CHtml::endForm();
?>

<?php 
$this->endWidget();
?>

    </div>
    <div class="span6">
    <?php 
$this->beginWidget('zii.widgets.CPortlet', array('title' => "Text fields"));
?>
    <?php 
echo CHtml::label('List box', 'name');
echo CHtml::listBox('name', '', array('1' => 'One', '2' => 'Two', '3' => 'Three', '4' => 'Four', '5' => 'Five'));
echo CHtml::label('Text Area', 'name');
echo CHtml::textArea('name');
echo CHtml::label('File field', 'name');
echo CHtml::fileField('name', '', array('class' => 'btn'));
echo CHtml::label('Radio button', 'name');
echo CHtml::radioButton('name');
echo '<br><br>';
echo CHtml::label('Check box', 'name');
echo CHtml::checkBox('name');
?>
    <?php 
$this->endWidget();
?>
    </div>
</div>
 public function __toString()
 {
     $input = "";
     if (is_string($this->field)) {
         return "[{$this->field}]";
     }
     if (!isset($this->dateformat) || $this->dateformat == '') {
         $this->dateformat = 'dd/mm/yy';
     }
     if (!in_array($this->field->uicomponent, array("textbox", "textarea", "listbox", "combobox", "checkbox", "datebox"))) {
         return "[invalid: " . $this->field->uicomponent . "]";
     }
     if (!in_array($this->descriptionLocation, array('visible', 'title'))) {
         $this->descriptionLocation = 'title';
     }
     $descrVisibleTag = '';
     if ($this->descriptionLocation == 'visible') {
         $descrVisibleTag = "<div class='descr'>{$this->descr}</div>";
     }
     if ($this->descriptionLocation == 'title') {
         if (!isset($this->htmlOptions['title'])) {
             $this->htmlOptions['title'] = CHtml::encode($this->descr);
         }
     }
     $name = $this->getName();
     if ($this->getValue() == '') {
         $this->setValue(CHtml::encode($this->default));
     }
     $value = $this->getValue();
     $htmlOptions = array();
     if (isset($this->htmlOptions)) {
         $htmlOptions += $this->htmlOptions;
     }
     if (isset($this->field->htmlOptions)) {
         $htmlOptions += $this->field->htmlOptions;
     }
     // clear empty attributes
     //
     if (isset($htmlOptions)) {
         foreach ($htmlOptions as $opt => $val) {
             if (empty($val)) {
                 unset($htmlOptions[$opt]);
             }
         }
     }
     //
     // IMPORTANT:
     //	every input field must have 'alt' signature stablished to 'input' or it wont be recognized
     //	by eyuiform.js when post.
     if (!isset($htmlOptions['alt'])) {
         $htmlOptions['alt'] = 'input';
     }
     $inputName = $this->modelName . "[" . $name . "]";
     $htmlOptions['id'] = $this->getName();
     $req = $this->required == true ? '*' : '';
     $reqClass = $this->required == true ? 'required' : '';
     if ($this->field->uicomponent == 'textbox') {
         $input = CHtml::textField($inputName, $value, $htmlOptions);
     }
     if ($this->field->uicomponent == 'textarea') {
         $input = CHtml::textArea($inputName, $value, $htmlOptions);
     }
     if ($this->field->uicomponent == 'listbox') {
         $input = CHtml::listBox($inputName, $value, $this->checkOptions($this->field->options), $htmlOptions);
     }
     if ($this->field->uicomponent == 'combobox') {
         $prompt = array();
         if ($this->field->prompt != null) {
             $prompt = $this->field->prompt;
         }
         $input = CHtml::dropDownList($inputName, $value, $prompt + $this->checkOptions($this->field->options), $htmlOptions);
     }
     if ($this->field->uicomponent == 'checkbox') {
         if (!isset($htmlOptions['class'])) {
             $htmlOptions['class'] = 'checkbox';
         }
         $input = CHtml::checkBox($inputName, $this->getValue() > 0, $htmlOptions);
     }
     if ($this->field->uicomponent == 'datebox') {
         $id = $this->getName();
         $language = Yii::app()->language;
         $dp_options = CJavaScript::encode(array('constrainInput' => true, 'dateFormat' => $this->dateformat, 'showOn' => "both", 'showButtonPanel' => true, 'changeMonth' => true, 'changeYear' => true));
         if ($language == 'en' || $language == "" || $language == 'en-US' || $language == 'en_us') {
             $language = 'en-GB';
         }
         $js = "jQuery('#{$id}').datepicker(jQuery.extend({showMonthAfterYear:false}, jQuery.datepicker.regional['{$language}'], {$dp_options}));";
         $input = CHtml::textField($inputName, $value, $htmlOptions);
         Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $id, $js);
     }
     if ($this->field->uicomponent == 'checkboxlist') {
         /*
         $input = "<div class='checkboxes'>";
         foreach($this->field->options as $_key=>$_val){
         	$_id = $this->id."_".$_key;
         	$input .= "<span class='checkbox'><label for='{$_id}'>{$_val}</label>".CHtml::checkBox(
         		$name,false,array('id'=>$_id))."</span>";
         }
         $input .= "</div>";
         */
     }
     return "\n<li class='{$reqClass}'>\n\t<label>{$req}{$this->label}:</label><br/>\n\t<span class='fieldspan'>{$input}</span><span class='loader'></span>\n\t<div class='info'>\n\t\t{$descrVisibleTag}\n\t\t<div class='error'></div>\n\t</div>\n</li>\n";
 }
Exemplo n.º 4
0
 /**
  * Render widget input.
  */
 public function run()
 {
     if (isset($this->options['ajax'])) {
         if ($this->hasModel()) {
             echo CHtml::activeTextField($this->model, $this->attribute, $this->htmlOptions);
         } else {
             echo CHtml::textField($this->name, $this->value, $this->htmlOptions);
         }
     } else {
         if (isset($this->htmlOptions['multiple']) && $this->htmlOptions['multiple'] == 'true') {
             if ($this->hasModel()) {
                 echo CHtml::activeListBox($this->model, $this->attribute, $this->data, $this->htmlOptions);
             } else {
                 echo CHtml::listBox($this->model, $this->attribute, $this->data, $this->htmlOptions);
             }
         } else {
             if ($this->hasModel()) {
                 echo CHtml::activeDropDownList($this->model, $this->attribute, $this->data, $this->htmlOptions);
             } else {
                 echo CHtml::dropDownList($this->name, $this->value, $this->data, $this->htmlOptions);
             }
         }
     }
 }
            <br />
        </fieldset>
        <fieldset class='popupgroup'>
		  <legend>
            <?php 
eT("Survey");
?>
          </legend>
          <p>
            <?php 
if (!empty($tokensurveynames)) {
    //$option[''] = gT("Select...");
    foreach ($tokensurveynames as $row) {
        $option[$row['surveyls_survey_id']] = $row['surveyls_title'];
    }
    echo CHtml::listBox('survey_id', 'id="survey_id"', $option, array('style' => 'width: 400px; border: 0px; cursor: pointer', 'size' => 10));
}
?>
          </p><br />
        </fieldset>
        <fieldset class='popupgroup'>
          <legend>
            <?php 
eT("Options");
?>
          </legend>
            <?php 
$data = array('id' => 'redirect', 'value' => 'TRUE', 'style' => 'margin:10px');
echo CHtml::checkBox('redirect', TRUE, $data);
?>
            <label for='redirect'><?php 
Exemplo n.º 6
0
                    <div class="col-sm-10">
                        <?php 
echo CHtml::checkBox('filterduplicatetoken', true);
?>
                    </div>
                </div>

                <!-- Duplicates are determined by -->
                <div class="form-group" id='lifilterduplicatefields'>
                    <label class="col-sm-2 control-label" for='filterduplicatefields'><?php 
eT("Duplicates are determined by:");
?>
</label>
                    <div class="col-sm-10">
                        <?php 
echo CHtml::listBox('filterduplicatefields', array('firstname', 'lastname', 'email'), $aTokenTableFields, array('multiple' => 'multiple', 'size' => '7'));
?>
                    </div>
                </div>

                <!-- Buttons -->
                <div class="form-group">
                    <div class="col-sm-offset-2 col-sm-10">
                        <?php 
echo CHtml::htmlButton(gT("Upload"), array('type' => 'submit', 'name' => 'upload', 'value' => 'import', 'class' => 'btn btn-default'));
?>
                    </div>
                </div>
            </form>

            <!-- Infos -->
Exemplo n.º 7
0
        </div>



        <div class="col-lg-2" style="overflow-x: hidden">
            <div>
                <?php 
    eT("Other files:");
    ?>
                <br/>
                <?php 
    // TODO printf(gT("(path for css: %s)"), $filespath)
    ?>
                <?php 
    echo CHtml::form(array('admin/templates/sa/templatefiledelete'), 'post');
    echo CHtml::listBox('otherfile', '', array_combine($otherfiles, $otherfiles), array('size' => 11, 'class' => "form-control"));
    ?>
                <br>
                <?php 
    if (Permission::model()->hasGlobalPermission('templates', 'delete')) {
        ?>

                    <input type='submit' class='btn btn-default' value='<?php 
        eT("Delete");
        ?>
' onclick="javascript:return confirm('<?php 
        eT("Are you sure you want to delete this file?", "js");
        ?>
')"/>
                    <?php 
    }
Exemplo n.º 8
0
</div>
			<div class="grid-9-12">
				<?php 
echo CHtml::listBox('tasks', isset($_POST['tasks']) ? $_POST['tasks'] : isset($items_selected[CAuthItem::TYPE_TASK]) ? $items_selected[CAuthItem::TYPE_TASK] : '', $items[CAuthItem::TYPE_TASK], array('size' => 20, 'multiple' => 'multiple'));
?>
			</div>
			<div class="clear"></div>
			<hr />
			
			<div class="grid-3-12"><?php 
echo CHtml::label(at('Additional Operations'), 'operations');
?>
</div>
			<div class="grid-9-12">
				<?php 
echo CHtml::listBox('operations', isset($_POST['operations']) ? $_POST['operations'] : isset($items_selected[CAuthItem::TYPE_OPERATION]) ? $items_selected[CAuthItem::TYPE_OPERATION] : '', $items[CAuthItem::TYPE_OPERATION], array('size' => 20, 'multiple' => 'multiple'));
?>
			</div>
			<div class="clear"></div>
			<hr />
			
		</div>
		
		<div id="tabs-5">
			
			<div class="grid-6-12">
				<?php 
echo at('Type in the zipcode and fill in the billing information if the information exists in our databases.');
?>
				<div class="clear"></div>
				<div class="grid-6-12">
            <br />
        </fieldset>
        <fieldset class='popupgroup'>
		  <legend>
            <?php 
eT("Survey");
?>
          </legend>
          <p>
            <?php 
if (!empty($tokensurveynames)) {
    //$option[''] = gT("Select...");
    foreach ($tokensurveynames as $row) {
        $option[$row['surveyls_survey_id']] = $row['surveyls_title'];
    }
    echo CHtml::listBox('survey_id', 'id="survey_id"', $option, array('class' => 'form-control', 'size' => 8));
}
?>
          </p><br />
        </fieldset>
        <fieldset class='popupgroup'>
          <legend>
            <?php 
eT("Options");
?>
          </legend>
        <div class='form-group'>
            <label class='control-label col-sm-8' for='redirect'><?php 
eT("Display survey participants after adding?");
?>
</label>
    public function run()
    {
        echo "<table style=\"width:100%;\" border=\"1\">";
        echo "<tr>";
        echo "<td style=\"text-align:center;\">";
        if (isset($this->leftTitle)) {
            echo CHtml::label($this->leftTitle, "leftTitle");
        }
        $this->LeftListHtmlOptions = array_merge($this->LeftListHtmlOptions, array('id' => 'select_left', 'multiple' => 'multiple'));
        echo CHtml::listBox($this->listName . "1[]", '', $this->LeftDataList, $this->LeftListHtmlOptions);
        echo "</td>";
        echo "<td style=\"text-align:center;\">";
        echo CHtml::button('<', array('id' => 'options_left')) . "<br /><br />";
        echo CHtml::button('>', array('id' => 'options_right')) . "<br /><br />";
        echo CHtml::button('<<', array('id' => 'options_left_all')) . "<br /><br />";
        echo CHtml::button('>>', array('id' => 'options_right_all')) . "<br /><br />";
        echo "</td>";
        echo "<td style=\"text-align:center;\">";
        if (isset($this->rightTitle)) {
            echo CHtml::label($this->rightTitle, "rightTitle");
        }
        $this->RightListHtmlOptions = array_merge($this->RightListHtmlOptions, array('id' => 'select_right', 'multiple' => 'multiple'));
        echo CHtml::listBox($this->listName . "2[]", '', $this->RightDataList, $this->RightListHtmlOptions);
        echo "</td>";
        echo "</tr>";
        echo "</table>";
        $this->registerClientScript();
        Yii::app()->clientScript->registerScript('jQueryOptionTransfer', '
			$(function() {
				$("#select_left").multiSelect("#select_right", {trigger:"#options_right"});
				$("#select_right").multiSelect("#select_left", {trigger:"#options_left"});
				$("#select_left").multiSelect("#select_right", {allTrigger:"#options_right_all"});
				$("#select_right").multiSelect("#select_left", {allTrigger:"#options_left_all"});
			});
		');
        parent::init();
    }
Exemplo n.º 11
0
											$.fn.yiiGridView.update("menu-grid");
										}
									});
									return false; }')), 'template' => '{up}{down}{update}{delete}', 'header' => CHtml::dropDownList('pageSize', $pageSize, array(5 => 5, 20 => 20, 50 => 50, 100 => 100), array('class' => 'change-pagesize'))))));
Yii::app()->clientScript->registerScript('initPageSize', <<<EOD
    \$('.change-pagesize').live('change', function() {
        \$.fn.yiiGridView.update('menu-grid',{ data:{ pageSize: \$(this).val() }})
    });
EOD
, CClientScript::POS_READY);
?>

<?php 
echo CHtml::beginForm();
echo CHtml::hiddenField('tree', 'manage');
echo CHtml::listBox('node', '1', $data, array('size' => '10'));
?>
<br /><br />
<?php 
echo CHtml::textField('name');
echo CHtml::submitButton('Добавить пункт', array('name' => 'add'));
?>
<br /><br />


<br /><br />
<?php 
echo CHtml::dropDownList('nodeto', '1', $data);
?>
<br />
<?php 
Exemplo n.º 12
0
    if (in_array($value->matrix_param->alias, array('role'))) {
        ?>
                <?php 
        echo CHtml::listBox('MatrixTypeActionParamValue[' . $value->matrix_param->id . '][]', array(), $roles, array('size' => 0));
        ?>
            <?php 
    } elseif (in_array($value->matrix_param->alias, array('matrix_type'))) {
        ?>
                <?php 
        echo CHtml::listBox('MatrixTypeActionParamValue[' . $value->matrix_param->id . '][]', array(), $matrixtypes, array('size' => 0));
        ?>
            <?php 
    } elseif (in_array($value->matrix_param->alias, array('spec_alias_bonus_in', 'spec_alias_money_out'))) {
        ?>
                <?php 
        echo CHtml::listBox('MatrixTypeActionParamValue[' . $value->matrix_param->id . '][]', array(), $specalias, array('size' => 0));
        ?>
            <?php 
    } else {
        ?>
                <?php 
        echo CHtml::textField('MatrixTypeActionParamValue[' . $value->matrix_param->id . '][]');
        ?>
            <?php 
    }
    ?>
        </td>
        <td></td>
        <td></td>
    </tr>
<?php 
Exemplo n.º 13
0
 /**
  * Parse each setting
  */
 public function getSettingForm($setting)
 {
     $setting = $this->parseSetting($setting);
     $name = 'setting_' . $setting->id;
     $value = $setting->value !== null ? $setting->value : $setting->default_value;
     switch ($setting->type) {
         case 'textarea':
             echo CHtml::textArea($name, $value, array('rows' => 5, 'class' => 'textbox', 'disabled' => $setting->disabled ? 'disabled' : ''));
             break;
         case 'dropdown':
             echo CHtml::dropDownList($name, $value, $this->convertExtraToArray($setting->extra), array('class' => 'chzn-select', 'disabled' => $setting->disabled ? 'disabled' : ''));
             break;
         case 'multi':
             echo CHtml::listBox($name, $value ? explode(',', $value) : '', $this->convertExtraToArray($setting->extra), array('size' => 20, 'multiple' => 'multiple', 'class' => 'chosen', 'disabled' => $setting->disabled ? 'disabled' : ''));
             break;
         case 'checkbox':
             echo CHtml::checkbox($name, $setting->value != '' ? $setting->value : $setting->default_value, array('class' => '', 'disabled' => $setting->disabled ? 'disabled' : ''));
             break;
         case 'yesno':
             echo CHtml::dropDownList($name, $value, array('0' => Yii::t('global', 'No'), '1' => Yii::t('global', 'Yes')), array('class' => 'chzn-select', 'disabled' => $setting->disabled ? 'disabled' : ''));
             break;
         case 'editor':
             Yii::app()->customEditor->getEditor(array('name' => $name, 'value' => $value));
             break;
         case 'text':
         default:
             echo CHtml::textField($name, $value, array('class' => 'textbox', 'disabled' => $setting->disabled ? 'disabled' : ''));
             break;
     }
 }
Exemplo n.º 14
0
 /**
  * Generates a list box.
  * @param string $name the input name
  * @param mixed $select the selected value(s). This can be either a string for single selection or an array for multiple selections.
  * @param array $data data for generating the list options (value=>display)
  * You may use {@link listData} to generate this data.
  * Please refer to {@link listOptions} on how this data is used to generate the list options.
  * Note, the values and labels will be automatically HTML-encoded by this method.
  * @param array $htmlOptions additional HTML attributes. Besides normal HTML attributes, a few special
  * attributes are also recognized. See {@link clientChange} and {@link tag} for more details.
  * In addition, the following options are also supported specifically for list box:
  * <ul>
  * <li>encode: boolean, specifies whether to encode the values. Defaults to true.</li>
  * <li>prompt: string, specifies the prompt text shown as the first list option. Its value is empty. Note, the prompt text will NOT be HTML-encoded.</li>
  * <li>empty: string, specifies the text corresponding to empty selection. Its value is empty.
  * The 'empty' option can also be an array of value-label pairs.
  * Each pair will be used to render a list option at the beginning. Note, the text label will NOT be HTML-encoded.</li>
  * <li>options: array, specifies additional attributes for each OPTION tag.
  *     The array keys must be the option values, and the array values are the extra
  *     OPTION tag attributes in the name-value pairs. For example,
  * <pre>
  *     array(
  *         'value1'=>array('disabled'=>true, 'label'=>'value 1'),
  *         'value2'=>array('label'=>'value 2'),
  *     );
  * </pre>
  * </li>
  * </ul>
  * @return string the generated list box
  * @see clientChange
  * @see inputField
  * @see listData
  */
 public static function listBox($name, $select, $data, $htmlOptions = array())
 {
     $help = self::getHelp($htmlOptions);
     ob_start();
     echo CHtml::listBox($name, $select, $data, $htmlOptions);
     echo $help;
     return ob_get_clean();
 }
Exemplo n.º 15
0
&nbsp;&nbsp;&nbsp;
                                </div>
                                <div id="fieldTypeStat_<?php 
                echo $field->id;
                ?>
">
                                    <?php 
                echo $field->getCurrentFilltype();
                ?>
                                </div>					
                                <div id="fieldTypeDyn_<?php 
                echo $field->id;
                ?>
" style="display: none;">
                                    <?php 
                echo CHtml::listBox('Fields[is_user_filltype]', $field->is_user_filltype || $field->filltype == NULL ? (int) FALSE : $field->filltype->type, Fields::getFilltypesArray($field->field), array('id' => 'fieldTypeText_' . $field->id, 'size' => 1, 'onChange' => 'getFieldListForDuplicate(' . $field->id . ', this)'));
                ?>
                                    <span id="fieldCopy_<?php 
                echo $field->id;
                ?>
" style="display: none;"></span>
                                    <div style="float: right; width: 60px; margin-top: 5px;">
                                        <?php 
                echo CHtml::link('<span class="apply" title="Сохранить тип">&nbsp;</span>', 'javascript: void(0)', array('onClick' => 'saveFieldType(' . $field->id . ')'));
                ?>
&nbsp;&nbsp;
                                        <?php 
                echo CHtml::link('<span class="cancel" title="Отмена">&nbsp;</span>', 'javascript: void(0)', array('onClick' => 'hideFieldType(' . $field->id . ')'));
                ?>
                                    </div>
                                </div>
Exemplo n.º 16
0
                        echo CHTML::label(gT("Full answers"),'answers-long');?>
                </ul></fieldset>
        </div>
        <div class='right'>
            <fieldset>
                <legend><?php eT("Column control");?></legend>

                <input type='hidden' name='sid' value='<?php echo $surveyid; ?>' />
                <?php 
                    if ($SingleResponse) { ?>
                    <input type='hidden' name='response_id' value="<?php echo $SingleResponse;?>" />
                    <?php }
                    eT("Choose columns");?>:
                <br />
                <?php 
                echo CHtml::listBox('colselect[]',array_keys($aFields),$aFields,array('multiple'=>'multiple','size'=>'20','style'=>'width:370px;','options'=>$aFieldsOptions));
                echo "\t<img src='$imageurl/help.gif' alt='".gT("Help")."' onclick='javascript:alert(\"".gT("Please note: The export to Excel is currently limited to loading no more than 255 columns.","js")."\")'>";?>
                <span id='columncount'>&nbsp;</span>
                </fieldset>
            <?php if ($thissurvey['anonymized'] == "N" && tableExists("{{tokens_$surveyid}}") && Permission::model()->hasSurveyPermission($surveyid,'tokens','read')) { ?>
                <fieldset><legend><?php eT("Token control");?></legend>
                    <?php eT("Choose token fields");?>:
                    <img src='<?php echo $imageurl;?>/help.gif' alt='<?php eT("Help");?>' onclick='javascript:alert("<?php gT("Your survey can export associated token data with each response. Select any additional fields you would like to export.","js");?>")' /><br />
                    <select name='attribute_select[]' multiple size='20'>
                        <option value='first_name' id='first_name'><?php eT("First name");?></option>
                        <option value='last_name' id='last_name'><?php eT("Last name");?></option>
                        <option value='email_address' id='email_address'><?php eT("Email address");?></option>

                        <?php $attrfieldnames=getTokenFieldsAndNames($surveyid,true);
                            foreach ($attrfieldnames as $attr_name=>$attr_desc)
                            {
Exemplo n.º 17
0
</a>
            </h3>
        </div>
        <div class="portlet-body form-horizontal form form-bordered">
            <?php 
    $form = $this->beginWidget('CActiveForm', array('action' => $this->createUrl('outmoney/outtowarehouse/wallet/' . $wallet->id)));
    ?>
                <div class="form-body">
                    <div class="form-group">
                        <label class="col-sm-3 control-label"><?php 
    echo Yii::t('app', 'Название склад');
    ?>
</label>
                        <div class="col-sm-4">
                            <?php 
    echo CHtml::listBox('Form[warehouse]', array(), $nameWarehouse, array('size' => (int) TRUE));
    ?>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label"><?php 
    echo Yii::t('app', 'Сумма которую хотите перевести');
    ?>
</label>
                        <div class="col-sm-4">
                            <input type="text" name="Form[transfer_amount]" value="" />
                        </div>
                    </div>
                    <?php 
    if (isset($error) && !empty($error)) {
        ?>
</label>
        <input type='text' maxlength='255' size='50' id='urldescrip' name='urldescrip' value='' /></li>
        <li><label for='dateformat'><?php 
$clang->eT("Date format:");
?>
</label>
        <?php 
echo CHtml::listBox('dateformat', $sDateFormatDefault, $aDateFormatData, array('id' => 'dateformat', 'size' => '1'));
?>
        </li>
        <li><label for='numberformat'><?php 
$clang->eT("Decimal mark:");
?>
</label>
        <?php 
echo CHtml::listBox('numberformat', $sRadixDefault, $aRadixPointData, array('id' => 'numberformat', 'size' => '1'));
?>
        </li>


        <li><label for='admin'><?php 
$clang->eT("Administrator:");
?>
</label>
        <input type='text' size='50' id='admin' name='admin' value='<?php 
echo $owner['full_name'];
?>
' /></li>
        <li><label for='adminemail'><?php 
$clang->eT("Admin email:");
?>
            <br />
        </div>
        <div class='popupgroup'>
		  <h4>
            <?php $clang->eT("Survey"); ?>
          </h4>
          <p>
            <?php
            if (!empty($tokensurveynames))
            {
                //$option[''] = $clang->gT("Select...");
                foreach ($tokensurveynames as $row)
                {
                    $option[$row['surveyls_survey_id']] = $row['surveyls_title'];
                }
                echo CHtml::listBox('survey_id', 'id="survey_id"', $option, array('style'=>'width: 350px; border: 0px; font-size: 1.2em; cursor: pointer', 'size'=>7));
            }
            ?>
          </p><br />
        </div>
        <div class='popupgroup'>
          <h4>
            <?php $clang->eT("Options") ?>
          </h4>
          <p>
            <?php
            $data = array(
                'id' => 'redirect',
                'value' => 'TRUE',
                'style' => 'margin:10px',
            );
Exemplo n.º 20
0
 /**
  * Parse each setting
  */
 public function buildFormField($field, $userId)
 {
     $name = 'UserCustomField[' . $field->getKey() . ']';
     $value = UserCustomFieldData::model()->getFieldValue($field, $userId);
     switch ($field->type) {
         case 'textarea':
             echo CHtml::textArea($name, $value, array('rows' => 5, 'class' => 'textbox'));
             break;
         case 'dropdown':
             echo CHtml::dropDownList($name, $value, $this->convertExtraToArray($field->extra), array('class' => 'chosen'));
             break;
         case 'multi':
             echo CHtml::listBox($name, $value ? explode(',', $value) : '', $this->convertExtraToArray($field->extra), array('multiple' => 'multiple', 'class' => 'chosen'));
             break;
         case 'checkbox':
             echo CHtml::checkbox($name, $value, array('class' => ''));
             break;
         case 'yesno':
             echo CHtml::dropDownList($name, $value, array('0' => Yii::t('global', 'No'), '1' => Yii::t('global', 'Yes')), array('class' => 'chosen'));
             break;
         case 'editor':
             Yii::app()->customEditor->getEditor(array('name' => $name, 'value' => $value));
             break;
         case 'text':
         default:
             echo CHtml::textField($name, $value, array('class' => 'textbox'));
             break;
     }
 }
Exemplo n.º 21
0
    ?>
		<?php 
    echo CHtml::listBox('view-permission', $viewPermission, $names, array('class' => 'user-permission', 'multiple' => 'multiple', 'onChange' => 'giveSaveButtonFocus();'));
    ?>
		<br>
	</div>
	<div class="page-title rounded-top"><h2><?php 
    echo Yii::t('calendar', 'Edit Permission');
    ?>
</h2></div>
	<div class="form">
        <?php 
    echo Yii::t('calendar', "These {users} can edit {fullname}'s {calendar}.", array('{users}' => lcfirst($modTitles['users']), '{fullname}' => $fullname, '{calendar}' => $modTitles['calendar']));
    ?>
		<?php 
    echo CHtml::listBox('edit-permission', $editPermission, $names, array('class' => 'user-permission', 'multiple' => 'multiple', 'onChange' => 'giveSaveButtonFocus();'));
    ?>
		<br>
		<div class="row buttons">
			<?php 
    echo CHtml::submitButton(Yii::t('app', 'Save'), array('class' => 'x2-button', 'id' => 'save-button', 'name' => 'save-button', 'tabindex' => 24));
    ?>
            <?php 
    echo CHtml::link(Yii::t('calendar', 'Back To {user} List', array('{user}' => $modTitles['user'])), $this->createUrl(''), array('class' => 'x2-button'));
    ?>
		</div>
	</div>
	<?php 
    $this->endWidget();
    ?>
Exemplo n.º 22
0
<?php

$this->menu = array(array('label' => ProjectModule::t('Create Project Field'), 'url' => array('create')), array('label' => ProjectModule::t('View Project Field'), 'url' => array('view', 'id' => $model->id)), array('label' => ProjectModule::t('Update Project Field'), 'url' => array('update', 'id' => $model->id)), array('label' => ProjectModule::t('Manage Project Fields'), 'url' => array('admin')));
$this->widget('zii.widgets.CMenu', array('items' => $this->menu, 'htmlOptions' => array('class' => 'operations')));
$form = $this->beginWidget('UActiveForm', array('id' => 'work-types-form', 'action' => Yii::app()->createUrl('/project/projectField/update', array('id' => $model->id))));
?>
<div class="form-group col-md-offset-3 col-md-8">
<?php 
echo '<p>' . UserModule::t('Use Ctrl for multiply') . '</p>';
$htmlOptions = array('size' => '10', 'multiple' => 'true', 'style' => 'width:100%;', 'size' => '10', 'empty' => '(' . UserModule::t('All') . ')');
$data = Catalog::model()->performCatsTree('specials2');
$selected = explode(',', $model->work_types);
echo '<div class="col-md-8">' . CHtml::listBox('ProjectField[work_types]', $selected, $data, $htmlOptions) . '</div>';
?>
</div>
<div class="form-group col-md-offset-3 col-md-8">
	<?php 
echo CHtml::submitButton(UserModule::t('Save'), array('class' => 'btn btn-primary btn-save'));
?>
</div>
<?php 
$this->endWidget();
Exemplo n.º 23
0
    ?>
                                    <input type='hidden' name='response_id' value="<?php 
    echo $SingleResponse;
    ?>
" />
                                <?php 
}
?>
                                <label for='colselect' class="col-sm-3 control-label">
                                    <?php 
eT("Select columns:");
?>
                                </label>
                                <div class="col-sm-9">
                                <?php 
echo CHtml::listBox('colselect[]', array_keys($aFields), $aFields, array('multiple' => 'multiple', 'size' => '20', 'options' => $aFieldsOptions, 'class' => 'form-control'));
?>
                                </div>
                                <div class="col-sm-8 col-sm-offset-4">
                                    <br/>
                                    <strong id='columncount'>&nbsp;</strong>
                                </div>
                            </div>
                        </div>

                        <!-- Token control -->
                        <?php 
if ($thissurvey['anonymized'] == "N" && tableExists("{{tokens_{$surveyid}}}") && Permission::model()->hasSurveyPermission($surveyid, 'tokens', 'read')) {
    ?>
                            <div class="panel panel-primary" id="pannel-7">
                                <div class="panel-heading">
Exemplo n.º 24
0
		<?php 
$profileFields = $profile->getFields();
if ($profileFields) {
    $attributes = $profile->getAttributes();
    foreach ($profileFields as $field) {
        ?>
                <div class="form-group">
                    <?php 
        echo $form->labelEx($profile, $field->varname, array('class' => 'col-md-4 control-label'));
        if ($field->field_type == "LIST") {
            $htmlOptions = array('size' => '10', 'multiple' => 'true', 'style' => 'width:400px;', 'size' => '10', 'empty' => UserModule::t('Use Ctrl for multiply'));
            $data = Catalog::model()->performCatsTree($field->varname);
            $varname = $field->varname;
            $selected = explode(',', $profile->{$varname});
            echo '<div class="col-md-8">' . CHtml::listBox('Profile[' . $field->varname . ']', $selected, $data, $htmlOptions) . '</div>';
            /*} elseif ($widgetEdit = $field->widgetEdit($profile,array('htmlOptions'=>array('class'=>'form-control')))) {
                  echo '<div class="col-md-8">'.$widgetEdit.'</div>';
              } elseif ($field->range) {
                  echo '<div class="col-md-8">'.$form->dropDownList($profile,$field->varname,Profile::range($field->range),array('class'=>'form-control')).'</div>';*/
        } elseif ($field->field_type == "TEXT") {
            //                        echo '<div class="col-md-8"><textarea name="Profile['.$field->varname.']" rows="6" cols="50" class="form-control">'.$attributes[$field->varname].'</textarea></div>';
            echo '<div class="col-md-8">' . $form->textArea($profile, $field->varname, array('rows' => 6, 'cols' => 50, 'class' => 'form-control')) . '</div>';
        } else {
            //                        echo '<div class="col-md-8"><input type="text" name="Profile['.$field->varname.']" class="form-control" size="60" maxlength="'.(($field->field_size)?$field->field_size:255).'" value="'.$attributes[$field->varname].'"></div>';
            echo '<div class="col-md-8">' . $form->textField($profile, $field->varname, array('class' => 'form-control', 'size' => 60, 'maxlength' => $field->field_size ? $field->field_size : 255)) . '</div>';
        }
        echo $form->error($profile, $field->varname);
        ?>
                    </div><?php 
    }
Exemplo n.º 25
0
            <?php 
echo CHtml::button('Добавить поле', array('class' => 'btn green', 'onClick' => 'showManageBlock()'));
?>

        </div>

        <div class="report-manage-dynamic">

            <?php 
echo CHtml::beginForm();
?>

            <div class="listBox">

                <?php 
echo CHtml::listBox(SettingsControllerBase::ReportAliasFirstline, 0, $allColumns, array('size' => 0, 'class' => 'form-control input-small input-inline'));
?>

                <?php 
echo CHtml::button('Добавить поле', array('class' => 'btn green', 'onClick' => 'addColumn("' . SettingsControllerBase::ReportAliasFirstline . '")'));
?>

            </div>

            <div class="listBoxDescription">

            </div>


            <?php 
echo CHtml::endForm();
        </div>
    </div>

    <!-- Date format -->    
    <div class="form-group">
        <label class="col-sm-3 control-label" for='dateformat'><?php  eT("Date format:") ; ?></label>
        <div class="col-sm-3">
            <?php echo CHtml::listBox('dateformat',$sDateFormatDefault, $aDateFormatData, array('id'=>'dateformat','size'=>'1', 'class'=>'form-control')); ?>
        </div>
    </div>
    
    <!-- Decimal mark -->    
    <div class="form-group">
        <label class="col-sm-3 control-label" for='numberformat'><?php  eT("Decimal mark:"); ?></label>
        <div class="col-sm-3">
            <?php echo CHtml::listBox('numberformat',$sRadixDefault, $aRadixPointData, array('id'=>'numberformat','size'=>'1', 'class'=>'form-control')); ?>
        </div>
    </div>

    <!-- Administrator -->    
    <div class="form-group">
        <label class="col-sm-3 control-label" for='admin'><?php  eT("Administrator:") ; ?></label>
        <div class="col-sm-9">
            <input type='text' size='50' id='admin' name='admin'   class="form-control"  value='<?php echo $owner['full_name'] ; ?>' />
        </div>
    </div>

    <!-- Admin email -->        
    <div class="form-group">                                
        <label class="col-sm-3 control-label" for='adminemail'><?php  eT("Admin email:") ; ?></label>
        <div class="col-sm-9">
Exemplo n.º 27
0
    /**
     * 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'] . '&nbsp;';
                            $aDataentryoutput .= CHtml::textField($fname['fieldname'], $idrow[$fname['fieldname']]);
                            break;
                        case "id":
                            $aDataentryoutput .= CHtml::tag('span', array('style' => 'font-weight: bold;'), '&nbsp;' . $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>&nbsp;\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>&nbsp;\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") . "&nbsp;\n" . "\t<input type='radio' class='' name='{$fname['fieldname']}' value='U'";
                                if ($idrow[$fname['fieldname']] == "U") {
                                    $aDataentryoutput .= " checked";
                                }
                                $aDataentryoutput .= " />" . gT("Uncertain") . "&nbsp;\n" . "\t<input type='radio' class='' name='{$fname['fieldname']}' value='N'";
                                if ($idrow[$fname['fieldname']] == "N") {
                                    $aDataentryoutput .= " checked";
                                }
                                $aDataentryoutput .= " />" . gT("No") . "&nbsp;\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&nbsp;\n" . "\t<input type='radio' class='' name='{$fname['fieldname']}' value='S'";
                                if ($idrow[$fname['fieldname']] == "I") {
                                    $aDataentryoutput .= " checked";
                                }
                                $aDataentryoutput .= " />Same&nbsp;\n" . "\t<input type='radio' class='' name='{$fname['fieldname']}' value='D'";
                                if ($idrow[$fname['fieldname']] == "D") {
                                    $aDataentryoutput .= " checked";
                                }
                                $aDataentryoutput .= " />Decrease&nbsp;\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'] . "&nbsp;\n";
                                }
                                //Add 'No Answer'
                                $aDataentryoutput .= "\t<input type='radio' class='' name='{$fname['fieldname']}' value=''";
                                if ($idrow[$fname['fieldname']] == '') {
                                    $aDataentryoutput .= " checked";
                                }
                                $aDataentryoutput .= " />" . gT("No answer") . "&nbsp;\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);
        }
    }
Exemplo n.º 28
0
                                                                <div class="form-group right w190" >
                                                                    <?php 
                        echo CHtml::textField($field['alias'] . '_end', array_key_exists($field['alias'] . '_end', $filter) ? $filter[$field['alias'] . '_end'] : '', array('id' => "datepicker2", 'style' => 'width: 99%', 'class' => 'form-control date datepicker form-input', 'readonly' => 'readonly'));
                        ?>
                                                                </div>
                                                            </div>
                                                        </div>

                                                    <?php 
                    }
                    ?>
                                                <?php 
                } elseif (($field['alias'] == 'sex' || $field['alias'] == 'register_status' || $field['alias'] == 'user_business_types__id') && ((bool) $field['used'] || Yii::app()->user->checkAccess('OfficeStatsSettingsIndex') && (bool) $field['used'])) {
                    ?>
                                                    <?php 
                    echo CHtml::listBox($field['alias'], array_key_exists($field['alias'], $filter) ? $filter[$field['alias']] : (int) FALSE, $filterselects[$field['alias']], array('class' => 'form-control', 'size' => 0));
                    ?>
                                                <?php 
                } else {
                    ?>
                                                    <?php 
                    echo CHtml::textField($field['alias'], array_key_exists($field['alias'], $filter) ? $filter[$field['alias']] : '', array('style' => 'width: 99%', 'class' => 'form-control form-input'));
                    ?>
                                                <?php 
                }
                ?>
                                            </td>
                                        </tr>
                                    <?php 
            }
            ?>
Exemplo n.º 29
0
    /**
     * 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'] . '&nbsp;';
                            $aDataentryoutput .= CHtml::textField($fname['fieldname'], $idrow[$fname['fieldname']]);
                            break;
                        case "id":
                            $aDataentryoutput .= CHtml::tag('span', array('style' => 'font-weight: bold;'), '&nbsp;' . $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}:&nbsp;<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}&nbsp;\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}&nbsp;\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") . "&nbsp;\n" . "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='U'";
                                if ($idrow[$fname['fieldname']] == "U") {
                                    $aDataentryoutput .= " checked";
                                }
                                $aDataentryoutput .= " />" . $clang->gT("Uncertain") . "&nbsp;\n" . "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='N'";
                                if ($idrow[$fname['fieldname']] == "N") {
                                    $aDataentryoutput .= " checked";
                                }
                                $aDataentryoutput .= " />" . $clang->gT("No") . "&nbsp;\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&nbsp;\n" . "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='S'";
                                if ($idrow[$fname['fieldname']] == "I") {
                                    $aDataentryoutput .= " checked";
                                }
                                $aDataentryoutput .= " />Same&nbsp;\n" . "\t<input type='radio' class='radiobtn' name='{$fname['fieldname']}' value='D'";
                                if ($idrow[$fname['fieldname']] == "D") {
                                    $aDataentryoutput .= " checked";
                                }
                                $aDataentryoutput .= " />Decrease&nbsp;\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'] . "&nbsp;\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") . "&nbsp;\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);
        }
    }
Exemplo n.º 30
0
				<?php 
echo CHtml::label(Yii::t('app', 'Комментарий'), 'body', array('class' => 'col-md-3 control-label'));
?>
				<div class="col-md-9">
					<?php 
echo CHtml::textField('filtercomment', array_key_exists('filtercomment', $filter) ? $filter['filtercomment'] : (string) FALSE, array('class' => 'form-control input-large'));
?>
				</div>
			</div>
			<div class="form-group">
				<?php 
echo CHtml::label(Yii::t('app', 'Статус'), 'body', array('class' => 'col-md-3 control-label'));
?>
				<div class="col-md-9">
					<?php 
echo CHtml::listBox('filterstatus', array_key_exists('filterstatus', $filter) ? $filter['filterstatus'] : (string) FALSE, Comments::LabelStatus(), array('empty' => '-', 'size' => (int) TRUE, 'class' => 'form-control input-large'));
?>
				</div>
			</div>				
		</div>
		<div class="form-actions">
			<?php 
echo CHtml::submitbutton(Yii::t('app', 'Применить'), array('name' => 'btn_filter', 'class' => 'btn green', 'onClick' => 'saveFilter()'));
?>
			<?php 
echo CHtml::button(Yii::t('app', 'Сбросить фильтр'), array('name' => 'btn_filter', 'class' => 'btn red', 'onClick' => 'location.href="' . $this->createUrl('/admin/comments/comments/index') . '"'));
?>
		</div>
	</div>
</div>
<?php