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; }
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; }
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; }
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; }
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>'; }
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; }
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; }
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; }
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; }
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; }
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; }
------------------------------------------------------------------------ */ 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>
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; }
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; }
{ $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">
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()); }
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; }
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; }
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; }