Example #1
0
 function determineModeLanguage(&$de)
 {
     $user = new User($_SESSION['URID']);
     $modes = $user->getModes(loadvar('survey'));
     $mods = "";
     if (loadvar(DATA_OUTPUT_MODES) == "") {
         $mods = implode("~", $modes);
     } else {
         $ms = loadvar(DATA_OUTPUT_MODES);
         $ms1 = array();
         foreach ($ms as $m) {
             if (inArray($m, $modes)) {
                 $ms1[] = $m;
             }
         }
         $mods = implode("~", $ms1);
     }
     $de->setProperty(DATA_OUTPUT_MODES, $mods);
     $modes = explode("~", $mods);
     $langs = "";
     if (loadvar(DATA_OUTPUT_LANGUAGES) == "") {
         $langs = array();
         foreach ($modes as $m) {
             $langs = explode("~", $user->getLanguages(loadvar('survey'), $m));
         }
         $langs = implode("~", array_unique($langs));
     } else {
         $ls = loadvar(DATA_OUTPUT_LANGUAGES);
         $ls1 = array();
         foreach ($ls as $l) {
             foreach ($modes as $m) {
                 if (inArray($l, explode("~", $user->getLanguages(loadvar('survey'), $m)))) {
                     $ls1[] = $l;
                     break;
                 }
             }
         }
         $langs = implode("~", array_unique($ls1));
     }
     $de->setProperty(DATA_OUTPUT_LANGUAGES, $langs);
 }
Example #2
0
function checkUserAccess()
{
    $user = new User($_SESSION['URID']);
    $cm = getSurveyMode();
    $cl = getSurveyLanguage();
    $modes = $user->getModes();
    $languages = explode("~", $user->getLanguages(getSurvey(), getSurveyMode()));
    if (!inArray($cm, $modes) || !inArray($cl, $languages)) {
        return false;
    }
    return true;
}
 function showTest($content = "")
 {
     $returnStr = $this->showToolsHeader(Language::headerToolsTester());
     $returnStr .= $content;
     $surveys = new Surveys();
     $surveys = $surveys->getSurveys();
     if (sizeof($surveys) > 0) {
         $returnStr .= "<form id=refreshform method=post>";
         $returnStr .= '<input type=hidden name=page value="translator.tools.test">';
         $returnStr .= '<input type=hidden name="' . SMS_POST_SURVEY . '" id="' . SMS_POST_SURVEY . '_hidden" value="' . getSurvey() . '">';
         $returnStr .= '<input type=hidden name="' . SMS_POST_MODE . '" id="' . SMS_POST_MODE . '_hidden" value="' . getSurveyMode() . '">';
         $returnStr .= '<input type=hidden name="' . SMS_POST_LANGUAGE . '" id="' . SMS_POST_LANGUAGE . '_hidden" value="' . getSurveyLanguage() . '">';
         $returnStr .= "</form>";
         $returnStr .= "<form method=post>";
         $returnStr .= '<input type=hidden name=' . POST_PARAM_SE . ' value="' . addslashes(USCIC_SURVEY) . '">';
         $returnStr .= '<input type=hidden name=' . POST_PARAM_PRIMKEY . ' value="' . addslashes(encryptC(generateRandomPrimkey(8), Config::directLoginKey())) . '">';
         $returnStr .= '<input type=hidden name=' . POST_PARAM_NEW_PRIMKEY . ' value="1">';
         $returnStr .= '<input type=hidden name=' . POST_PARAM_SURVEY_EXECUTION_MODE . ' value="' . SURVEY_EXECUTION_MODE_TEST . '">';
         $returnStr .= '<span class="label label-default">' . Language::labelToolsTestSettings() . '</span>';
         $returnStr .= '<div class="well well-sm">';
         $returnStr .= $this->displayComboBox();
         $returnStr .= '<table>';
         $returnStr .= '<tr><td>' . Language::labelTestSurvey() . "</td><td><select onchange='document.getElementById(\"" . SMS_POST_SURVEY . "_hidden\").value=this.value; document.getElementById(\"refreshform\").submit();' name=" . POST_PARAM_SUID . " class='selectpicker show-tick'>";
         $current = new Survey(getSurvey());
         foreach ($surveys as $survey) {
             $selected = "";
             if ($survey->getSuid() == $current->getSuid()) {
                 $selected = "SELECTED";
             }
             $returnStr .= "<option {$selected} value=" . $survey->getSuid() . '>' . $survey->getName() . '</option>';
         }
         $returnStr .= "</select></td></tr>";
         $user = new User($_SESSION['URID']);
         $cm = getSurveyMode();
         $cl = getSurveyLanguage();
         $modes = $user->getModes(getSurvey());
         $langs = explode("~", $user->getLanguages(getSurvey(), getSurveyMode()));
         $default = $current->getDefaultLanguage();
         if (!inArray($default, $langs)) {
             $langs[] = $default;
         }
         $returnStr .= "<tr><td>" . Language::labelTestModeInput() . "</td><td>" . $this->displayModesAdmin(POST_PARAM_MODE, POST_PARAM_MODE, getSurveyMode(), "", implode("~", $modes), "onchange='document.getElementById(\"" . SMS_POST_MODE . "_hidden\").value=this.value; document.getElementById(\"refreshform\").submit();'") . "</td></tr>";
         $returnStr .= "<tr><td>" . Language::labelTestLanguage() . "</td><td>" . $this->displayLanguagesAdmin(POST_PARAM_LANGUAGE, POST_PARAM_LANGUAGE, getSurveyLanguage(), true, true, false, "", implode("~", $langs)) . "</td></tr>";
         $returnStr .= '</table>';
         $returnStr .= '</div>';
         $returnStr .= '<button type="submit" class="btn btn-default navbar-btn">' . Language::buttonTest() . '</button>';
         $returnStr .= "</form>";
     } else {
         $returnStr .= $this->displayInfo(Language::messageNoSurveysAvailable());
     }
     $returnStr .= '</p></div></div>';
     //container and wrap
     $returnStr .= $this->showBottomBar();
     $returnStr .= $this->showFooter(false);
     return $returnStr;
 }
    public function showNavBar()
    {
        $returnStr = $this->getHeader();
        //language
        $rgid = $this->engine->getRgid();
        $variablenames = $this->getRealVariables(explode("~", $this->engine->getDisplayed()));
        $variablenamesfull = $this->engine->getDisplayed();
        $template = $this->engine->getTemplate();
        $click = "";
        if ($template != "") {
            $group = $this->engine->getGroup($template);
            $click = $this->engine->replaceFills($group->getClickLanguageChange());
        } else {
            $vars = explode("~", $variablenames);
            $var = $this->engine->getVariableDescriptive($vars[0]);
            $click = $this->engine->replaceFills($var->getClickLanguageChange());
        }
        $click = str_replace("'", "", $click);
        $clickmode = "";
        if ($template != "") {
            $group = $this->engine->getGroup($template);
            $clickmode = $this->engine->replaceFills($group->getClickModeChange());
        } else {
            $vars = explode("~", $variablenames);
            $var = $this->engine->getVariableDescriptive($vars[0]);
            $clickmode = $this->engine->replaceFills($var->getClickModeChange());
        }
        $clickmode = str_replace("'", "", $clickmode);
        // begin language
        global $survey;
        $user = new User($_SESSION['URID']);
        $allowedmodes = $user->getModes();
        $allowedlanguages = explode("~", $user->getLanguages(getSurvey(), getSurveyMode()));
        $default = $survey->getDefaultLanguage();
        $ut = "sysadmin";
        if ($user->getUserType() == USER_TRANSLATOR) {
            $ut = "translator";
            if (!inArray($default, $allowedlanguages)) {
                $allowedlanguages[] = $default;
            }
        } else {
            if ($user->GetUserType() == USER_TESTER) {
                $ut = "tester";
            }
        }
        if (getSurveyModeAllowChange() == MODE_CHANGE_RESPONDENT_ALLOWED) {
            //$allowed = explode("~", $survey->getAllowedModes());
            if (sizeof($allowedmodes) > 1) {
                $template = $this->engine->getTemplate();
                $returnStr .= '<li class="dropdown">';
                $returnStr .= '   <a href="#" class="dropdown-toggle" data-toggle="dropdown">Mode <b class="caret"></b></a>';
                $returnStr .= '<ul class="dropdown-menu" role="menu">';
                $current = getSurveyMode();
                $modes = Common::surveyModes();
                foreach ($modes as $key => $mode) {
                    if (inArray($key, $allowedmodes)) {
                        $check = '';
                        if ($key == $current) {
                            $check = ' <span class="glyphicon glyphicon-ok"></span>';
                        }
                        //$returnStr .= '<li><a href=# onclick=\'document.getElementById("r").value="' . setSessionsParamString(array_merge(array(SESSION_PARAM_LASTACTION => $this->engine->getLastSurveyAction(), SESSION_PARAM_SURVEY => $survey->getSuid(), SESSION_PARAM_PRIMKEY => $this->primkey, SESSION_PARAM_RGID => $rgid, SESSION_PARAM_VARIABLES => $variablenames, SESSION_PARAM_GROUP => $template, SESSION_PARAM_MODE => $current, SESSION_PARAM_VERSION => getSurveyVersion(), SESSION_PARAM_LANGUAGE => getSurveyLanguage(), SESSION_PARAM_TIMESTAMP => time(), SESSION_PARAM_SEID => $this->engine->getSeid(), SESSION_PARAM_MAINSEID => $this->engine->getMainSeid()), array(SESSION_PARAM_NEWMODE => $key))) . '"; document.getElementById("navigation").value="' . NAVIGATION_MODE_CHANGE . '"; $("#form").submit(); \'>' . $mode . $check . '</a></li>';
                        $returnStr .= '<li><a href=# onclick=\'document.getElementById("r").value="' . setSessionsParamString(array_merge(array(SESSION_PARAM_SURVEY => $survey->getSuid(), SESSION_PARAM_PRIMKEY => $this->engine->getPrimaryKey(), SESSION_PARAM_RGID => $rgid, SESSION_PARAM_VARIABLES => $variablenames, SESSION_PARAM_GROUP => $template, SESSION_PARAM_MODE => getSurveyMode(), SESSION_PARAM_LANGUAGE => getSurveyLanguage(), SESSION_PARAM_TEMPLATE => getSurveyTemplate(), SESSION_PARAM_TIMESTAMP => time(), SESSION_PARAM_SEID => $this->engine->getSeid(), SESSION_PARAM_MAINSEID => $this->engine->getMainSeid()), array(SESSION_PARAM_NEWMODE => $key))) . '"; document.getElementById("navigation").value="' . addslashes(Language::buttonUpdate()) . '"; ' . $clickmode . ' document.getElementById("form").submit(); \'>' . $mode . $check . '</a></li>';
                    }
                }
                $returnStr .= '</ul></li>';
            }
        }
        if (getSurveyLanguageAllowChange() == LANGUAGE_CHANGE_RESPONDENT_ALLOWED) {
            //$allowed = explode("~", $survey->getAllowedLanguages(getSurveyMode()));
            if (sizeof($allowedlanguages) > 1) {
                $returnStr .= '<li class="dropdown">';
                $returnStr .= '   <a href="#" class="dropdown-toggle" data-toggle="dropdown">Language <b class="caret"></b></a><ul class="dropdown-menu">';
                $langs = Language::getLanguagesArray();
                //getSurveyLanguages($this->engine->survey);
                foreach ($langs as $lang) {
                    if (inArray($lang["value"], $allowedlanguages)) {
                        $check = '';
                        if ($lang["value"] == getSurveyLanguage()) {
                            $check = ' <span class="glyphicon glyphicon-ok"></span>';
                        }
                        $returnStr .= '<li><a href=# onclick=\'document.getElementById("r").value="' . setSessionsParamString(array_merge(array(SESSION_PARAM_SURVEY => $survey->getSuid(), SESSION_PARAM_PRIMKEY => $this->engine->getPrimaryKey(), SESSION_PARAM_RGID => $rgid, SESSION_PARAM_VARIABLES => $variablenames, SESSION_PARAM_GROUP => $template, SESSION_PARAM_MODE => getSurveyMode(), SESSION_PARAM_LANGUAGE => getSurveyLanguage(), SESSION_PARAM_TEMPLATE => getSurveyTemplate(), SESSION_PARAM_TIMESTAMP => time(), SESSION_PARAM_SEID => $this->engine->getSeid(), SESSION_PARAM_MAINSEID => $this->engine->getMainSeid()), array(SESSION_PARAM_NEWLANGUAGE => $lang["value"]))) . '"; document.getElementById("navigation").value="' . addslashes(Language::buttonUpdate()) . '"; ' . $click . ' document.getElementById("form").submit(); \'>' . $lang["name"] . $check . '</a></li>';
                    }
                }
                $returnStr .= '</ul></li>';
            }
            //end language
        }
        $user = new User($_SESSION['URID']);
        $returnStr .= '<li class="dropdown">
              <a href="#" class="dropdown-toggle" data-hover="dropdown" data-toggle="dropdown">' . $user->getName() . ' <b class="caret"></b></a>
                 <ul class="dropdown-menu">
										<li class="dropdown-header">' . $this->engine->getPrimaryKey() . '</li>
                                                                                <li class="dropdown-header">' . $variablenamesfull . '</li>';
        $windowopen = 'window.open(\'tester/' . setSessionParams(array('reporturid' => $_SESSION['URID'], 'testpage' => 'report', 'reportsuid' => $this->engine->getSuid(), 'reportseid' => $this->engine->getSeid(), 'reportmainseid' => $this->engine->getMainSeid(), 'reportrgid' => $rgid, 'reportdisplayed' => $variablenames, 'reportlanguage' => getSurveyLanguage(), 'reportmode' => getSurveyMode(), 'reportversion' => getSurveyVersion(), 'reportprimkey' => $this->engine->getPrimarykey())) . '\', \'popupWindow\', \'width=770,height=500,scrollbars=yes,top=100,left=100\'); return false;';
        $javascript = ' onclick="' . $windowopen . '"';
        $returnStr .= '<li><a style="cursor: pointer;" ' . $javascript . '><span class="glyphicon glyphicon-remove-sign"></span> ' . Language::linkReportProblem() . '</a></li>';
        $windowopen = 'window.open(\'tester/' . setSessionParams(array('testpage' => 'watch', 'watchurid' => $_SESSION['URID'], 'watchsuid' => $this->engine->getSuid(), 'watchseid' => $this->engine->getSeid(), 'watchmainseid' => $this->engine->getMainSeid(), 'watchrgid' => $rgid, 'watchdisplayed' => $variablenames, 'watchlanguage' => getSurveyLanguage(), 'watchmode' => getSurveyMode(), 'watchversion' => getSurveyVersion(), 'watchprimkey' => $this->engine->getPrimarykey())) . '\', \'popupWindow\', \'width=770,height=650,scrollbars=yes,top=100,left=100\'); return false;';
        $javascript = ' onclick="' . $windowopen . '"';
        $returnStr .= '<li><a style="cursor: pointer;" ' . $javascript . '><span class="glyphicon glyphicon-zoom-in"></span> ' . Language::linkWatch() . '</a></li>';
        $first = $this->engine->isFirstState();
        if ($first == false || $first == true && $this->engine->getForward() == true) {
            if ($this->engine->getForward() == true) {
                $stateid = $this->engine->getStateId() + 1;
            } else {
                $stateid = $this->engine->getStateId();
            }
            $windowopen = 'window.open(\'tester/' . setSessionParams(array('testpage' => 'jumpback', 'jumpurid' => $_SESSION['URID'], 'jumpsuid' => $this->engine->getSuid(), 'jumpstateid' => $stateid, 'jumpprimkey' => $this->engine->getPrimaryKey())) . '\', \'popupWindow\', \'width=770,height=300,scrollbars=yes,top=100,left=100\'); return false;';
            $javascript = ' onclick="' . $windowopen . '"';
            $returnStr .= '<li><a style="cursor: pointer;" ' . $javascript . '><span class="glyphicon glyphicon-arrow-left"></span> ' . Language::linkJumpBack() . '</a></li>';
        }
        $returnStr .= '<li><a href="' . setSessionParams(array('page' => $ut . '.tools.test', 'suid' => $this->engine->getSuid())) . '&se=' . addslashes(USCIC_SMS) . '"><span class="glyphicon glyphicon-home"></span> ' . Language::linkBackToNubis() . '</a></li>                   
                    <li class="divider"></li>
                   <li><a href="index.php?rs=1&se=2"><span class="glyphicon glyphicon-log-out"></span> ' . Language::linkLogout() . '</a></li>
                 </ul>
             </li>
            </ul>
';
        $returnStr .= '</div><!--/.nav-collapse --> </div> </div>';
        return $returnStr;
    }
Example #5
0
    function showOutputDocumentation()
    {
        $survey = new Survey(getSurvey());
        $user = new User($_SESSION['URID']);
        $utype = $user->getUserType();
        $ut = "";
        switch ($utype) {
            case USER_SYSADMIN:
                $ut = "sysadmin";
                $headers[] = array('link' => setSessionParamsHref(array('page' => 'sysadmin.output'), Language::headerOutput()), 'label' => Language::headerOutput());
                $headers[] = array('link' => '', 'label' => Language::headerOutputDocumentation());
                break;
            case USER_ADMIN:
                $ut = "admin";
                break;
            case USER_TRANSLATOR:
                $ut = "translator";
                $headers[] = array('link' => setSessionParamsHref(array('page' => 'translator.output'), Language::headerOutput()), 'label' => Language::headerOutput());
                $headers[] = array('link' => '', 'label' => Language::headerOutputDocumentation());
                break;
            case USER_RESEARCHER:
                $ut = "researcher";
                $headers[] = array('link' => '', 'label' => Language::headerOutputDocumentation());
                break;
            case USER_INTERVIEWER:
                $ut = "interviewer";
                break;
        }
        $returnStr = $this->showOutputHeader($headers);
        $returnStr .= '<form id=modeform method="post">';
        $returnStr .= '<input type=hidden name=r value="' . setSessionsParamString(getSessionParams()) . '">';
        $returnStr .= $this->displayComboBox();
        $returnStr .= '<span class="label label-default">' . Language::labelOutputDocumentation() . '</span>';
        $returnStr .= '<div class="well well-sm">';
        $returnStr .= '<table>';
        $returnStr .= '<tr><td>' . Language::labelOutputDocumentationSurvey() . '</td><td>' . $this->displaySurveys("survey", "survey", $_SESSION['SUID'], '') . '</tr>';
        $returnStr .= '<tr><td>' . Language::labelOutputDocumentationMode() . '</td><td>' . $this->displayModesAdmin("surveymode", "surveymode", getSurveyMode(), "", implode("~", $user->getModes(getSurvey()))) . '</tr>';
        /* language dropdown */
        $langs = explode("~", $user->getLanguages(getSurvey(), getSurveyMode()));
        $default = $survey->getDefaultLanguage();
        if (!inArray($default, $langs)) {
            //$langs[] = $default;
        }
        $returnStr .= '<tr><td>' . Language::labelOutputDocumentationLanguage() . '</td><td>' . $this->displayLanguagesAdmin("surveylanguage", "surveylanguage", getSurveyLanguage(), true, false, true, "", implode("~", $langs)) . '</tr>';
        $returnStr .= '</table><br/>';
        $returnStr .= '<script type=text/javascript>
                            $(document).ready(function(){
                                    $("#survey").on("change", function(event) {
                                        var values = $("#modeform").serialize();
                                        values += "&' . POST_PARAM_AJAX_LOAD . '=' . AJAX_LOAD . '";

                                        // Send the data using post
                                        var posting = $.post( $("#modeform").attr("action"), values );

                                        posting.done(function( data ) {       
                                          $("#content").html( $( data ).html());
                                          $("[data-hover=\'dropdown\']").dropdownHover();  
                                        });                                                                     
                                    });
                                
                                    $("#surveymode").on("change", function(event) {
                                        var values = $("#modeform").serialize();
                                        values += "&' . POST_PARAM_AJAX_LOAD . '=' . AJAX_LOAD . '";

                                        // Send the data using post
                                        var posting = $.post( $("#modeform").attr("action"), values );

                                        posting.done(function( data ) {       
                                          $("#content").html( $( data ).html());
                                          $("[data-hover=\'dropdown\']").dropdownHover();  
                                        });                                                                     
                                    });';
        //if ($ut != "sysadmin" && $ut != "translator") {
        $returnStr .= '$("#surveylanguage").on("change", function(event) {
                                        var values = $("#modeform").serialize();
                                        values += "&' . POST_PARAM_AJAX_LOAD . '=' . AJAX_LOAD . '";

                                        // Send the data using post
                                        var posting = $.post( $("#languageform").attr("action"), values );

                                        posting.done(function( data ) {       
                                          $("#content").html( $( data ).html());
                                          $("[data-hover=\'dropdown\']").dropdownHover();  
                                        });  
                                    });';
        //}
        $returnStr .= '
                                });
                            </script>';
        $returnStr .= "</form>";
        $returnStr .= '<div class="list-group">';
        $user = new User($_SESSION['URID']);
        $utype = $user->getUserType();
        if (inArray($utype, array(USER_SYSADMIN, USER_RESEARCHER))) {
            $returnStr .= '<a target="_blank" href="index.php?r=' . setSessionsParamString(array('page' => $ut . '.output.documentation.dictionary')) . '" class="list-group-item">' . Language::labelOutputDocumentationDictionary() . '</a>';
            $returnStr .= '<a target="_blank" href="index.php?r=' . setSessionsParamString(array('page' => $ut . '.output.documentation.routing')) . '" class="list-group-item">' . Language::labelOutputDocumentationRouting() . '</a>';
            if (inArray($utype, array(USER_SYSADMIN))) {
                $returnStr .= '<a target="_blank" href="index.php?r=' . setSessionsParamString(array('page' => $ut . '.output.documentation.routing.dash')) . '" class="list-group-item">' . Language::labelOutputDocumentationRouting() . ' (text only)</a>';
            }
        }
        if (inArray($utype, array(USER_SYSADMIN, USER_TRANSLATOR))) {
            $returnStr .= '<a target="_blank" href="index.php?r=' . setSessionsParamString(array('page' => $ut . '.output.documentation.translation')) . '" class="list-group-item">' . Language::labelOutputTranslation() . '</a>';
        }
        $returnStr .= '</div>';
        $returnStr .= '</div>';
        $returnStr .= '</p></div>    </div>';
        //container and wrap
        $returnStr .= $this->showBottomBar();
        $returnStr .= $this->showFooter(false);
        return $returnStr;
    }
Example #6
0
 function showCheck($content)
 {
     $returnStr = $this->showToolsHeader(Language::headerToolsChecker());
     $returnStr .= $content;
     $survey = new Survey($_SESSION['SUID']);
     $user = new User($_SESSION['URID']);
     $returnStr .= "<form id=refreshform method=post>";
     $returnStr .= '<input type=hidden name=page value="sysadmin.tools.check">';
     $returnStr .= '<input type=hidden name="' . SMS_POST_SURVEY . '" id="' . SMS_POST_SURVEY . '_hidden" value="' . getSurvey() . '">';
     $returnStr .= '<input type=hidden name="' . SMS_POST_MODE . '" id="' . SMS_POST_MODE . '_hidden" value="' . getSurveyMode() . '">';
     $returnStr .= '<input type=hidden name="' . SMS_POST_LANGUAGE . '" id="' . SMS_POST_LANGUAGE . '_hidden" value="' . getSurveyLanguage() . '">';
     $returnStr .= "</form>";
     $returnStr .= '<form method="post">';
     $returnStr .= setSessionParamsPost(array('page' => 'sysadmin.tools.checkres'));
     $returnStr .= '<div class="well well-sm">';
     $returnStr .= '<table>';
     $returnStr .= '<tr><td>' . Language::labelOutputDocumentationSurvey() . '</td><td>' . $this->displaySurveys("survey", "survey", $_SESSION['SUID'], '', "onchange='document.getElementById(\"" . SMS_POST_SURVEY . "_hidden\").value=this.value; document.getElementById(\"refreshform\").submit();'") . '</tr>';
     $returnStr .= '<tr><td>' . Language::labelOutputDocumentationMode() . '</td><td>' . $this->displayModesAdmin("surveymode", "surveymode", getSurveyMode(), "", implode("~", $user->getModes()), "onchange='document.getElementById(\"" . SMS_POST_MODE . "_hidden\").value=this.value; document.getElementById(\"refreshform\").submit();'") . '</tr>';
     /* language dropdown */
     $langs = explode("~", $user->getLanguages($_SESSION['SUID'], getSurveyMode()));
     $default = $survey->getDefaultLanguage();
     if (!inArray($default, $langs)) {
         $langs[] = $default;
     }
     $returnStr .= '<tr><td>' . Language::labelOutputDocumentationLanguage() . '</td><td>' . $this->displayLanguagesAdmin("surveylanguage", "surveylanguage", getSurveyLanguage(), true, false, true, "", implode("~", $langs)) . '</tr>';
     $returnStr .= '</table>';
     $returnStr .= '</div>';
     $returnStr .= '<div class="well well-sm">';
     $returnStr .= '<table>';
     $returnStr .= '<tr><td><label><input name=components[] value="' . SURVEY_COMPONENT_ROUTING . '" type="checkbox">' . Language::labelToolsCheckRouting() . '</label></td></tr>';
     $returnStr .= '<tr><td><label><input name=components[] value="' . SURVEY_COMPONENT_SECTION . '" type="checkbox">' . Language::labelToolsCompileSections() . '</label></td></tr>';
     $returnStr .= '<tr><td><label><input name=components[] value="' . SURVEY_COMPONENT_TYPE . '" type="checkbox">' . Language::labelToolsCompileTypes() . '</label></td></tr>';
     $returnStr .= '<tr><td><label><input name=components[] value="' . SURVEY_COMPONENT_VARIABLE . '" type="checkbox">' . Language::labelToolsCompileVariables() . '</label></td></tr>';
     $returnStr .= '<tr><td><label><input name=components[] value="' . SURVEY_COMPONENT_GROUP . '" type="checkbox">' . Language::labelToolsCompileGroup() . '</label></td></tr>';
     $returnStr .= '</table>';
     $returnStr .= '</div>';
     $returnStr .= '<input type="submit" class="btn btn-default" value="' . Language::buttonCheck() . '"/>';
     $returnStr .= '</form>';
     $returnStr .= '</div>';
     //END CONTENT
     $returnStr .= '</p></div>    </div>';
     //container and wrap
     $returnStr .= $this->showBottomBar();
     $returnStr .= $this->showFooter(false);
     return $returnStr;
 }
 function showAuxData()
 {
     $suid = loadvar('survey');
     if ($suid == "") {
         $suid = $_SESSION['SUID'];
     }
     $survey = new Survey($suid);
     $returnStr = $this->showResearchHeader(Language::messageSMSTitle());
     $returnStr .= '<div id="wrap">';
     $returnStr .= $this->showNavBar();
     $returnStr .= '<div class="container">';
     $returnStr .= '<ol class="breadcrumb">';
     $returnStr .= '<li>' . setSessionParamsHref(array('page' => 'researcher.data'), Language::linkData()) . '</li>';
     $returnStr .= '<li class="active">' . Language::labelShowAuxData() . '</li>';
     $returnStr .= '</ol>';
     $returnStr .= $this->displayComboBox();
     $returnStr .= "<form id=refreshform method=post>";
     $returnStr .= '<input type=hidden name=page value="researcher.data.auxiliarydata">';
     $returnStr .= '<input type=hidden name="' . SMS_POST_SURVEY . '" id="' . SMS_POST_SURVEY . '_hidden" value="' . getSurvey() . '">';
     $returnStr .= "</form>";
     $returnStr .= '<form ' . POST_PARAM_NOAJAX . '=' . NOAJAX . ' id=surveyform method="post">';
     $returnStr .= setSessionParamsPost(array('page' => 'researcher.data.auxiliarydatares'));
     $returnStr .= '<span class="label label-default">' . Language::labelOutputDataSource() . '</span>';
     $returnStr .= '<div class="well well-sm">';
     $returnStr .= '<table>';
     $returnStr .= '<tr><td>' . Language::labelOutputDataTable() . '</td><td>';
     $returnStr .= "<select class='selectpicker show-tick' name=" . DATA_OUTPUT_TYPE . ">";
     //$returnStr .= "<option></option>";
     $returnStr .= "<option value=" . DATA_OUTPUT_TYPE_DATARECORD_TABLE . ">" . Language::optionsDataDataRecordTable() . "</option>";
     $returnStr .= "<option value=" . DATA_OUTPUT_TYPE_DATA_TABLE . ">" . Language::optionsDataDataTable() . "</option>";
     $returnStr .= "</select>";
     $returnStr .= "</td></tr>";
     $returnStr .= '<tr><td>' . Language::labelOutputDataSurvey() . '</td><td>' . $this->displaySurveys(DATA_OUTPUT_SURVEY, DATA_OUTPUT_SURVEY, $suid, '', "") . '</td></tr>';
     $returnStr .= "<script type='text/javascript'>";
     $returnStr .= '$( document ).ready(function() {
                                             $("#' . DATA_OUTPUT_SURVEY . '").change(function (e) {
                                                 $("#' . SMS_POST_SURVEY . '_hidden").val(this.value);                                                     
                                                 $("#refreshform").submit();
                                             });
                                             })';
     $returnStr .= "</script>";
     $user = new User($_SESSION['URID']);
     $modes = $user->getModes($suid);
     $langs = array();
     foreach ($modes as $m) {
         $langs = array_merge($langs, explode("~", $user->getLanguages($suid, $m)));
     }
     $langs = array_unique($langs);
     $returnStr .= "<script type='text/javascript'>";
     $returnStr .= '$( document ).ready(function() {
                                             $("#' . DATA_OUTPUT_SURVEY . '").change(function (e) {
                                                 $("#' . SMS_POST_SURVEY . '_hidden").val(this.value);                                                     
                                                 $("#refreshform").submit();
                                             });
                                             })';
     $returnStr .= "</script>";
     $returnStr .= '<tr><td>' . Language::labelOutputDataMode() . '</td><td>' . $this->displayModesAdmin(DATA_OUTPUT_MODES, DATA_OUTPUT_MODES, MODE_CAPI . "~" . MODE_CATI . "~" . MODE_CASI, "multiple", implode("~", $modes)) . '</td></tr>';
     $returnStr .= '<tr><td>' . Language::labelOutputDataLanguage() . '</td><td>' . $this->displayLanguagesAdmin(DATA_OUTPUT_LANGUAGES, DATA_OUTPUT_LANGUAGES, implode("~", $langs), true, false, false, "multiple", implode("~", $langs)) . '</td></tr>';
     $returnStr .= '<tr><td>' . Language::labelOutputDataType() . '</td><td>';
     $returnStr .= "<select class='selectpicker show-tick' name=" . DATA_OUTPUT_TYPEDATA . ">";
     //$returnStr .= "<option></option>";
     $returnStr .= "<option value=" . DATA_REAL . ">" . Language::optionsDataReal() . "</option>";
     $returnStr .= "<option value=" . DATA_TEST . ">" . Language::optionsDataTest() . "</option>";
     $returnStr .= "</select>";
     $returnStr .= "</td></tr>";
     $returnStr .= '<tr><td>' . Language::labelToolsCleanFrom() . ': </td><td>' . $this->displayDateTimePicker(DATA_OUTPUT_FROM, DATA_OUTPUT_FROM, "", getSMSLanguagePostFix(getSMSLanguage()), "true", "true", "false") . '</td></tr><tr><td>' . Language::labelToolsCleanTo() . ': </td><td>' . $this->displayDateTimePicker(DATA_OUTPUT_TO, DATA_OUTPUT_TO, "", getSMSLanguagePostFix(getSMSLanguage()), "true", "true", "false") . '</td></tr>';
     if (isset($_COOKIE['uscicvariablecookie'])) {
         $returnStr .= '<tr><td>' . Language::labelOutputDataVarlist() . '</td><td>';
         $returnStr .= "<select class='selectpicker show-tick' name=" . DATA_OUTPUT_SUBDATA . ">";
         $returnStr .= "<option value=" . SUBDATA_NO . ">" . Language::optionsSubDataNo() . "</option>";
         $returnStr .= "<option value=" . SUBDATA_YES . ">" . Language::optionsSubDataYes() . "</option>";
         $returnStr .= "</select>";
         $returnStr .= "</td></tr>";
     }
     $returnStr .= '<tr><td>' . Language::labelOutputDataCompleted() . '</td><td>';
     $returnStr .= "<select class='selectpicker show-tick' name=" . DATA_OUTPUT_COMPLETED . ">";
     //$returnStr .= "<option></option>";
     $returnStr .= "<option value=" . INTERVIEW_NOTCOMPLETED . ">" . Language::optionsDataNotCompleted() . "</option>";
     $returnStr .= "<option value=" . INTERVIEW_COMPLETED . ">" . Language::optionsDataCompleted() . "</option>";
     $returnStr .= "</select>";
     $returnStr .= '<tr><td>' . Language::labelOutputDataClean() . '</td><td>';
     $returnStr .= "<select class='selectpicker show-tick' name=" . DATA_OUTPUT_CLEAN . ">";
     //$returnStr .= "<option></option>";
     $returnStr .= "<option value=" . DATA_CLEAN . ">" . Language::optionsDataClean() . "</option>";
     $returnStr .= "<option value=" . DATA_DIRTY . ">" . Language::optionsDataDirty() . "</option>";
     $returnStr .= "</select>";
     $returnStr .= "</td></tr>";
     $returnStr .= '<tr><td>' . Language::labelOutputDataKeepOnly() . '</td><td>';
     $returnStr .= "<select class='selectpicker show-tick' name=" . DATA_OUTPUT_KEEP_ONLY . ">";
     $returnStr .= "<option value=" . DATA_KEEP_NO . ">" . Language::optionsDataKeepNo() . "</option>";
     $returnStr .= "<option value=" . DATA_KEEP_YES . ">" . Language::optionsDataKeepYes() . "</option>";
     $returnStr .= "</select>";
     $returnStr .= "</td></tr>";
     $returnStr .= '<tr><td>' . Language::labelOutputDataHidden() . '</td><td>';
     $returnStr .= "<select class='selectpicker show-tick' name=" . DATA_OUTPUT_HIDDEN . ">";
     $returnStr .= "<option value=" . DATA_NOTHIDDEN . ">" . Language::optionsDataNotHidden() . "</option>";
     $returnStr .= "<option value=" . DATA_HIDDEN . ">" . Language::optionsDataHidden() . "</option>";
     $returnStr .= "</select>";
     $returnStr .= "</td></tr>";
     $returnStr .= '</table>';
     $returnStr .= '</div>';
     /* format */
     /*
      exportDirectory
      encoding
      outputType
     * 
     */
     $returnStr .= '<span class="label label-default">' . Language::labelOutputDataFormat() . '</span>';
     $returnStr .= '<div class="well well-sm">';
     $returnStr .= '<table>';
     $returnStr .= '<tr><td>' . Language::labelOutputDataFileName() . '</td><td>';
     $returnStr .= "<div class='input-group'><input type=text class='form-control' name='" . DATA_OUTPUT_FILENAME . "' ><span class='input-group-addon'>" . Language::labelOutputDataFileNameNoExtension() . "</span></div>";
     $returnStr .= "</td></tr>";
     $returnStr .= '<tr><td>' . Language::labelOutputDataPrimaryKey() . '</td><td>';
     $returnStr .= "<select class='selectpicker show-tick' name='" . DATA_OUTPUT_PRIMARY_KEY_IN_DATA . "'>";
     //$returnStr .= "<option></option>";
     $returnStr .= "<option value=" . PRIMARYKEY_YES . ">" . Language::optionsPrimaryKeyInDataYes() . "</option>";
     $returnStr .= "<option value=" . PRIMARYKEY_NO . ">" . Language::optionsPrimaryKeyInDataNo() . "</option>";
     $returnStr .= "</select>";
     $returnStr .= "</td></tr>";
     $returnStr .= '<tr><td>' . Language::labelOutputDataPrimaryKeyEncryption() . '</td><td>';
     $returnStr .= "<div class='input-group'><input type=text class='form-control' name='" . DATA_OUTPUT_PRIMARY_KEY_ENCRYPTION . "' ><span class='input-group-addon'>" . Language::labelOutputDataPrimaryKeyEncryptionNo() . "</span></div>";
     $returnStr .= "</td></tr>";
     $returnStr .= '</table>';
     $returnStr .= '</div>';
     $returnStr .= '<input type="submit" class="btn btn-default" value="' . Language::buttonDownload() . '"/>';
     $returnStr .= '</form>';
     $returnStr .= '</p></div>    </div>';
     //container and wrap
     $returnStr .= $this->showBottomBar();
     $returnStr .= $this->showFooter(false);
     return $returnStr;
 }
Example #8
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;
 }