Exemplo n.º 1
0
         }
     }
     /* convert */
     $this->convertSurveys();
     // return result
     return "";
 }
 function convertSurveys()
 {
     $query = "select * from " . $this->sourcetable . "_surveys order by syid";
     if (!($res = $this->importdb->selectQuery($query))) {
         $query = "select * from " . $this->sourcetable . "_survey order by syid";
         $res = $this->importdb->selectQuery($query);
     }
     if ($res) {
         if ($this->importdb->getNumberOfRows($res) > 0) {
             $user = new User($_SESSION['URID']);
             while ($row = $this->importdb->getRow($res)) {
                 $this->suid = $row["syid"] + $this->addtosuid;
                 $this->syid = $row["syid"];
                 $this->convertSurveySettings($row);
                 // get languages
                 $survey = new Survey($this->suid);
                 $this->languages = explode("~", $survey->getAllowedLanguages(MODE_CASI));
                 $this->convertSections();
                 $this->convertVariables();
                 $this->convertTemplates();
                 $this->convertTypes();
                 $this->convertRouting();
                 // if first survey in project, then set as default survey
                 $surveys = new Surveys();
                 $surveys = $surveys->getSurveys();
                 if (sizeof($surveys) == 1) {
                     $survey->setDefaultSurvey(DEFAULT_SURVEY_YES);
                 }
                 // update allowed modes
                 $survey->setAllowedModes(MODE_CASI);
                 // update allowed languages
                 $survey->setAllowedLanguages(implode("~", $this->languages));
                 // update access of user doing the import
                 $mods = explode("~", $survey->getAllowedModes());
                 foreach ($mods as $m) {
Exemplo n.º 2
0
 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="sysadmin.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>";
         $returnStr .= "<tr><td>" . Language::labelTestModeInput() . "</td><td>" . $this->displayModesAdmin(POST_PARAM_MODE, POST_PARAM_MODE, getSurveyMode(), "", $current->getAllowedModes(), "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, "", $current->getAllowedLanguages(getSurveyMode())) . "</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;
 }
Exemplo n.º 3
0
 function showEditUserRes()
 {
     /* update last page */
     $_SESSION['LASTPAGE'] = 'sysadmin.users.edituser';
     $displayUsers = new DisplayUsers();
     $urid = getFromSessionParams('urid');
     $content = "";
     if ($urid != '') {
         //edit
         $content = $displayUsers->displaySuccess(Language::messageUserChanged(loadvar('name')));
         $_SESSION['LASTURID'] = $urid;
     } else {
         //add user!
         if (loadvar('username') != "" && loadvar('name') != '') {
             //ADD NEW!!!
             $user = new User('', true);
             $urid = $user->getUrid();
             $_SESSION['LASTURID'] = $urid;
             $content = $displayUsers->displaySuccess(Language::messageUserAdded(loadvar('name')));
         }
     }
     //ADD ALL SORTS OF CHECKS!!
     if ($urid != '' && loadvar('name') != "" && loadvar('username') != '') {
         $user = new User($urid);
         $user->setName(loadvar('name'));
         $user->setUsername(loadvar('username'));
         if (loadvar('pwd1') != '') {
             if (loadvar('pwd1') == loadvar('pwd2')) {
                 $user->setPassword(loadvar('pwd1'));
             } else {
                 $content = $displayUsers->displayWarning(Language::messageUserNoMatch());
             }
         }
         $user->setSupervisor(loadvar('uridsel'));
         $user->setStatus(loadvar('status'));
         $user->setUserType(loadvar('usertype'));
         $user->setUserSubType(loadvar('usersubtype'));
         $current = $user->getSurveysAccess();
         $allowedsurveys = loadvar(SETTING_USER_SURVEYS);
         // add access to all modes and languages if not specified in current access
         foreach ($allowedsurveys as $a) {
             if (!inArray($a, $current)) {
                 $surv = new Survey($a);
                 $mods = explode("~", $surv->getAllowedModes());
                 foreach ($mods as $m) {
                     $user->setLanguages($a, $m, $surv->getAllowedLanguages($m));
                 }
             }
         }
         foreach ($current as $c) {
             if (!inArray($c, $allowedsurveys)) {
                 $user->removeSurvey($c);
             }
         }
         $user->saveChanges();
         // current survey not in allowed, then update to first survey for user
         if (!inArray($_SESSION['SUID'], $allowedsurveys)) {
             $surveys = new Surveys();
             $_SESSION['SUID'] = $surveys->getFirstSurvey();
         }
     } else {
         $content = $displayUsers->displayWarning(Language::messageUserCorrectErrors());
     }
     return $displayUsers->showEditUser($_SESSION['LASTURID'], $content);
 }
Exemplo n.º 4
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;
 }