Ejemplo n.º 1
0
    function watch()
    {
        $returnStr = $this->showHeader(Language::messageSMSTitle());
        $returnStr .= $this->displayComboBox();
        $returnStr .= "<form method='post'>";
        $params = getSessionParams();
        //$params['reportpage'] = 'reportRes';
        $returnStr .= setSessionParamsPost($params);
        $returnStr .= '<div id="wrap">';
        $returnStr .= '<div class="container"><p>';
        $returnStr .= '<div class="panel panel-default">
                <div class="panel-heading">';
        $returnStr .= '<h4>' . Language::linkWatch() . '</h4>';
        $returnStr .= '                </div>
                <div class="panel-body">';
        require_once 'data.php';
        require_once 'display.php';
        $data = new Data();
        $values = $data->getRespondentData(getFromSessionParams('watchsuid'), getFromSessionParams('watchprimkey'));
        $returnStr .= '</div>
    <div role="panel" class="panel">';
        if (sizeof($values) == 0) {
            $returnStr .= "<br/>" . '<div class="alert alert-warning">' . Language::labelWatchNoData() . '</div>';
        } else {
            $returnStr .= $this->displayDataTablesScripts(array("colvis", "rowreorder"));
            $returnStr .= "<script type='text/javascript'>\n                        \$(document).ready(function(){\n                            \$('#issuetable').dataTable(\n                                {\n                                    \"iDisplayLength\": 5,\n                                    dom: 'C<\"clear\">lfrtip',\n                                    searching: false,\n                                    paging: true\n                                    }    \n                                );\n                                         \n                       });</script>\n\n                        ";
            //
            $returnStr .= "<br/><table id='issuetable' class='table table-bordered table-striped'><thead>";
            $returnStr .= "<th>" . Language::labelWatchVariable() . "</th><th>" . Language::labelWatchValue() . "</th><th>" . Language::labelWatchClean() . "</th><th>" . Language::labelWatchMode() . "</th><th>" . Language::labelWatchLanguage() . "</th><th>" . Language::labelWatchTime() . "</th></tr>";
            $returnStr .= "</thead><tbody>";
            $modes = Common::surveyModes();
            $languages = Language::getLanguagesArray();
            $sesid = session_id();
            require_once 'object.php';
            require_once 'component.php';
            require_once 'setting.php';
            require_once 'type.php';
            require_once 'variabledescriptive.php';
            $survey = new Survey(getFromSessionParams('watchsuid'));
            foreach ($values as $is) {
                $returnStr .= "<tr>";
                $returnStr .= "<td>" . $is["variablename"] . "</td>";
                $returnStr .= "<td>" . $this->getDisplayValue($survey->getVariableDescriptiveByName($is["variablename"]), $is["answer_dec"]) . "</td>";
                $returnStr .= "<td>" . $this->displayDirty([$is["dirty"]]) . "</td>";
                $returnStr .= "<td>" . $modes[$is["mode"]] . "</td>";
                $returnStr .= "<td>" . $languages[str_replace("_", "", getSurveyLanguagePostFix($is["language"]))]['name'] . "</td>";
                $returnStr .= "<td>" . $is["ts"] . "</td>";
                $returnStr .= "</tr>";
            }
            $returnStr .= "</tbody></table>";
        }
        $returnStr .= '</div>
  </div>
</div>';
        $returnStr .= '                </div></div>';
        $returnStr .= '</p></div>    </div>';
        //container and wrap
        $returnStr .= $this->showFooter(false);
        echo $returnStr;
    }
Ejemplo n.º 2
0
    function jump()
    {
        $returnStr = $this->showHeader(Language::messageSMSTitle());
        $returnStr .= "<form method='post'>";
        $params = getSessionParams();
        $params['testpage'] = 'jumpbackRes';
        $returnStr .= setSessionParamsPost($params);
        $returnStr .= '<div id="wrap">';
        $returnStr .= '<div class="container"><p>';
        $returnStr .= $this->displayComboBox();
        $returnStr .= '<div class="panel panel-default">
                <div class="panel-heading">';
        $returnStr .= '<h4>' . Language::jumpBack() . '</h4>';
        $returnStr .= '                </div>
                <div class="panel-body">';
        $states = $this->getStates(getFromSessionParams('jumpsuid'), getFromSessionParams('jumpprimkey'), getFromSessionParams('jumpstateid'));
        $returnStr .= "<br/><table>";
        $returnStr .= "<tr><td>" . Language::jumpBackTo() . "</td><td>";
        $returnStr .= "<select class='selectpicker show-tick' name='jumpto'>";
        if (sizeof($states) == 0) {
            $returnStr .= "<option value=" . $k . ">" . Language::noJumpBack() . "</option>";
        } else {
            $cnt = 1;
            foreach ($states as $k => $option) {
                $option = str_replace(ROUTING_SUBGROUP, "", $option);
                $option = str_replace(ROUTING_ENDSUBGROUP, "", $option);
                $option = str_replace(ROUTING_ENDGROUP, "", $option);
                $option = str_replace(ROUTING_GROUP, "", $option);
                $returnStr .= "<option value=" . $k . ">" . Language::jumpScreen() . " " . $cnt . ": " . $option . "</option>";
                $cnt++;
            }
        }
        $returnStr .= "</select></td></tr>";
        //$returnStr .= "<tr><td valign=top>" . Language::reportProblemDescription() . "</td><td>";
        //$returnStr .= "<textarea name='reportcomment' class='form-control' style='min-width: 400px;' rows=6></textarea>";
        //$returnStr .= "</td></tr>";
        $returnStr .= '</table><br/>';
        $returnStr .= '<button type="submit" class="btn btn-success" style="min-width:100px">' . Language::buttonJump() . '</button>';
        $returnStr .= '<button onclick="window.close();" type="cancel" class="btn btn-default" style="min-width:100px">' . Language::buttonClose() . '</button>';
        $returnStr .= "</form>";
        $returnStr .= '</div>';
        $returnStr .= '</div>
</div>';
        $returnStr .= '                </div></div>';
        $returnStr .= '</p></div>    </div>';
        //container and wrap
        $returnStr .= $this->showFooter(false);
        echo $returnStr;
    }
Ejemplo n.º 3
0
 function redirect($page)
 {
     global $survey;
     $returnStr = $this->showHeader($survey->getTitle(), '<link href="bootstrap/css/sticky-footer-navbar.min.css" rel="stylesheet">');
     $returnStr .= '<form method="post" action="../index.php">';
     $returnStr .= '<input type=hidden name="' . POST_PARAM_PRIMKEY . '" value="' . addslashes(encryptC($this->primkey, Config::directLoginKey())) . '">';
     $returnStr .= '<input type=hidden name="' . POST_PARAM_SUID . '" value="' . getSurvey() . '">';
     $returnStr .= '<input type=hidden name="' . POST_PARAM_LANGUAGE . '" value="' . getSurveyLanguage() . '">';
     $returnStr .= '<input type=hidden name="' . POST_PARAM_MODE . '" value="' . getSurveyMode() . '">';
     $returnStr .= setSessionParamsPost(array('page' => $page));
     $returnStr .= '</form>';
     $returnStr .= '<script>';
     $returnStr .= '$(document).ready(function(){ $("form:first").submit(); }); ';
     $returnStr .= '</script></body><html>';
     return $returnStr;
 }
Ejemplo n.º 4
0
 function report()
 {
     $returnStr = $this->showHeader(Language::messageSMSTitle());
     $returnStr .= "<form method='post'>";
     $params = getSessionParams();
     $params['testpage'] = 'reportRes';
     $returnStr .= setSessionParamsPost($params);
     $returnStr .= '<div id="wrap">';
     $returnStr .= '<div class="container"><p>';
     $returnStr .= $this->reportSub();
     $returnStr .= '                </div></div>';
     $returnStr .= '</p></div>    </div>';
     //container and wrap
     $returnStr .= $this->showFooter(false);
     echo $returnStr;
 }
Ejemplo n.º 5
0
 function showCompletedSurvey()
 {
     global $survey;
     $returnStr = $this->showHeader($survey->getTitle(), '<link href="bootstrap/css/sticky-footer-navbar.min.css" rel="stylesheet">');
     $returnStr .= '<form method="post" action="index.php">';
     $returnStr .= setSessionParamsPost(array('page' => 'interviewer.backfromsms', 'primkey' => $this->engine->primkey, 'suid' => $this->engine->getSuid()));
     //	  	  $returnStr .= '<input type=hidden name="' . POST_PARAM_PRIMKEY . '" value="' . addslashes(encryptC($this->primkey, Config::directLoginKey())) . '">';
     $returnStr .= '<input type=hidden name="' . POST_PARAM_LANGUAGE . '" value="' . getSurveyLanguage() . '">';
     $returnStr .= '<input type=hidden name="' . POST_PARAM_SE . '" value="' . USCIC_SMS . '">';
     $returnStr .= '</form>';
     $returnStr .= '<script>';
     $returnStr .= '$(document).ready(function(){ $("form:first").submit(); }); ';
     $returnStr .= '</script></body><html>';
     return $returnStr;
     //        return '<a href="' . setSessionParams(array('page' => 'interviewer.backfromsms', 'primkey' => $this->engine->primkey, 'suid' => $this->engine->getSuid())) . '&se=' . addslashes(USCIC_SMS) . '"><span class="glyphicon glyphicon-wrench"></span> ' . Language::linkBackToSMS() . '</a>';
 }
Ejemplo n.º 6
0
 function showCompletedSurvey()
 {
     global $survey;
     $returnStr = $this->showHeader($survey->getTitle(), '<link href="bootstrap/css/sticky-footer-navbar.min.css" rel="stylesheet">');
     $returnStr .= '<form method="post" action="index.php">';
     $returnStr .= setSessionParamsPost(array('page' => 'sysadmin.tools.test', 'suid' => $this->engine->getSuid()));
     //$returnStr .= '<input type=hidden name="' . POST_PARAM_LANGUAGE . '" value="' . getSurveyLanguage() . '">';
     $returnStr .= '<input type=hidden name="' . POST_PARAM_SE . '" value="' . USCIC_SMS . '">';
     $returnStr .= '</form>';
     $returnStr .= '<script>';
     $returnStr .= '$(document).ready(function(){ $("form:first").submit(); }); ';
     $returnStr .= '</script></body><html>';
     return $returnStr;
 }
Ejemplo n.º 7
0
 function showOutputStatisticsParadataVariable($seid, $vsid)
 {
     if (loadvar(DATA_OUTPUT_TYPEDATA) != "") {
         if (loadvar(DATA_OUTPUT_TYPEDATA) == DATA_TEST) {
             $_SESSION[SURVEY_EXECUTION_MODE] = SURVEY_EXECUTION_MODE_TEST;
         } else {
             $_SESSION[SURVEY_EXECUTION_MODE] = SURVEY_EXECUTION_MODE_NORMAL;
         }
     } else {
         $_SESSION[SURVEY_EXECUTION_MODE] = SURVEY_EXECUTION_MODE_NORMAL;
     }
     $survey = new Survey($_SESSION['SUID']);
     $section = $survey->getSection($seid);
     $variable = $survey->getVariableDescriptive($vsid);
     $headers[] = array('link' => setSessionParamsHref(array('page' => 'sysadmin.output'), Language::headerOutput()), 'label' => Language::headerOutputData());
     $headers[] = array('link' => setSessionParamsHref(array('page' => 'sysadmin.output.statistics'), Language::headerOutputStatistics()), 'label' => Language::headerOutputStatistics());
     $headers[] = array('link' => setSessionParamsHref(array('page' => 'sysadmin.output.statistics.paradata'), Language::headerOutputStatisticsParadata()), 'label' => Language::headerOutputStatisticsParadata());
     $headers[] = array('link' => setSessionParamsHref(array('page' => 'sysadmin.output.statistics.paradata', 'suid' => $suid), $survey->getName()), 'label' => $survey->getName());
     $headers[] = array('link' => setSessionParamsHref(array('page' => 'sysadmin.output.statistics.paradata.section', 'seid' => $seid), $section->getName()), 'label' => $section->getName());
     $headers[] = array('link' => '', 'label' => $variable->getName());
     $returnStr = $this->showOutputHeader($headers);
     $returnStr .= '<form id=surveyform method="post">';
     $returnStr .= '<span class="label label-default">' . Language::labelAggregateDetails() . '</span>';
     $returnStr .= '<div class="well well-sm">';
     $returnStr .= '<table>';
     $returnStr .= $this->displayComboBox();
     $returnStr .= '<tr><td>' . Language::labelOutputDataType() . '</td><td>';
     $returnStr .= "<select id='typedata' class='selectpicker show-tick' name=" . DATA_OUTPUT_TYPEDATA . ">";
     $selected = array('', '');
     if (loadvar(DATA_OUTPUT_TYPEDATA) != "") {
         $selected[loadvar(DATA_OUTPUT_TYPEDATA)] = "selected";
     }
     //print_r($selected);
     $returnStr .= "<option " . $selected[0] . " value=" . DATA_REAL . ">" . Language::optionsDataReal() . "</option>";
     $returnStr .= "<option " . $selected[1] . " value=" . DATA_TEST . ">" . Language::optionsDataTest() . "</option>";
     $returnStr .= "</select>";
     $returnStr .= "</td></tr>";
     $returnStr .= '<script type=text/javascript>
                     $(document).ready(function(){
                         $("#typedata").on("change", function(event) {
                             document.getElementById("surveyform").submit();
                         });
                     });
                 </script>';
     $returnStr .= "</form>";
     $returnStr .= '</table>';
     $returnStr .= '<br/><table>';
     $returnStr .= '<tr><td valign=top style="min-width: 100px;">' . Language::labelTypeEditGeneralQuestion() . ": </td><td valign=top>";
     $returnStr .= $variable->getQuestion() . "</td></tr>";
     $returnStr .= '<tr><td valign=top>' . Language::labelTypeEditGeneralAnswerType() . ": </td><td valign=top>";
     $answertype = $variable->getAnswerType();
     $arr = Language::getAnswerTypes();
     $returnStr .= $arr[$answertype] . "</td></tr>";
     if (inArray($answertype, array(ANSWER_TYPE_ENUMERATED, ANSWER_TYPE_SETOFENUMERATED, ANSWER_TYPE_DROPDOWN, ANSWER_TYPE_MULTIDROPDOWN))) {
         $returnStr .= '<tr><td valign=top>' . Language::labelTypeEditGeneralCategories() . ": </td><td valign=top>";
         $returnStr .= str_replace("\r\n", "<br/>", $variable->getOptionsText()) . "</td></tr>";
     } else {
         if (inArray($answertype, array(ANSWER_TYPE_RANGE, ANSWER_TYPE_SLIDER))) {
             $returnStr .= '<tr><td valign=top>' . Language::labelTypeEditRangeMinimum() . ": </td><td valign=top>";
             $returnStr .= $variable->getMinimum() . "</td></tr>";
             $returnStr .= '<tr><td valign=top>' . Language::labelTypeEditRangeMaximum() . ": </td><td valign=top>";
             $returnStr .= $variable->getMaximum() . "</td></tr>";
         }
     }
     if ($variable->isArray()) {
         $returnStr .= $this->displayComboBox();
         $returnStr .= '<tr><td valign=top>' . Language::labelTypeEditGeneralArrayInstance() . ": </td><td valign=top>";
         $options = $this->getArrayData($_SESSION['SUID'], $variable->getName());
         $returnStr .= "<form id=instanceform method=post>";
         $returnStr .= "<select class='selectpicker show-tick' id='arrayinstance' name='arrayinstance'>";
         foreach ($options as $op) {
             $returnStr .= "<option value='" . $op . "'>" . $op . "</option>";
         }
         $returnStr .= "</select>";
         $returnStr .= "</td></tr>";
         $params = getSessionParams();
         $params['vsid'] = $variable->getVsid();
         $returnStr .= setSessionParamsPost($params);
         $returnStr .= "</form>";
         $returnStr .= "<script type='text/javascript'>";
         $returnStr .= "\$('#arrayinstance').change(function () {\n                                \$('#instanceform').submit();\n                            });";
         $returnStr .= "</script>";
     }
     $returnStr .= "</table></div>";
     $returnStr .= '<span class="label label-default">' . Language::labelAggregateData() . '</span>';
     $returnStr .= '<div class="well well-sm">';
     $data = new Data();
     $brackets = array();
     $varname = $variable->getName();
     if ($variable->isArray()) {
         if (loadvar("arrayinstance") != "") {
             $varname = loadvar("arrayinstance");
         } else {
             $varname = $varname . "[1]";
         }
     }
     $paradata = $data->getParaData($variable, $varname);
     //$aggdata = array(2,5);
     if (sizeof($paradata) == 0) {
         $returnStr .= "<br>" . $this->displayWarning(Language::messageNoData());
     } else {
         $returnStr .= '<script src="js/highcharts.js"></script>';
         $returnStr .= '<script src="js/modules/exporting.js"></script>';
         $returnStr .= '<script src="js/export-csv.js"></script>';
         $returnStr .= '<div id="chart1" style="min-width: 310px; height: 400px; margin: 0 auto"></div>';
         $errorlabels = Language::errorCodeLabels();
         $brackets = array();
         foreach ($paradata as $k => $p) {
             if (isset($errorlabels[$k])) {
                 $brackets[] = $errorlabels[$k];
             }
         }
         $returnStr .= $this->createParadataChart($variable->getName(), implode(",", array_values($paradata)), $brackets);
     }
     $returnStr .= "</div>";
     $returnStr .= '</p></div>    </div>';
     //container and wrap
     $returnStr .= $this->showBottomBar();
     $returnStr .= $this->showFooter(false);
     return $returnStr;
 }
Ejemplo n.º 8
0
    function showPreferences($user)
    {
        $returnStr = $this->showHeader(Language::messageSMSTitle(), '<link href="bootstrap/css/sticky-footer-navbar.min.css" rel="stylesheet"><link href="css/uscicadmin.css" rel="stylesheet">');
        $returnStr .= '<div id="wrap"><br/><br/><br/>';
        $returnStr .= $this->showNavBar();
        $returnStr .= '<div class="container"><p>';
        //CONTENT
        $returnStr .= '<h4>' . Language::linkPreferences() . '</h4>';
        $returnStr .= '<form method=post>';
        $returnStr .= setSessionParamsPost(array('page' => 'supervisor.preferencesres'));
        $returnStr .= '<input type="hidden" name="filter" id="filter" value="' . $user->getFilter() . '">';
        $returnStr .= '<div class="panel panel-default">

  <div class="panel-heading">

    <h3 class="panel-title">' . Language::labelSupervisorFilters() . '</h3>

  </div>

  <div class="panel-body">

';
        $returnStr .= '<table>';
        //$returnStr .= '<tr><td style="width:110px">Households/Respondents:</td><td>';
        /*    $returnStr .= '<div id="filterselector" class="btn-group">
        
                  <button type="button" class="btn btn-default active" value=1>None</button>
        
                  <button type="button" class="btn btn-default" value=2>Hide completed</button>
        
                  </div></td><td colspan=2></td></tr>';
                 */
        $returnStr .= '<input type=hidden name="region" id="region" value="' . $user->getRegionFilter() . '">';
        $returnStr .= '<tr><td style="width:110px">' . Language::labelSupervisorFilterRegion() . '</td><td>';
        $returnStr .= '<div id="regionselector" class="btn-group">

				<button type="button" class="btn btn-default active" value=0>' . Language::labelSupervisorFilterRegionAll() . '</button>

				<button type="button" class="btn btn-default" value=1>' . Language::labelSupervisorFilterRegionOne() . '</button>

			</div></td><td style="width:10px;"></td><td>';
        $returnStr .= '<div id="regiondiv" style="display: none">';
        $returnStr .= $this->displayPsus($user->getPuid());
        $returnStr .= '</div>';
        $returnStr .= '</td></tr></table>';
        $returnStr .= '

  </div>

</div>';
        $returnStr .= '<div class="panel panel-default">

  <div class="panel-heading">

    <h3 class="panel-title">' . Language::labelSettings() . '</h3>

  </div>

  <div class="panel-body">

';
        $returnStr .= '<input type="hidden" name="testmode" id="testmode" value="' . $user->getTestMode() . '">';
        $returnStr .= '<table><tr><td style="width:110px">' . Language::labelSupervisorSurvey() . ':</td><td>

    

			<div id="testmodeselector" class="btn-group">

				<button type="button" class="btn btn-default active" value=0>' . Language::labelNormalMode() . '</button>

				<button type="button" class="btn btn-default" value=1>' . Language::labelTestMode() . '</button>

			</div></td><td style="width:10px;"></td><td>';
        $returnStr .= '<div id="testmodediv" style="display: none">';
        //        $returnStr .= '<a href="' . setSessionParams(array('page' => 'interviewer.preferences.resettest')) . '">' . Language::linkResetTestCases() . '</a>';
        $returnStr .= '</div>';
        $returnStr .= '</td></tr>';
        $returnStr .= '<tr><td style="width:110px">' . Language::labelCommunication() . '</td><td colspan=2>';
        $returnStr .= $this->displayCommunicationSelect($user->getCommunication());
        $returnStr .= '</td></tr>';
        $returnStr .= '</table>';
        $returnStr .= '<script>';
        $returnStr .= '$(\'#filterselector button\').click(function() {

		  $(\'#filterselector button\').addClass(\'active\').not(this).removeClass(\'active\');

		  $(\'#filter\').val("1");

		  if ($(this).val() == "2") {

		    $(\'#filter\').val("2");

		  }  

    });';
        $returnStr .= '$(\'#regionselector button\').click(function() {

		  $(\'#regiondiv\').css("display", "none");

		  $(\'#regionselector button\').addClass(\'active\').not(this).removeClass(\'active\');

		  $(\'#region\').val("0");

		  if ($(this).val() != 0) {

		    $(\'#regiondiv\').css("display", "block");

		    $(\'#region\').val("1");

		  }

		  }); ';
        $returnStr .= '$(\'#testmodeselector button\').click(function() {

		  $(\'#testmodediv\').css("display", "none");

		  $(\'#testmodeselector button\').addClass(\'active\').not(this).removeClass(\'active\');

		  $(\'#testmode\').val("0");

		  if ($(this).val() == "1") {

		    $(\'#testmodediv\').css("display", "block");

		    $(\'#testmode\').val("1");

		  }

		  });



if ($(\'#filter\').val() == "2"){

  $(\'#filterselector button\').click();

}

if ($(\'#region\').val() != 0){

  $(\'#regiondiv\').css("display", "block");

  $(\'#regionselector button\').click();

}

if ($(\'#testmode\').val() == "1"){

  $(\'#testmodediv\').css("display", "block");

  $(\'#testmodeselector button\').click();

}

</script>';
        $returnStr .= '

  </div>

</div>';
        $returnStr .= '<button type="submit" class="btn btn-default navbar-btn">' . Language::buttonSave() . '</button>';
        $returnStr .= '</form>';
        //END CONTENT
        $returnStr .= '</p></div>    </div>';
        //container and wrap
        $returnStr .= $this->showBottomBar();
        $returnStr .= $this->showFooter();
        return $returnStr;
    }
Ejemplo n.º 9
0
 function showQuestion($variablenames, $rgid, $groupname = "")
 {
     // get language
     $this->language = getSurveyLanguage();
     // get sub display info
     $this->subs = $this->engine->getSubDisplays();
     // strip preceding ~ (in case of group statements)
     if (startsWith($variablenames, "~")) {
         $variablenames = substr($variablenames, 1);
     }
     /* filter out any subgroups so we get the real variable names only */
     $variables = explode("~", $variablenames);
     $realvariables = $this->getRealVariables($variables);
     $queryvariables = explode("~", $realvariables);
     $this->queryvariables = $queryvariables;
     /* determine query object that holds settings */
     //if (sizeof($queryvariables) == 1) {
     if (trim($groupname) == "") {
         // go to variable only if not a group name, otherwise assume group object
         $queryobject = $this->engine->getVariableDescriptive($queryvariables[0]);
     } else {
         $queryobject = $this->engine->getGroup($groupname);
     }
     /* header and body start */
     global $survey;
     /* add post parameters */
     $returnStr = setSessionParamsPost(array(SESSION_PARAM_LASTACTION => $this->engine->getLastSurveyAction(), SESSION_PARAM_SURVEY => $survey->getSuid(), SESSION_PARAM_PRIMKEY => $this->primkey, SESSION_PARAM_RGID => $rgid, SESSION_PARAM_VARIABLES => $realvariables, SESSION_PARAM_GROUP => $groupname, SESSION_PARAM_LANGUAGE => getSurveyLanguage(), SESSION_PARAM_MODE => getSurveyMode(), SESSION_PARAM_TEMPLATE => getSurveyTemplate(), SESSION_PARAM_VERSION => getSurveyVersion(), SESSION_PARAM_TIMESTAMP => time(), SESSION_PARAM_SEID => $this->engine->getSeid(), SESSION_PARAM_MAINSEID => $this->engine->getMainSeid()));
     /* determine variable objects */
     $varobjects = array();
     $sectionheaders = array();
     $sectionfooters = array();
     $pagejavascript = array();
     $scriptarray = array();
     //if (sizeof($queryvariables) == 1) {
     if (trim($groupname) == "") {
         if ($queryobject->isShowSectionHeader()) {
             $section = $this->engine->getSection($queryobject->getSeid());
             $sectionheaders[$queryobject->getSeid()] = $this->engine->replaceFills($section->getHeader());
         }
         if ($queryobject->isShowSectionFooter()) {
             $section = $this->engine->getSection($queryobject->getSeid());
             $sectionfooters[$queryobject->getSeid()] = $this->engine->replaceFills($section->getFooter());
         }
     } else {
         foreach ($queryvariables as $a) {
             $var = $this->engine->getVariableDescriptive($a);
             $varobjects[] = $var;
             $pagejavascript[] = $this->engine->getFill($a, $var, SETTING_JAVASCRIPT_WITHIN_PAGE);
             $scriptarray[] = $this->engine->getFill($var->getName(), $var, SETTING_SCRIPTS);
             $scriptarray[] = $this->engine->getFill($var->getName(), $var, SETTING_STYLE_WITHIN_PAGE);
         }
         foreach ($varobjects as $a) {
             if ($a->isShowSectionHeader()) {
                 $section = $this->engine->getSection($a->getSeid());
                 $sectionheaders[$a->getSeid()] = $this->engine->replaceFills($section->getHeader());
             }
         }
         foreach ($varobjects as $a) {
             if ($a->isShowSectionFooter()) {
                 $section = $this->engine->getSection($a->getSeid());
                 $sectionfooters[$a->getSeid()] = $this->engine->replaceFills($section->getFooter());
             }
         }
     }
     $sectionheaders = array_unique($sectionheaders);
     foreach ($sectionheaders as $k => $v) {
         if (trim($v) == "") {
             unset($sectionheaders[$k]);
         }
     }
     $sectionfooters = array_unique($sectionfooters);
     foreach ($sectionfooters as $k => $v) {
         if (trim($v) == "") {
             unset($sectionfooters[$k]);
         }
     }
     /* add section header(s) */
     if (sizeof($sectionheaders) > 0) {
         $returnStr .= "<div id='uscic-section-headers'>";
         foreach ($sectionheaders as $k => $h) {
             $returnStr .= '<div id="seid_' . $k . '" uscic-texttype="' . SETTING_PAGE_HEADER . '" class="' . $this->inlineeditable . '">';
             $returnStr .= $h;
             $returnStr .= "</div>";
         }
         //$returnStr .= implode("", $sectionheaders);
         $returnStr .= "</div>";
     }
     /* error display at top */
     if ($queryobject && $queryobject->getErrorPlacement() == ERROR_PLACEMENT_AT_TOP) {
         $returnStr .= "<div id='uscic-errors' class='form-group'></div>";
     }
     /* determine what needs to be included or not */
     $this->showdk = false;
     $this->dkrfna = false;
     $this->dkrfnainline = false;
     $doempty = false;
     $doerror = false;
     $screendumps = false;
     $ifempty = null;
     $iferror = null;
     $inputmasking = false;
     $keyboardbinding = false;
     $paradata = false;
     // no group
     if (trim($groupname) == "") {
         $pagejavascript[] = $this->engine->getFill($queryobject->getName(), $queryobject, SETTING_JAVASCRIPT_WITHIN_PAGE);
         $scriptarray[] = $this->engine->getFill($queryobject->getName(), $queryobject, SETTING_SCRIPTS);
         $scriptarray[] = $this->engine->getFill($queryobject->getName(), $queryobject, SETTING_STYLE_WITHIN_PAGE);
         $td = $queryobject->getIfEmpty();
         if ($td != IF_EMPTY_ALLOW) {
             $doempty = true;
             $ifempty = $td;
             $returnStr .= "<input type=hidden id=em name=em value=0>";
         }
         $td = $queryobject->getIfError();
         if ($td != IF_ERROR_ALLOW) {
             $doerror = true;
             $iferror = $td;
             $returnStr .= "<input type=hidden id=er name=er value=0>";
         }
         $inputmasking = $queryobject->isInputMaskEnabled();
         $keyboardbinding = $queryobject->isKeyboardBindingEnabled();
         $screendumps = $queryobject->isScreendumpStorage();
         $paradata = $queryobject->isParadata();
         $this->dkrfna = $queryobject->isIndividualDKRFNA();
         $this->dkrfnainline = $queryobject->isIndividualDKRFNAInline();
         if (!inArray($queryobject->getAnswerType(), array(ANSWER_TYPE_NONE, ANSWER_TYPE_SECTION))) {
             $this->showdk = true;
         }
     } else {
         $paradata = $queryobject->isParadata();
         $screendumps = $queryobject->isScreendumpStorage();
         foreach ($varobjects as $a) {
             if (!inArray($a->getAnswerType(), array(ANSWER_TYPE_NONE, ANSWER_TYPE_SECTION))) {
                 $this->showdk = true;
                 break;
             }
         }
         foreach ($varobjects as $a) {
             $t = $a->getAnswerType();
             if (!inArray($t, array(ANSWER_TYPE_NONE, ANSWER_TYPE_SECTION)) && $a->isInputMaskEnabled() == true) {
                 $inputmasking = true;
                 break;
             }
         }
         $this->dkrfna = $queryobject->isIndividualDKRFNA();
         $this->dkrfnainline = $queryobject->isIndividualDKRFNAInline();
         $keyboardbinding = $queryobject->isKeyboardBindingEnabled();
         foreach ($varobjects as $a) {
             $t = $a->getAnswerType();
             if (!inArray($t, array(ANSWER_TYPE_NONE, ANSWER_TYPE_SECTION)) && $a->getIfEmpty() != IF_EMPTY_ALLOW) {
                 $doempty = true;
                 break;
             }
         }
         foreach ($varobjects as $a) {
             $t = $a->getAnswerType();
             if (!inArray($t, array(ANSWER_TYPE_NONE, ANSWER_TYPE_SECTION)) && $a->getIfError() != IF_ERROR_ALLOW) {
                 $doerror = true;
                 break;
             }
         }
         $ifempty = IF_EMPTY_WARN;
         foreach ($varobjects as $a) {
             $t = $a->getAnswerType();
             if (!inArray($t, array(ANSWER_TYPE_NONE, ANSWER_TYPE_SECTION)) && $a->getIfEmpty() == IF_EMPTY_NOTALLOW) {
                 $ifempty = IF_EMPTY_NOTALLOW;
                 break;
             }
         }
         $iferror = IF_ERROR_WARN;
         foreach ($varobjects as $a) {
             $t = $a->getAnswerType();
             if (!inArray($t, array(ANSWER_TYPE_NONE, ANSWER_TYPE_SECTION)) && $a->getIfError() == IF_ERROR_NOTALLOW) {
                 $iferror = IF_ERROR_NOTALLOW;
                 break;
             }
         }
         /* check group setting for group error checking */
         $td = $queryobject->getIfError();
         if ($td == IF_ERROR_NOTALLOW) {
             $iferror = IF_ERROR_NOTALLOW;
         }
         if ($td != IF_ERROR_ALLOW) {
             $doerror = true;
         }
         if ($doempty) {
             $returnStr .= "<input type=hidden id=em name=em value=0>";
         }
         if ($doerror) {
             $returnStr .= "<input type=hidden id=er name=er value=0>";
         }
         /* TODO: add any group page javascripts and external scripts */
         //$pagejavascript[] = $this->engine->getFill($a->getName(), $a, SETTING_JAVASCRIPT_WITHIN_PAGE);
     }
     /* process dk/rf/na so we have it when showing questions */
     if ($this->showdk == true) {
         // see if any dk/rf/na
         foreach ($queryvariables as $q) {
             $this->engine->processAnswer($q);
         }
     }
     /* question and answer display */
     //echo $realvariables . '||||';
     $this->engine->determineDisplayNumbers($realvariables);
     if (sizeof($queryvariables) > 1) {
         $returnStr .= $this->showQuestions($variablenames, $realvariables, $groupname);
     } else {
         $returnStr .= $this->showQuestions($variablenames, $realvariables, $groupname);
     }
     /* error display at bottom */
     if ($queryobject && $queryobject->getErrorPlacement() == ERROR_PLACEMENT_AT_BOTTOM) {
         $returnStr .= "<div id=uscic-errors class='form-group'></div>";
     }
     /* add section footer(s) */
     if (sizeof($sectionfooters) > 0) {
         $returnStr .= "<div id='uscic-section-footers'>";
         foreach ($sectionfooters as $k => $h) {
             $returnStr .= '<div id="seid_' . $k . '" uscic-texttype="' . SETTING_PAGE_FOOTER . '" class="' . $this->inlineeditable . '">';
             $returnStr .= $h;
             $returnStr .= "</div>";
         }
         //$returnStr .= implode("", $sectionfooters);
         $returnStr .= "</div>";
     }
     /* button panel */
     $qa = "";
     if ($queryobject) {
         $align = $queryobject->getButtonAlignment();
         switch ($align) {
             case ALIGN_LEFT:
                 $qa = "text-left";
                 break;
             case ALIGN_RIGHT:
                 $qa = "text-right";
                 break;
             case ALIGN_JUSTIFIED:
                 $qa = "text-justify";
                 break;
             case ALIGN_CENTER:
                 $qa = "text-center";
                 break;
             default:
                 break;
         }
     }
     $returnStr .= $this->displayEndBody();
     $back = false;
     $returnStrButtons = "";
     if ($inputmasking == true) {
         $unmask = "unmaskForm();";
     }
     /* add script to capture screenshot of currently displayed screen on button click */
     $screenshotscript = "";
     $extrascripts = "";
     $extracss = "";
     if ($screendumps == true) {
         $screenshotscript = 'captureScreenshot(); ';
         // http://stackoverflow.com/questions/982717/how-do-i-get-the-entire-pages-html-with-jquery
         global $survey;
         //$params = array(POST_PARAM_DEFAULT_LANGUAGE => getDefaultSurveyLanguage(), POST_PARAM_DEFAULT_MODE => getDefaultSurveyMode(), POST_PARAM_LANGUAGE => getSurveyLanguage(), POST_PARAM_MODE => getSurveyMode(), POST_PARAM_VERSION => getSurveyVersion(), POST_PARAM_STATEID => $this->engine->getStateId(), POST_PARAM_DISPLAYED => $this->engine->getDisplayed(), POST_PARAM_PRIMKEY => $this->engine->getPrimaryKey(), POST_PARAM_SUID => $this->engine->getSuid());
         //$r = setSessionsParamString($params);
         $returnStr .= "<input type=hidden name='" . POST_PARAM_SCREENSHOT . "' id='" . POST_PARAM_SCREENSHOT . "' value=''/>";
         $extrascripts .= minifyScript("<script type='text/javascript'>\n                            function captureScreenshot() {                           \n                                \$('#" . POST_PARAM_SCREENSHOT . "').val(encodeURIComponent(getDocTypeAsString() + \$('html')[0].outerHTML));                                 \n                            }\n                            \n                            var getDocTypeAsString = function () { \n                                var node = document.doctype;\n                                return node ? \"<!DOCTYPE \" + node.name + (node.publicId ? ' PUBLIC \"' + node.publicId + '\"' : '') + (!node.publicId && node.systemId ? ' SYSTEM' : '') + (node.systemId ? ' \"' + node.systemId + '\"' : '') + '>\\n' : '';\n                            };\n                            </script>");
     }
     /* we have object that holds display settings */
     $returnStrButtons = "";
     if ($queryobject) {
         //$labels = array($queryobject->getLabelNextButton(), $queryobject->getLabelDKButton(), $queryobject->getLabelRFButton(), $queryobject->getLabelNAButton());
         $buttonformat = $queryobject->getButtonFormatting();
         if ($this->engine->getForward() == true) {
             if ($queryobject->getShowBackButton() == BUTTON_YES) {
                 $clickback = $this->engine->replaceFills($queryobject->getClickBack());
                 $clickback = str_replace("'", "", $clickback);
                 $back = true;
                 $returnStrButtons .= '<button disabled="disabled" class="btn btn-default" name="backbutton" id="uscic-backbutton" value="' . $this->engine->replaceFills($queryobject->getLabelBackButton()) . '" type="button" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes($this->engine->replaceFills($queryobject->getLabelBackButton())) . '"; ' . $unmask . ' ' . $clickback . ' document.getElementById("form").submit();\'>' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelBackButton()), $buttonformat) . '</button>';
             }
         } else {
             if ($this->engine->isFirstState() == false) {
                 if ($queryobject->getShowBackButton() == BUTTON_YES) {
                     $clickback = $this->engine->replaceFills($queryobject->getClickBack());
                     $clickback = str_replace("'", "", $clickback);
                     $back = true;
                     $returnStrButtons .= '<button disabled="disabled" class="btn btn-default" name="backbutton" id="uscic-backbutton" value="' . $this->engine->replaceFills($queryobject->getLabelBackButton()) . '" type="button" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes($this->engine->replaceFills($queryobject->getLabelBackButton())) . '"; ' . $unmask . ' ' . $clickback . ' document.getElementById("form").submit(); \'>' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelBackButton()), $buttonformat) . '</button>';
                 }
             }
         }
         if ($queryobject->getShowNextButton() == BUTTON_YES) {
             $clicknext = $this->engine->replaceFills($queryobject->getClickNext());
             $clicknext = str_replace("'", "", $clicknext);
             /* we do empty and/or error checking for single variable */
             //if (sizeof($queryvariables) == 1) {
             if (trim($groupname) == "") {
                 if ($doempty || $doerror) {
                     $extra_empty_check = "";
                     $lastcheck = "";
                     if ($doempty) {
                         $lastcheck .= 'empty == true';
                         // THIS IS CURRENT, ALLOWS TO CHECK ONLY ONCE AND THEN JUST NOT CHECK ANYMORE: $extra_empty_check = "var empty = false; if (document.getElementById(\"em\").value == 0 && validateFormEmpty() == false) {";
                         $extra_empty_check = "var empty = false; if (validateFormEmpty() == false) {";
                         if ($ifempty == IF_EMPTY_WARN) {
                             $extra_empty_check .= "document.getElementById(\"em\").value=1; ";
                         }
                         $extra_empty_check .= "empty = true;}";
                     }
                     $extra_error_check = "";
                     if ($doerror) {
                         if ($lastcheck != "") {
                             $lastcheck .= '||';
                         }
                         $lastcheck .= 'error == true';
                         $extra_error_check = "var error = false;";
                         // THIS IS CURRENT, ALLOWS TO CHECK ONLY ONCE AND THEN JUST NOT CHECK ANYMORE: $extra_error_check .= "if (document.getElementById(\"er\").value == 0 && validateFormError() == false) {";
                         $extra_error_check .= "if (validateFormError() == false) {";
                         if ($iferror == IF_ERROR_WARN) {
                             $extra_error_check .= "document.getElementById(\"er\").value=1; ";
                         }
                         $extra_error_check .= "error = true;}";
                     }
                     if ($lastcheck != "") {
                         $lastcheck = "if (" . $lastcheck . ") { enableButtons(); return false;}";
                     }
                     $returnStrButtons .= '<button disabled="disabled" class="btn btn-default" name="nextbutton" id="uscic-nextbutton" type="button" onclick=\'disableButtons(); ' . $screenshotscript . ' clearForm();' . $extra_empty_check . ' ' . $extra_error_check . ' ' . $lastcheck . ' document.getElementById("navigation").value="' . addslashes($this->engine->replaceFills($queryobject->getLabelNextButton())) . '"; ' . $unmask . ' ' . $clicknext . ' document.getElementById("form").submit();\' value="' . $this->engine->replaceFills($queryobject->getLabelNextButton()) . '">' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelNextButton()), $buttonformat) . '</button>';
                 } else {
                     $returnStrButtons .= '<button disabled="disabled" class="btn btn-default" name="nextbutton" id="uscic-nextbutton" type="button" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes($this->engine->replaceFills($queryobject->getLabelNextButton())) . '"; ' . $unmask . ' ' . $clicknext . ' document.getElementById("form").submit();\' value="' . $this->engine->replaceFills($queryobject->getLabelNextButton()) . '">' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelNextButton()), $buttonformat) . '</button>';
                 }
             } else {
                 if ($doempty || $doerror) {
                     $extra_empty_check = "";
                     $lastcheck = "";
                     if ($doempty) {
                         $lastcheck .= 'empty == true';
                         // THIS IS CURRENT, ALLOWS TO CHECK ONLY ONCE AND THEN JUST NOT CHECK ANYMORE: $extra_empty_check = "var empty = false; if (document.getElementById(\"em\").value == 0 && validateFormEmpty() == false) {";
                         $extra_empty_check = "var empty = false; if (validateFormEmpty() == false) {";
                         //echo 'jjjjj' . $queryobject->getIfEmpty();
                         if ($ifempty == IF_EMPTY_WARN) {
                             $extra_empty_check .= "document.getElementById(\"em\").value=1; ";
                         }
                         if ($this->datatables == true) {
                             $extra_empty_check .= 'resizeDataTables(); ';
                         }
                         $extra_empty_check .= "empty = true;}";
                     }
                     $extra_error_check = "";
                     if ($doerror) {
                         if ($lastcheck != "") {
                             $lastcheck .= '||';
                         }
                         $lastcheck .= 'error == true';
                         $extra_error_check = "var error = false;";
                         // THIS IS CURRENT, ALLOWS TO CHECK ONLY ONCE AND THEN JUST NOT CHECK ANYMORE: $extra_error_check .= "if (document.getElementById(\"er\").value == 0 && validateFormError() == false) {";
                         $extra_error_check .= "if (validateFormError() == false) {";
                         if ($iferror == IF_ERROR_WARN) {
                             $extra_error_check .= "document.getElementById(\"er\").value=1; ";
                         }
                         if ($this->datatables == true) {
                             $extra_error_check .= 'resizeDataTables(); ';
                         }
                         $extra_error_check .= "error = true;}";
                     }
                     if ($lastcheck != "") {
                         $lastcheck = "if (" . $lastcheck . ") { enableButtons(); return false;}";
                     }
                     $returnStrButtons .= '<button class="btn btn-default" name="nextbutton" id="uscic-nextbutton" type="button" onclick=\'disableButtons(); ' . $screenshotscript . 'clearForm();' . $extra_empty_check . ' ' . $extra_error_check . ' ' . $lastcheck . ' document.getElementById("navigation").value="' . addslashes($this->engine->replaceFills($queryobject->getLabelNextButton())) . '"; ' . $unmask . ' ' . $clicknext . ' document.getElementById("form").submit();\' value="' . $this->engine->replaceFills($queryobject->getLabelNextButton()) . '">' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelNextButton()), $buttonformat) . '</button>';
                 } else {
                     $returnStrButtons .= '<button class="btn btn-default" name="nextbutton" id="uscic-nextbutton" type="button" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes($this->engine->replaceFills($queryobject->getLabelNextButton())) . '"; ' . $unmask . ' ' . $clicknext . ' document.getElementById("form").submit();\' value="' . $this->engine->replaceFills($queryobject->getLabelNextButton()) . '">' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelNextButton()), $buttonformat) . '</button>';
                 }
             }
         }
         /* handle dk/rf/na buttons */
         if ($this->showdk == true) {
             /* if not individual buttons OR only one question */
             if ($this->dkrfna == false) {
                 if ($queryobject->getShowDKButton() == BUTTON_YES || $queryobject->getShowRFButton() == BUTTON_YES || $queryobject->getShowNAButton() == BUTTON_YES || $queryobject->getShowRemarkButton() == BUTTON_YES) {
                     $returnStrButtons .= '<span class="pull-right">';
                     if ($queryobject->getShowDKButton() == BUTTON_YES) {
                         $highlight = "";
                         $click = $this->engine->replaceFills($queryobject->getClickDK());
                         $click = str_replace("'", "", $click);
                         if (sizeof($this->engine->getDKAnswers()) > 0) {
                             $highlight = "uscic-dkbutton-active";
                         }
                         $returnStrButtons .= '<button disabled="disabled" name="dkbutton" class="btn btn-default ' . $highlight . '" id="uscic-dkbutton" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes($this->engine->replaceFills($queryobject->getLabelDKButton())) . '"; ' . $click . ' document.getElementById("form").submit();\' value="' . $this->engine->replaceFills($queryobject->getLabelDKButton()) . '" type="button">' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelDKButton()), $buttonformat) . '</button>';
                     }
                     if ($queryobject->getShowRFButton() == BUTTON_YES) {
                         $highlight = "";
                         $click = $this->engine->replaceFills($queryobject->getClickRF());
                         $click = str_replace("'", "", $click);
                         if (sizeof($this->engine->getRFAnswers()) > 0) {
                             $highlight = "uscic-rfbutton-active";
                         }
                         $returnStrButtons .= '<button disabled="disabled" name="rfbutton" class="btn btn-default ' . $highlight . '" id="uscic-rfbutton" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes($this->engine->replaceFills($queryobject->getLabelRFButton())) . '"; ' . $click . ' document.getElementById("form").submit();\' value="' . $this->engine->replaceFills($queryobject->getLabelRFButton()) . '" type="button">' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelRFButton()), $buttonformat) . '</button>';
                     }
                     if ($queryobject->getShowNAButton() == BUTTON_YES) {
                         $highlight = "";
                         $click = $this->engine->replaceFills($queryobject->getClickNA());
                         $click = str_replace("'", "", $click);
                         if (sizeof($this->engine->getNAAnswers()) > 0) {
                             $highlight = "uscic-nabutton-active";
                         }
                         $returnStrButtons .= '<button disabled="disabled" name="nabutton" class="btn btn-default ' . $highlight . '" id="uscic-nabutton" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes($this->engine->replaceFills($queryobject->getLabelNAButton())) . '"; ' . $click . ' document.getElementById("form").submit();\' value="' . $this->engine->replaceFills($queryobject->getLabelNAButton()) . '" type="button">' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelNAButton()), $buttonformat) . '</button>';
                     }
                 }
             }
         }
         /* handle update button */
         if ($queryobject->getShowUpdateButton() == BUTTON_YES) {
             if ($this->dkrfna == true) {
                 $returnStrButtons .= '<span class="pull-right">';
             }
             $click = $this->engine->replaceFills($queryobject->getClickUpdate());
             $click = str_replace("'", "", $click);
             $returnStrButtons .= '<button disabled="disabled" class="btn btn-default" name="updatebutton" id="uscic-updatebutton" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes($this->engine->replaceFills($queryobject->getLabelUpdateButton())) . '"; ' . $click . ' document.getElementById("form").submit();\' value="' . $this->engine->replaceFills($queryobject->getLabelUpdateButton()) . '" type="button">' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelUpdateButton()), $buttonformat) . '</button>';
         }
         /* handle remark button */
         if ($queryobject->getShowRemarkButton() == BUTTON_YES) {
             if ($this->dkrfna == true && $queryobject->getShowUpdateButton() != BUTTON_YES) {
                 $returnStrButtons .= '<span class="pull-right">';
             }
             $rem = $this->engine->loadRemark();
             $returnStrButtons .= $this->showRemarkModal($queryobject, $qa, $rem);
             $highlight = "";
             if (trim($rem) != "") {
                 $returnStrButtons .= "<input type='hidden' name='" . POST_PARAM_REMARK_INDICATOR . "' id='" . POST_PARAM_REMARK_INDICATOR . "' value='1'>";
                 $highlight = "uscic-remarkbutton-active";
             } else {
                 $returnStrButtons .= "<input type='hidden' name='" . POST_PARAM_REMARK_INDICATOR . "' id='" . POST_PARAM_REMARK_INDICATOR . "'>";
             }
             $returnStrButtons .= '<button disabled="disabled" class="btn btn-default ' . $highlight . '" name="remark name="nextbutton"button" id="uscic-remarkbutton" data-toggle="modal" data-target="#remarkmodal" type="button">' . $this->applyFormatting($this->engine->replaceFills($queryobject->getLabelRemarkButton()), $buttonformat) . '</button>';
         }
         if ($this->showdk == true && $this->dkrfna == false || $queryobject->getShowUpdateButton() == BUTTON_YES || $queryobject->getShowRemarkButton() == BUTTON_YES) {
             $returnStrButtons .= '</span>';
         }
     } else {
         if ($this->engine->getForward() == true) {
             $back = true;
             $returnStrButtons .= '<button disabled="disabled" class="btn btn-default" name="backbutton" id="uscic-backbutton" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes(Language::buttonBack()) . '"; ' . $unmask . ' document.getElementById("form").submit();\' value="' . Language::buttonBack() . '" type="button">' . Language::buttonBack() . '</button>';
         } else {
             if ($this->engine->isFirstState() == false) {
                 $back = true;
                 $returnStrButtons .= '<button disabled="disabled" class="btn btn-default" name="backbutton" id="uscic-backbutton" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes(Language::buttonBack()) . '"; ' . $unmask . ' document.getElementById("form").submit();\' value="' . Language::buttonBack() . '" type="button">' . Language::buttonBack() . '</button>';
             }
         }
         // next button
         $returnStrButtons .= '<button class="btn btn-default" id="uscic-nextbutton" name="nextbutton" type="button" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes(Language::buttonNext()) . '"; ' . $unmask . ' document.getElementById("form").submit();\' value="' . Language::buttonNext() . '">' . Language::buttonNext() . '</button>';
         /* generic dk/rf/na buttons button */
         if ($this->showdk == true) {
             /* if not individual buttons OR only one question */
             if ($this->dkrfna == false) {
                 $returnStrButtons .= '<span class="pull-right">';
                 $highlight = "";
                 if (sizeof($this->engine->getDKAnswers()) > 0) {
                     $highlight = "uscic-dkbutton-active";
                 }
                 $returnStrButtons .= '<button disabled="disabled" class="btn btn-default ' . $highlight . '" name="dkbutton" id="uscic-dkbutton" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes(Language::buttonDK()) . '"; document.getElementById("form").submit();\' value="' . Language::buttonDK() . '" type="button">' . Language::buttonDK() . '</button>';
                 $highlight = "";
                 if (sizeof($this->engine->getRFAnswers()) > 0) {
                     $highlight = "uscic-rfbutton-active";
                 }
                 $returnStrButtons .= '<button disabled="disabled" class="btn btn-default ' . $highlight . '" name="rfbutton" id="uscic-rfbutton" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes(Language::buttonRF()) . '"; document.getElementById("form").submit();\' value="' . Language::buttonRF() . '" type="button">' . Language::buttonRF() . '</button>';
                 $highlight = "";
                 if (sizeof($this->engine->getNAAnswers()) > 0) {
                     $highlight = "uscic-nabutton-active";
                 }
                 $returnStrButtons .= '<button disabled="disabled" class="btn btn-default ' . $highlight . '" name="nabutton" id="uscic-nabutton" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes(Language::buttonNA()) . '"; document.getElementById("form").submit();\' value="' . Language::buttonNA() . '" type="button">' . Language::buttonNA() . '</button>';
                 $returnStrButtons .= '</span>';
             }
         }
         /* handle update button */
         if ($queryobject->getShowUpdateButton() == BUTTON_YES) {
             if ($this->dkrfna == true) {
                 $returnStrButtons .= '<span class="pull-right">';
             }
             $returnStrButtons .= '<button disabled="disabled" class="btn btn-default" id="uscic-updatebutton" name="updatebutton" onclick=\'disableButtons(); ' . $screenshotscript . 'document.getElementById("navigation").value="' . addslashes($queryobject->getLabelUpdateButton()) . '"; document.getElementById("form").submit();\' value="' . $queryobject->getLabelUpdateButton() . '" type="button">' . $this->applyFormatting($queryobject->getLabelUpdateButton(), $buttonformat) . '</button>';
         }
         if ($this->showdk == true && $this->dkrfna == false || $queryobject->getShowUpdateButton() == BUTTON_YES || $queryobject->getShowRemarkButton() == BUTTON_YES) {
             $returnStrButtons .= '</span>';
         }
     }
     // add button panel
     if (trim($returnStrButtons) != "") {
         $returnStr .= '<div id="uscic-buttonpanel" class="panel-footer ' . $qa . ' uscic-buttonpanel">';
         $returnStr .= $returnStrButtons;
         $returnStr .= '</div>';
         // end of button panel
     }
     $returnStr .= '</div>';
     // end of footer panel
     // progress bar
     $returnStr .= $this->showProgress($rgid, $queryobject);
     $returnStr .= "</div>";
     $returnStr .= "</div>";
     if ($paradata == true) {
         $returnStr .= "<input type='hidden' id='pid' name='" . POST_PARAM_PARADATA . "' value=''/>";
     }
     $returnStr .= '</form>';
     /* add any page javascript */
     if (sizeof($pagejavascript) > 0) {
         $returnStr .= "<script type='text/javascript'>";
         $returnStr .= implode("\r\n", $pagejavascript);
         $returnStr .= "</script>";
     }
     /* anything below buttons panel */
     $returnStr .= $this->displayBelowButtons();
     /* validation */
     if ($queryobject) {
         if ($ifempty || $iferror) {
             $extrascripts .= $this->displayValidation($paradata, $this->errorchecks, $iferror, $ifempty, $queryobject->getErrorPlacement());
         }
     } else {
         $extrascripts .= $this->displayValidation($paradata, $this->errorchecks);
     }
     /* input masking */
     if ($inputmasking == true) {
         $extrascripts .= $this->displayMaskingScripts();
     }
     /* data tables */
     if ($this->datatables == true) {
         $extrascripts .= $this->displayDataTablesScripts(array(), false);
         $extracss .= $this->displayDataTablesCSS();
     }
     /* keyboard binding */
     if ($keyboardbinding == true) {
         $extrascripts .= $this->displayKeyBoardBinding($this->engine, $queryobject, $back);
     }
     /* button switches for dk/rf/na */
     if ($this->showdk == true && $this->dkrfna == true) {
         $extrascripts .= $this->displayRadioSwitch(false);
         $extracss .= $this->displayRadioSwitchCSS();
     }
     // button disabling
     $extrascripts .= $this->displayButtonToggling();
     /* button enabling on load */
     $extrascripts .= minifyScript('<script type="text/javascript">
                             $(document).ready(function() {
                                 enableButtons();
                             });
                         </script>');
     // session timeout handling
     if ($survey->getTimeout() == 1) {
         $extrascripts .= $this->displayTimeoutScripts();
     }
     /* enter submit link to next button click 
      * (adapted from http://stackoverflow.com/questions/895171/prevent-users-from-submitting-form-by-hitting-enter)
      */
     $extrascripts .= minifyScript("<script type='text/javascript'>\n                        \$(document).ready(function() {\$(':input').not('textarea').keypress(function(event) { if (event.keyCode != 13) { return true;} else {\$('#nextbutton').click(); return false;} });});</script>");
     $header = "";
     $footer = "";
     if ($queryobject) {
         //if (sizeof($queryvariables) == 1) {
         if (trim($groupname) == "") {
             $header = $this->engine->getFill($queryobject->getName(), $queryobject, SETTING_PAGE_HEADER);
             $footer = $this->engine->getFill($queryobject->getName(), $queryobject, SETTING_PAGE_FOOTER);
         } else {
             $header = $this->engine->replaceInlineFields($this->engine->replaceFills($queryobject->getPageHeader()));
             $footer = $this->engine->replaceInlineFields($this->engine->replaceFills($queryobject->getPageFooter()));
         }
     } else {
     }
     // combo box css
     if ($this->combobox = true) {
         $extracss .= $this->displayComboBoxCSS();
     }
     /* add header now that we know all the scripts */
     if ($this->showheader == true) {
         $returnStrHeader = $this->showSurveyHeader($survey->getTitle(), implode("", array_unique($scriptarray)) . '<link href="bootstrap/css/sticky-footer-navbar.min.css" rel="stylesheet">' . $extracss);
         if ($header != "") {
             $returnStrHeader .= $header;
         }
     }
     // combo box dropdown
     if ($this->combobox) {
         $extrascripts .= $this->displayComboBox(false);
     }
     // paradata
     $extrascripts .= $this->displayParadataScripts($paradata);
     /* footer */
     if ($footer != "") {
         $returnStr .= $footer;
     }
     $returnStr .= "</div>";
     // end of wrap
     if ($this->showfooter == true) {
         $returnStr .= $this->showSurveyFooter($extrascripts);
     }
     $returnStrHeader .= $this->displayBody();
     $result = $returnStrHeader . $returnStr;
     if ($this->lastparse == true) {
         $result = lastParse($result);
     }
     /* store screendump of newly displayed screen */
     if ($screendumps == true) {
         // don't capture screenshots for direct access only (timed out)
         if (sizeof($queryvariables) == 1) {
             if (!inArray($variablenames, array(VARIABLE_DIRECT))) {
                 captureScreenshot($result);
             }
         }
     }
     /* return result */
     return $result;
 }
Ejemplo n.º 10
0
    function update()
    {
        $returnStr = $this->showHeader(Language::messageSMSTitle());
        $returnStr .= $this->displayComboBox();
        $returnStr .= '<div id="wrap">';
        $returnStr .= '<div class="container"><p>';
        $returnStr .= '<div class="panel panel-default">
                <div class="panel-heading">';
        $returnStr .= '<h4>' . Language::linkUpdate() . '</h4>';
        $returnStr .= '                </div>
                <div class="panel-body">';
        require_once 'data.php';
        require_once 'display.php';
        $data = new Data();
        $values = $data->getRespondentData(getFromSessionParams('watchsuid'), getFromSessionParams('watchprimkey'));
        $returnStr .= '</div>
    <div role="panel" class="panel">';
        if (sizeof($values) == 0) {
            $returnStr .= "<br/>" . '<div class="alert alert-warning">' . Language::labelWatchNoData() . '</div>';
        } else {
            $display = $this->engine->getDisplayObject();
            $returnStr .= $display->displayDataTablesScripts(array("colvis", "rowreorder"));
            $returnStr .= "<script type='text/javascript'>\n                        \$(document).ready(function(){\n                            \$('#issuetable').dataTable(\n                                {\n                                    \"iDisplayLength\": 4,\n                                    dom: 'C<\"clear\">lfrtip',\n                                    searching: false,\n                                    paging: true\n                                    }    \n                                );\n                                         \n                       });</script>\n\n                        ";
            //
            $returnStr .= "<br/><table id='issuetable' class='table table-bordered table-striped'><thead>";
            $returnStr .= "<th>" . Language::labelUpdateVariable() . "</th><th>" . Language::labelUpdateQuestion() . "</th><th>" . Language::labelUpdateCurrent() . "</th><th>" . Language::labelUpdateChangeTo() . "</th></tr>";
            $returnStr .= "</thead><tbody>";
            $modes = Common::surveyModes();
            $languages = Language::getLanguagesArray();
            $sesid = session_id();
            require_once 'object.php';
            require_once 'component.php';
            require_once 'setting.php';
            require_once 'type.php';
            require_once 'variabledescriptive.php';
            global $survey;
            $survey = new Survey(getFromSessionParams('watchsuid'));
            $cnt = 1;
            $params = getSessionParams();
            $params[SESSION_PARAM_SURVEY] = getFromSessionParams('watchsuid');
            // add for getSurvey
            $params['testpage'] = 'updateRes';
            $paramstring = setSessionParamsPost($params);
            foreach ($values as $is) {
                $var = $survey->getVariableDescriptiveByName($is["variablename"]);
                $returnStr .= "<tr>";
                $returnStr .= "<td>" . $is["variablename"] . "</td>";
                $returnStr .= "<td>" . $var->getQuestion() . "</td>";
                $returnStr .= "<td>" . $this->getDisplayValue($var, $is["answer_dec"]) . "</td>";
                $returnStr .= "<td>" . $this->displayInput($paramstring, $is["variablename"], $var, $is["answer_dec"], $cnt) . "</td>";
                $returnStr .= "</tr>";
                $cnt++;
            }
            $returnStr .= "</tbody></table>";
        }
        $returnStr .= '</div>
  </div>
</div>';
        $returnStr .= '                </div></div>';
        $returnStr .= '</p></div>    </div>';
        //container and wrap
        $returnStr .= $this->showFooter(false);
        echo $returnStr;
    }
Ejemplo n.º 11
0
    function showFollowupInfo($respondent, $message = '')
    {
        $returnStr = $this->showNurseHeader(Language::messageSMSTitle());
        $returnStr .= '<div id="wrap">';
        $returnStr .= $this->showNavBar();
        $returnStr .= '<div class="container"><p>';
        $returnStr .= '<ol class="breadcrumb">';
        //        $returnStr .= '<li>' . setSessionParamsHref(array('page' => 'nurse.home'), 'Home') . '</li>';
        $returnStr .= '<li class="active">' . Language::labelNurseFollowUp() . '</li>';
        $returnStr .= '</ol>';
        //CONTENT
        $returnStr .= $message;
        $returnStr .= '<table>';
        $returnStr .= '<tr><td>' . Language::labelNurseFollowUpPhone1() . '</td><td>' . getData($respondent->getPrimkey(), 'TG003', 2) . '</td></tr>';
        $returnStr .= '<tr><td>' . Language::labelNurseFollowUpPhone2() . '</td><td>' . getData($respondent->getPrimkey(), 'TG004', 2) . '</td></tr>';
        $returnStr .= '<tr><td>' . Language::labelNurseFollowUpHouseholdHead() . '</td><td>' . getData($respondent->getPrimkey(), 'TG008', 2) . '</td></tr>';
        $returnStr .= '<tr><td>' . Language::labelNurseFollowUpSomeoneElse() . '</td><td>' . getData($respondent->getPrimkey(), 'TG010', 2) . '</td></tr>';
        $returnStr .= '</table>';
        //CALL AND INFO
        $returnStr .= '<hr>';
        $refpage = 'nurse.followup';
        $returnStr .= '<form method=post>';
        $returnStr .= setSessionParamsPost(array('page' => $refpage . '.addcontactres', 'primkey' => $respondent->getPrimkey()));
        $returnStr .= '<input type="hidden" name="contactwith" id="contactwith" value="' . loadvar('contactwith') . '">';
        $returnStr .= '<table width=100%>';
        $returnStr .= '<tr><td style="width:80px">' . Language::labelNurseFollowUpDateTime() . '</td><td style="width:220px">';
        if (loadvar('contactts') != '') {
            $returnStr .= $this->displayDateTimePicker('contactts', 'contactts', loadvar('contactts'), getSMSLanguagePostFix(getSMSLanguage()), "true", "true", Config::usFormatSMS());
        } else {
            $returnStr .= $this->displayDateTimePicker('contactts', 'contactts', date('m/d/Y h:i a'), getSMSLanguagePostFix(getSMSLanguage()), "true", "true", Config::usFormatSMS());
        }
        $returnStr .= '</td><td colspan=2></td></tr>';
        $returnStr .= '<tr><td style="width:90px">' . Language::labelOutcome() . '</td><td valign=top colspan=2>';
        $returnStr .= '<select class="form-control" name=contactcode id=outcomecode style="width:300px"><option value=-1>' . Language::labelPleaseSelect() . '</option>';
        $dispositionCodes = Language::optionsDispositionFollowupContactCode($respondent);
        foreach ($dispositionCodes as $option => $dispositionCode) {
            if ($dispositionCode[5] == 1) {
                //display in dropdown
                $selected = '';
                if (loadvar('contactcode') == $option) {
                    $selected = ' SELECTED';
                }
                $returnStr .= '<option value="' . $option . '"' . $selected . '>' . $option . ': ' . $dispositionCode[1] . '</option>';
            }
        }
        $returnStr .= '</select></td><td>

    <div id="contactwithdiv" style="display: none"><table width=100%><tr><td style="width:90px">' . Language::labelContactWith() . '</td><td>

			<div id="selector" class="btn-group">

				<button type="button" class="btn btn-default" value=1>' . Language::labelHouseholdMember() . '</button>

				<button type="button" class="btn btn-default" value=2>' . Language::labelProxy() . '</button>

			</div></td></tr></table>

      <div id="contactperson" style="display: none"><table width=100%><tr><td style="width:90px">' . Language::labelProxyName() . '</td><td>

        <input type=text class="form-control" name="contactperson"></td></tr></table>

      </div>



    </div>';
        $returnStr .= '<tr><td valign=top>' . Language::labelRemark() . '</td><td colspan=3>';
        $returnStr .= '<textarea class="form-control" name="contactremark">' . loadvar('contactremark') . '</textarea>';
        $returnStr .= '</td></tr>';
        /*
         $returnStr .= '<tr><td style="width:80px">' . Language::labelAppointment() . '</td><td style="width:220px">';
         $returnStr .= $this->displayDateTimePicker('contactappointment', 'contactappointment', loadvar('contactappointment'), getSMSLanguagePostFix(getSMSLanguage()), "true", "true", Config::usHourFormatSMS());
         $returnStr .= '</td><td colspan=2></td></tr>';
        */
        $returnStr .= '</table>';
        $returnStr .= '<hr>';
        $returnStr .= '<button type="submit" class="btn btn-default navbar-btn">' . Language::buttonAddContact() . '</button>';
        $returnStr .= '</form> <b> OR </b>';
        $returnStr .= $this->showStartButton($respondent, 7, false, 'Start follup survey', false);
        $returnStr .= '<br/>';
        $returnStr .= '

<script>





$(document).ready(function() {

    $(\'#outcomecode\').change(function() {

        $(\'#contactwithdiv\').css("display", "none");

        var element = $(this).find(\'option\').filter(\':selected\').val();';
        $check = array();
        $followup = Language::optionsDispositionFollowupContactCode($respondent);
        foreach ($followup as $option => $follow) {
            if ($follow[0] == '1') {
                $check[] = $option;
            }
        }
        $returnStr .= 'if (element == "' . implode($check, '" || element == "') . '") {';
        //$returnStr .= 'alert("ADASD");';
        $returnStr .= '$(\'#contactwithdiv\').css("display", "block"); }';
        $returnStr .= '   switch(element){';
        $messageDispositionCodes = Language::optionsDispositionContactCode($respondentOrHousehold);
        foreach ($messageDispositionCodes as $option => $message) {
            $returnStr .= 'case "' . $option . '":  $( "#outcomehelp" ).html("' . addslashes($message[2]) . '"); break;';
        }
        $returnStr .= 'default: $( "#outcomehelp" ).html("' . addslashes(Language::messageSelectContactOutcome()) . '");';
        $returnStr .= '    }



    });



  $(\'#outcomecode\').change(); //in case reloaded page



});



$(\'#selector button\').click(function() {

    $(\'#contactperson\').css("display", "none");

    $(\'#selector button\').addClass(\'active\').not(this).removeClass(\'active\');

    $(\'#contactwith\').val("1");

    if ($(this).val() == "2") {

      $(\'#contactperson\').css("display", "block");

      $(\'#contactwith\').val("2");

    }

});

if ($(\'#contactwith\').val() == "2"){

  $(\'#selector button\').click();

}

</script>

';
        //END CONTENT
        $returnStr .= '</p></div>    </div>';
        //container and wrap
        $returnStr .= $this->showBottomBar();
        $returnStr .= $this->showFooter(false);
        return $returnStr;
    }
Ejemplo n.º 12
0
 ------------------------------------------------------------------------
*/
require_once 'constants.php';
require_once 'functions.php';
// define header
$returnStr = '<html><body>
<center>
Start parallel section';
// start form
$returnStr .= '<form method=post action=index.php>';
// start survey
$returnStr .= '<input type=hidden name=' . POST_PARAM_SE . ' value=1>';
// set survey to start
$returnStr .= '<input type=hidden name=' . POST_PARAM_SUID . ' value=1>';
// set which section to start
$returnStr .= setSessionParamsPost(array(SESSION_PARAM_MAINSEID => 11, SESSION_PARAM_SEID => 11));
$returnStr .= '<input type=hidden name=' . POST_PARAM_RESET_EXTERNAL . ' value=1>';
// generate a random primary key to be used
$returnStr .= '<input type=hidden name=' . POST_PARAM_PRIMKEY . ' value="' . addslashes(encryptC(generateRandomPrimkey(8), Config::directLoginKey())) . '">';
// start a new interview each time
$returnStr .= '<input type=hidden name=' . POST_PARAM_NEW_PRIMKEY . ' value="1">';
// set language to be used
$returnStr .= '<input type=hidden name=language value=1>';
// set interview mode to be used (1=CAPI, 2=CATI, 3=CASI, 4=CADI)
$returnStr .= '<input type=hidden name=mode value=3>';
// survey execution mode (0=normal, 1=test mode)
$returnStr .= '<input type=hidden name=executionmode value=1>';
// close
$returnStr .= '
<input type="submit" value="Start">
</form></center>
Ejemplo n.º 13
0
 function showEditUser($urid, $message = "")
 {
     $user = new User($urid);
     $returnStr = $this->showSysAdminHeader(Language::messageSMSTitle());
     $returnStr .= '<div id="wrap">';
     $returnStr .= $this->showNavBar();
     $returnStr .= '<div class="container"><p>';
     $returnStr .= '<ol class="breadcrumb">';
     $returnStr .= '<li>' . setSessionParamsHref(array('page' => 'sysadmin.users'), Language::headerUsers()) . '</li>';
     if ($user->getUsername() == '') {
         $returnStr .= '<li>' . Language::labelUserAddUser() . '</li>';
     } else {
         $returnStr .= '<li>' . Language::labelEdit() . ' ' . $user->getUsername() . '</li>';
     }
     $returnStr .= '</ol>';
     $returnStr .= $message;
     $returnStr .= $this->displayComboBox();
     $returnStr .= '<form id="editform" method="post">';
     $returnStr .= '<span class="label label-default">' . Language::labelUserGeneral() . '</span>';
     $returnStr .= '<div class="well">';
     $returnStr .= setSessionParamsPost(array('page' => 'sysadmin.users.edituserres', 'urid' => $urid));
     $returnStr .= '<div class="row">';
     $returnStr .= '<div class="col-md-6">';
     $returnStr .= '<table>';
     $returnStr .= '<tr><td>' . Language::labelUserUserName() . '</td><td><input type="text" class="form-control" name="username" value="' . convertHTLMEntities($user->getUsername(), ENT_QUOTES) . '"></td></tr>';
     $returnStr .= '<tr><td>' . Language::labelUserUserNameName() . '</td><td><input type="text" class="form-control" name="name" value="' . convertHTLMEntities($user->getName(), ENT_QUOTES) . '"></td></tr>';
     $returnStr .= '<tr><td align=top>' . Language::labelUserActive() . '</td><td>';
     $returnStr .= $this->showDropDown(array(VARIABLE_ENABLED => Language::labelEnabled(), VARIABLE_DISABLED => Language::labelDisabled()), $user->getStatus(), 'status');
     $returnStr .= '</td></tr>';
     $returnStr .= '<tr><td align=top>' . Language::labelUserUserType() . '</td><td>';
     $returnStr .= $this->showDropDown(array(USER_INTERVIEWER => Language::labelInterviewer(), USER_NURSE => Language::labelNurse(), USER_SUPERVISOR => Language::labelSupervisor(), USER_TRANSLATOR => Language::labelTranslator(), USER_RESEARCHER => Language::labelResearcher(), USER_SYSADMIN => Language::labelSysadmin(), USER_TESTER => Language::labelTester()), $user->getUserType(), 'usertype', 'usertype');
     $returnStr .= '</td></tr>';
     $returnStr .= "<script type='text/javascript'>";
     $returnStr .= '$( document ).ready(function() {
                                             $("#usertype").change(function (e) {
                                                 if (this.value == ' . USER_NURSE . ') {
                                                     $("#subtype").show(); 
                                                     $("#subtype2").hide();                                                         
                                                 }   
                                                 else if (this.value == ' . USER_SYSADMIN . ') {
                                                     $("#subtype2").show(); 
                                                     $("#subtype").hide(); 
                                                 }
                                                 else {
                                                     $("#subtype").hide();                                                       
                                                     $("#subtype2").hide();
                                                 }
                                                 
                                                 if (this.value == ' . USER_INTERVIEWER . ' || this.value == ' . USER_CATIINTERVIEWER . ' || this.value == ' . USER_NURSE . ' || this.value == ' . USER_SUPERVISOR . ') {
                                                     $("#super").show();
                                                     $("#accessdiv").hide();
                                                     $("#surveyaccess").hide();
                                                 }
                                                 else {
                                                     $("#super").hide();
                                                     $("#accessdiv").show();
                                                     $("#surveyaccess").show();
                                                 }
                                             });
                                             })';
     $returnStr .= "</script>";
     if (inArray($user->getUserType(), array(USER_NURSE))) {
         $returnStr .= '<tr id=subtype><td align=top>' . Language::labelUserUserSubType() . '</td><td>';
         $returnStr .= $this->showDropDown(array(USER_NURSE_MAIN => Language::labelNurseMain(), USER_NURSE_LAB => Language::labelNurseLab(), USER_NURSE_FIELD => Language::labelNurseField(), USER_NURSE_VISION => Language::labelNurseVision()), $user->getUserSubType(), 'usersubtype');
         $returnStr .= '</td></tr>';
     } else {
         if (inArray($user->getUserType(), array(USER_SYSADMIN))) {
             $returnStr .= '<tr id=subtype2><td align=top>' . Language::labelUserUserSubType() . '</td><td>';
             $returnStr .= $this->showDropDown(array(USER_SYSADMIN_MAIN => Language::labelSysadminMain(), USER_SYSADMIN => Language::labelSysadminAdmin()), $user->getUserSubType(), 'usersubtype');
             $returnStr .= '</td></tr>';
         } else {
             $returnStr .= '<tr id=subtype style="display: none;"><td align=top>' . Language::labelUserUserSubType() . '</td><td>';
             $returnStr .= $this->showDropDown(array(USER_NURSE_MAIN => Language::labelNurseMain(), USER_NURSE_LAB => Language::labelNurseLab(), USER_NURSE_FIELD => Language::labelNurseField(), USER_NURSE_VISION => Language::labelNurseVision()), $user->getUserSubType(), 'usersubtype');
             $returnStr .= '</td></tr>';
             $returnStr .= '<tr id=subtype2 style="display: none;"><td align=top>' . Language::labelUserUserSubType() . '</td><td>';
             $returnStr .= $this->showDropDown(array(USER_SYSADMIN_MAIN => Language::labelSysadminMain(), USER_SYSADMIN => Language::labelSysadminAdmin()), $user->getUserSubType(), 'usersubtype');
             $returnStr .= '</td></tr>';
         }
     }
     if (inArray($user->getUserType(), array(USER_INTERVIEWER, USER_CATIINTERVIEWER, USER_NURSE, USER_SUPERVISOR))) {
         $returnStr .= '<tr id=super><td>' . Language::labelUserSupervisor() . '</td><td>';
         $users = new Users();
         $users = $users->getUsersByType(USER_SUPERVISOR);
         $returnStr .= $this->displayUsers($users, $user->getSupervisor(), 'uridsel', true);
         $returnStr .= '</td></tr>';
     }
     $extra = '';
     if (inArray($user->getUserType(), array(USER_NURSE, USER_INTERVIEWER, USER_SUPERVISOR, USER_CATIINTERVIEWER))) {
         $extra = "style='display: none;'";
     }
     $returnStr .= '<tr id="surveyaccess"' . $extra . '><td>' . Language::labelUserSurveyAllowed() . '</td><td>' . $this->displaySurveys(SETTING_USER_SURVEYS . "[]", SETTING_USER_SURVEYS, implode("~", $user->getSurveysAccess()), '', "multiple") . '</td></tr>';
     $returnStr .= '</table></div>';
     $returnStr .= '<div class="col-md-6">';
     $returnStr .= '<table>';
     $returnStr .= '<tr><td align=top>' . Language::labelUserPassword() . '</td><td><input type="text" class="form-control" name="pwd1"></td></tr>';
     $returnStr .= '<tr><td align=top>' . Language::labelUserPassword2() . '</td><td><input type="text" class="form-control" name="pwd2"></td></tr>';
     $returnStr .= '</table></div></div>';
     if ($urid != "") {
         $returnStr .= '<br/><input type="submit" class="btn btn-default" value="' . Language::buttonEdit() . '"/>';
     } else {
         $returnStr .= '<br/><input type="submit" class="btn btn-default" value="' . Language::buttonAdd() . '"/>';
     }
     $returnStr .= '</div></form>';
     $suid = $_SESSION['SUID'];
     /* available surveys */
     if ($urid != "") {
         $extra = '';
         if (inArray($user->getUserType(), array(USER_NURSE, USER_INTERVIEWER, USER_SUPERVISOR, USER_CATIINTERVIEWER))) {
             $extra = "style='display: none;'";
         }
         $returnStr .= "<div " . $extra . " id='accessdiv'>";
         $returnStr .= "<form id=refreshform method=post>";
         $returnStr .= '<input type=hidden name=page value="sysadmin.users.edituser">';
         $returnStr .= '<input type=hidden name="' . SMS_POST_SURVEY . '" id="' . SMS_POST_SURVEY . '_hidden" value="' . getSurvey() . '">';
         $returnStr .= "</form>";
         $returnStr .= '<form id="editform1" method="post">';
         $returnStr .= setSessionParamsPost(array('page' => 'sysadmin.users.edituseraccessres', 'urid' => $urid));
         $returnStr .= '<span class="label label-default">' . Language::labelUserAccess() . '</span>';
         $returnStr .= '<div class="well">';
         $returnStr .= "<table>";
         $allsurveys = $user->getSurveysAccess();
         if (!inArray($suid, $allsurveys)) {
             $suid = $allsurveys[0];
         }
         $survey = new Survey($suid);
         $u = $_SESSION['URID'];
         $_SESSION['URID'] = $urid;
         // pretend to be edited user for a moment to get surveys to display
         $returnStr .= '<tr><td>' . Language::labelUserSurveyAccess() . '</td><td>' . $this->displaySurveys(SMS_POST_SURVEY, SMS_POST_SURVEY, $suid, '', "") . '</td></tr>';
         $_SESSION['URID'] = $u;
         $returnStr .= "<script type='text/javascript'>";
         $returnStr .= '$( document ).ready(function() {
                                             $("#' . SMS_POST_SURVEY . '").change(function (e) {
                                                 $("#' . SMS_POST_SURVEY . '_hidden").val(this.value);                                                     
                                                 $("#refreshform").submit();
                                             });
                                             })';
         $returnStr .= "</script>";
         /* available modes */
         $modes = Common::surveyModes();
         $allowedmodes = explode("~", $survey->getAllowedModes());
         $usermodes = $user->getModes($suid);
         foreach ($allowedmodes as $mode) {
             $returnStr .= "<tr class='modesrow'><td>" . $modes[$mode] . "</td><td>";
             $returnStr .= $this->displayUserMode(SETTING_USER_MODE . $mode, inArray($mode, $usermodes));
             $userlanguages = $user->getLanguages($suid, $mode);
             $returnStr .= "<td>" . Language::labelUserLanguageAllowed() . "</td>";
             $returnStr .= "<td>" . $this->displayLanguagesAdmin(SETTING_USER_LANGUAGES . $mode, SETTING_USER_LANGUAGES . $mode, $userlanguages, true, false, false, "multiple", $survey->getAllowedLanguages($mode)) . "</td>";
             $returnStr .= "</tr>";
         }
         $returnStr .= '</table>';
         $returnStr .= '<br/><input type="submit" class="btn btn-default" value="' . Language::buttonEdit() . '"/>';
         $returnStr .= '</div></form></div>';
     }
     $returnStr .= '</p></div>    </div>';
     //container and wrap
     $returnStr .= $this->showBottomBar();
     $returnStr .= $this->showFooter(false);
     return $returnStr;
 }
Ejemplo n.º 14
0
 function showInsertSample()
 {
     $headers[] = array('link' => setSessionParamsHref(array('page' => 'sysadmin.sms'), Language::linkSms()), 'label' => Language::linkSms());
     $headers[] = array('link' => setSessionParamsHref(array('page' => 'sysadmin.sms.sample'), Language::labelSMSSample()), 'label' => Language::labelSMSSample());
     $headers[] = array('link' => '', 'label' => Language::labelSMSInsertSample());
     $returnStr = $this->showSmsHeader($headers);
     //CONTENT
     $returnStr .= '<form method="post" enctype="multipart/form-data">';
     $returnStr .= setSessionParamsPost(array('page' => 'sysadmin.sms.sample.insert.res'));
     $returnStr .= '<table>';
     $returnStr .= '<tr><td>Sample type</td><td>';
     $paneltype = loadvar('paneltype', 1);
     $returnStr .= $this->displayPanelTypeFilter($paneltype);
     $returnStr .= '<tr><td>Upload file</td><td>';
     $returnStr .= '<input type="file" name="file" size="50" class="form-control" />';
     $returnStr .= '</td></tr>';
     $returnStr .= '</table>';
     $returnStr .= '<button type="submit" class="btn btn-default">' . Language::labelSMSButtonInsertSample() . '</button>';
     $returnStr .= '</form>';
     //END CONTENT
     $returnStr .= '</p></div>    </div>';
     //container and wrap
     $returnStr .= $this->showBottomBar();
     $returnStr .= $this->showFooter(false);
     //echo $returnStr;
     return $returnStr;
 }
Ejemplo n.º 15
0
 {
     $search = true;
     $interviewsActive = ' class="active"';
     $calendarActive = '';
     $otherSurveysActive = '';
     if (startsWith($_SESSION['LASTPAGE'], 'interviewer.calendar')) {
         $interviewsActive = '';
         $calendarActive = ' class="active"';
         $otherSurveysActive = '';
         $search = false;
     }
     if (startsWith($_SESSION['LASTPAGE'], 'interviewer.othersurveys')) {
         $interviewsActive = '';
         $calendarActive = '';
         $otherSurveysActive = ' class="active"';
         $search = false;
     }
     //TODO: GET FROM SOMEHWERE ELSE...
     $user = new User($_SESSION['URID']);
     $returnStr = '
   <!-- Fixed navbar -->
   <div class="navbar navbar-default navbar-fixed-top">
     <div class="container">
Ejemplo n.º 16
0
 function showEdit($respondentOrHousehold, $message = '')
 {
     $content = $message;
     $refpage = 'interviewer.household';
     if ($respondentOrHousehold instanceof Respondent) {
         $refpage = 'interviewer.respondent';
     }
     $refpage = $this->setPrefix($refpage);
     $content .= '<form method=post>';
     $content .= $this->showInfoSub($respondentOrHousehold, true);
     $content .= '<hr>';
     $content .= setSessionParamsPost(array('page' => $refpage . '.editres', 'primkey' => $respondentOrHousehold->getPrimkey()));
     $content .= '<button type="submit" class="btn btn-default navbar-btn">' . Language::buttonSave() . '</button>';
     $content .= '</form>';
     return $this->showRespondentPageWithSideBar($respondentOrHousehold, $content, Language::labelInfoCap());
 }
Ejemplo n.º 17
0
 function showPreferences($message = "")
 {
     $user = new User($_SESSION['URID']);
     $returnStr = $this->showSysAdminHeader(Language::messageSMSTitle());
     $returnStr .= '<div id="wrap">';
     $returnStr .= $this->showNavBar();
     $returnStr .= '<div class="container"><p>';
     $returnStr .= '<ol class="breadcrumb">';
     $returnStr .= '<li>' . Language::headerPreferences() . '</li>';
     $returnStr .= '</ol>';
     $returnStr .= $message;
     $returnStr .= '<form id="editform" method="post">';
     $returnStr .= setSessionParamsPost(array('page' => 'sysadmin.preferences.res'));
     $checked = '';
     if ($user->hasNavigationInBreadCrumbs()) {
         $checked = ' CHECKED';
     }
     $returnStr .= '<div class="checkbox"><label><input name=navigationinbreadcrumbs value="1" type="checkbox"' . $checked . '>' . Language::labelNavigationInBreadCrumbs() . '</label></div>';
     $checked = '';
     if ($user->hasHTMLEditor()) {
         $checked = ' CHECKED';
     }
     $returnStr .= '<div class="checkbox"><label><input name=htmleditor value="1" type="checkbox"' . $checked . '>' . Language::labelHTMLEditor() . '</label></div>';
     $checked = '';
     if ($user->hasRoutingAutoIndentation()) {
         $checked = ' CHECKED';
     }
     $returnStr .= '<div class="checkbox"><label><input name=routingautoindentation value="1" type="checkbox"' . $checked . '>' . Language::labelRoutingAutoIndentation() . '</label></div>';
     $count = $user->itemsInTable();
     if ($count == -1) {
         $count = "";
     }
     $returnStr .= "<table>";
     $helpstart = '<div class="input-group">';
     $message = Language::helpFollowEmpty();
     $helpend = '<span class="input-group-addon"><i>' . $message . '</i></span></div>';
     $returnStr .= "<tr><td>" . Language::labelTableListNumber() . "</td><td>" . $helpstart . ' <input name="itemsintable" type=text class="form-control" value="' . $count . '">' . $helpend . "</td></tr>";
     $returnStr .= "</table>";
     $returnStr .= '<br/>';
     $returnStr .= '<input type="submit" class="btn btn-default" value="' . Language::buttonSave() . '"/>';
     $returnStr .= '</form>';
     $returnStr .= '</p></div>    </div>';
     //container and wrap
     $returnStr .= $this->showBottomBar();
     $returnStr .= $this->showFooter(false);
     return $returnStr;
 }
Ejemplo n.º 18
0
 function showPreferences($message = "")
 {
     $user = new User($_SESSION['URID']);
     $returnStr = $this->showTranslatorHeader(Language::messageSMSTitle());
     $returnStr .= '<div id="wrap">';
     $returnStr .= $this->showNavBar();
     $returnStr .= '<div class="container"><p>';
     $returnStr .= '<ol class="breadcrumb">';
     $returnStr .= '<li>' . Language::headerPreferences() . '</li>';
     $returnStr .= '</ol>';
     $returnStr .= $message;
     $returnStr .= '<form id="editform" method="post">';
     $returnStr .= setSessionParamsPost(array('page' => 'translator.preferences.res'));
     $checked = '';
     if ($user->hasNavigationInBreadCrumbs()) {
         $checked = ' CHECKED';
     }
     $returnStr .= '<div class="checkbox"><label><input name=navigationinbreadcrumbs value="1" type="checkbox"' . $checked . '>' . Language::labelNavigationInBreadCrumbs() . '</label></div>';
     $checked = '';
     if ($user->hasRoutingAutoIndentation()) {
         $checked = ' CHECKED';
     }
     $returnStr .= '<div class="checkbox"><label><input name=navigationinbreadcrumbs value="1" type="checkbox"' . $checked . '>' . Language::labelNavigationInBreadCrumbs() . '</label></div>';
     $returnStr .= '<br/>';
     $returnStr .= '<input type="submit" class="btn btn-default" value="Save"/>';
     $returnStr .= '</form>';
     $returnStr .= '</p></div>    </div>';
     //container and wrap
     $returnStr .= $this->showBottomBar();
     $returnStr .= $this->showFooter(false);
     return $returnStr;
 }
Ejemplo n.º 19
0
    function ShowCommunicationServerOptions()
    {
        if (is_array(dbConfig::defaultCommunicationServer())) {
            $returnStr = '';
            $active = array('', '', '', '', '', '', '', '');
            //if ($_SESSION['COMMSERVER'] == ''){ //init in index.php
            //    $_SESSION['COMMSERVER'] = 0;
            //}
            if (loadvar('commserver') != '') {
                $_SESSION['COMMSERVER'] = loadvar('commserver');
            }
            $active[$_SESSION['COMMSERVER']] = ' active';
            $returnStr .= '<form method="post" id="hiddenform">';
            $returnStr .= setSessionParamsPost(array('page' => 'interviewer.sendreceive'));
            $returnStr .= '<input type="hidden" name="commserver" id="commserver" value="' . $paneltype . '">';
            $returnStr .= '<div id="commserverselector" class="btn-group">
  	    <button type="button" class="btn btn-default' . $active[0] . '" value=0>' . Language::labelCommServerLocal() . '</button>
	    <button type="button" class="btn btn-default' . $active[1] . '" value=1>' . Language::labelCommServerOutside() . '</button>';
            $returnStr .= '</div>';
            $returnStr .= '</form>';
            $returnStr .= '<br/>';
            $returnStr .= '<script>';
            $returnStr .= '$(\'#commserverselector button\').click(function() {
		  $(\'#commserverselector button\').addClass(\'active\').not(this).removeClass(\'active\');
		  $(\'#commserver\').val("0");
		  if ($(this).val() == "1") {
		    $(\'#commserver\').val("1");
		  }
                  $("#hiddenform").submit();            

 	  });';
            $returnStr .= '</script>';
        }
        return $returnStr;
    }