Example #1
0
 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;
 }
Example #2
0
 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);