static function getShortDeIdentified() { $query = 'aes_decrypt(name, "' . Config::smsPersonalInfoKey() . '") as name, '; $query .= 'aes_decrypt(address1, "' . Config::smsPersonalInfoKey() . '") as dwellingid, '; $query .= 'aes_decrypt(city, "' . Config::smsPersonalInfoKey() . '") as village '; return $query; } function getHouseholdsByUser(User $user, $filter = 0) { //do something with the filter! $currentUser = new User($_SESSION['URID']); // this can be the supervisor looking global $db; $households = array(); $test = ' and test = 0'; if ($currentUser->isTestMode()) { $test = ' and test = 1'; } if ($currentUser->getRegionFilter() > 0 && $currentUser->getPuid() > 0) { //only certain region $test = ' and puid = ' . $currentUser->getPuid(); } //urid!!! is this a supervisor? if ($user->getUserType() == USER_INTERVIEWER) { //only add if interviewer! $uridStr = 'urid = ' . prepareDatabaseString($user->getUrid()); } else { $users = new Users(); $uridStr = $users->getUsersBySupervisor($user->getUrid()); $urids = array(); foreach ($uridStr as $urid) { $urids[] = prepareDatabaseString($urid->getUrid()); } $uridStr = 'urid = ' . implode(' or urid = ', $urids); } $query = 'select *, ' . $this->getDeIdentified() . ' from ' . Config::dbSurvey() . '_households where (' . $uridStr . ') ' . $test . ' ORDER by primkey'; /* if ($filter == 6){ //moved out! handle here, not in filter global $survey; $query = 'select *, ' . $this->getDeIdentified() . ' from ' . Config::dbSurvey() . '_data as t1 left join '; $query .= Config::dbSurvey() . '_households as t2 on t1.primkey = t2.primkey where (' . $uridStr . ') ' . $test; $query .= ' and variablename like "HR011[%" and aes_decrypt(answer, "' . $survey->getDataEncryptionKey() . '") = "1"'; }*/ // echo '<br/><br/><br/>' . $query; $result = $db->selectQuery($query); while ($row = $db->getRow($result)) { $households[] = new Household($row); } if ($currentUser->getTestMode() && sizeof($households) == 0 && $currentUser->getRegionFilter() <= 0) { //psu filter if ($currentUser->getUserType() == USER_INTERVIEWER) { //only add if interviewer! $households = $this->addTestHouseholds($user);
function getRespondentsByUser(User $user, $filter = 0) { global $db; $respondents = array(); $test = ' and test = 0'; // this can be the supervisor looking $currentUser = new User($_SESSION['URID']); if ($currentUser->isTestMode()) { $test = ' and test = 1'; } if ($currentUser->getRegionFilter() > 0 && $currentUser->getPuid() > 0) { //only certain region $test = ' and puid = ' . $currentUser->getPuid(); } $result = $db->selectQuery('select *, ' . $this->getDeIdentified() . ' from ' . Config::dbSurvey() . '_respondents where urid = ' . prepareDatabaseString($user->getUrid()) . $test); while ($row = $db->getRow($result)) { $respondents[] = new Respondent($row); } if ($currentUser->getTestMode() && sizeof($respondents) == 0 && $currentUser->getRegionFilter() <= 0) { //psu filter!! if ($currentUser->getUserType() == USER_INTERVIEWER) { //only add if interviewer! if (dbConfig::defaultPanel() != PANEL_HOUSEHOLD) { //only if not household sample $respondents = $this->addTestRespondents($user); } } } if ($filter > 0) { //a filter!! $respondents = $this->filterRespondents($respondents, $filter); } return $respondents; }
function displayInterviewerAssignedSample($interviewer, $message = '') { $returnStr = $this->displayHeaderForTable(Language::messageSMSTitle(), $message); $returnStr .= '<div id="wrap">'; $returnStr .= $this->showNavBar(); $returnStr .= '<div class="container"><p>'; $breadcrumps = '<ol class="breadcrumb">'; if ($interviewer->getUserType() == USER_INTERVIEWER) { $breadcrumps .= '<li>' . setSessionParamsHref(array('page' => 'supervisor.home'), Language::labelSuperVisorInterviewers()) . '</li>'; $breadcrumps .= '<li>' . $interviewer->getName() . '</li>'; } else { $breadcrumps .= '<li class="active">' . Language::linkSample() . '</li>'; } $breadcrumps .= '</ol>'; $returnStr .= '<br/><br/><br/>' . $breadcrumps; $content = '<form id=assignedsample>'; $content .= setSessionParamsPost(array('page' => 'supervisor.interviewer.sample', 'interviewer' => $interviewer->getUrid())); $filtermode = 0; if (loadvar('filtermode') != '') { $filtermode = loadvar('filtermode', 0); } else { if (isset($_SESSION['FILTERMODE'])) { $filtermode = $_SESSION['FILTERMODE']; } } $_SESSION['FILTERMODE'] = $filtermode; $content .= $this->displayRespondentsFilter($filtermode); $content .= '</form>'; $content .= '<br/>'; if (dbConfig::defaultPanel() == PANEL_HOUSEHOLD) { //show household level $households = new Households(); $respondents = $households->getHouseholdsByUser($interviewer, $filtermode); } else { $respondents = new Respondents(); $respondents = $respondents->getRespondentsByUser($interviewer, $filtermode); } if (sizeof($respondents) > 0) { $message = Language::messageRespondentsAssignedSupervisor($interviewer->getName()); $currentUser = new User($_SESSION['URID']); if ($currentUser->getRegionFilter() > 0 && $currentUser->getPuid() > 0) { //only certain region $psu = new Psu($currentUser->getPuid()); $message .= ' <b>' . Language::labelSupervisorFilterPsu() . ': ' . $psu->getCodeAndName() . '.'; } $content .= $this->displaySuccess($message, "outcomehelp"); // 'Assigned respondents to ' . $interviewer->getName(); $arr = array_values($respondents); if ($arr[0] instanceof Respondent) { //this is a respondent $content .= $this->showRespondentsTable($respondents, 'supervisor.interviewer.respondent'); } else { //household $content .= $this->showHouseholdsTable($respondents, 'supervisor.'); } } else { $message = Language::messageNoRespondentsAssignedSupervisor(); $currentUser = new User($_SESSION['URID']); if ($currentUser->getRegionFilter() > 0 && $currentUser->getPuid() > 0) { //only certain region $psu = new Psu($currentUser->getPuid()); $message .= ' <b>' . Language::labelSupervisorFilterPsu() . ': ' . $psu->getCodeAndName() . '.'; } $content .= $this->displayWarning($message, "outcomehelp"); //'<div class="alert alert-warning" id="outcomehelp">' . Language::errorNoRespondentsAssignedSupervisor() . '</div>'; } $returnStr .= $content; //END CONTENT $returnStr .= '</p></div></div> '; // </div>'; //container and wrap $returnStr .= $this->showBottomBar(); $returnStr .= $this->showFooter(false); return $returnStr; //return $this->showSupervisorPageWithTableAndSideBar($content, $breadcrumps, $this->showInterviewerSideBar($interviewer)); }