function checkAccess() { global $db, $survey; switch ($survey->getAccessType()) { case LOGIN_ANONYMOUS: return true; break; case LOGIN_DIRECT: return true; break; case LOGIN_LOGINCODE: $logincode = loadvarSurvey('primkey'); $result = $db->selectQuery('select count(*), primkey from ' . Config::dbSurvey() . '_respondents where aes_decrypt(logincode, \'' . Config::loginCodeKey() . '\') = \'' . prepareDatabaseString($logincode) . '\''); //echo 'select count(*), primkey from ' . Config::dbSurvey() . '_respondents where aes_decrypt(logincode, "' . Config::loginCodeKey() . '") = "' . prepareDatabaseString($logincode) . '"'; $row = $db->getRow($result); if ($row[0] == 1) { $_SESSION['PRIMKEY'] = $row['primkey']; return true; } else { $logactions = new LogActions(); $logactions->addAction('', '', "loginwrong", USCIC_SURVEY); } break; } return false; }
function getRespondentByLoginCode($logincode) { global $db; $query = 'select *, ' . $this->getDeIdentified() . ' from ' . Config::dbSurvey() . '_respondents where aes_decrypt(logincode, \'' . Config::loginCodeKey() . '\') = \'' . prepareDatabaseString($logincode) . '\''; //echo $query; if ($result = $db->selectQuery($query)) { if ($db->getNumberOfRows($result) > 0) { $row = $db->getRow($result); return new Respondent($row); } } return null; }
function saveChanges() { global $db; $errorMessage = array(); $query = 'UPDATE ' . Config::dbSurvey() . '_respondents SET '; $query .= 'logincode = AES_ENCRYPT(\'' . prepareDatabaseString($this->getLoginCode()) . '\', \'' . Config::loginCodeKey() . '\'), '; $query .= 'firstname = AES_ENCRYPT(\'' . prepareDatabaseString($this->getFirstName()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'lastname = AES_ENCRYPT(\'' . prepareDatabaseString($this->getLastName()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'address1 = AES_ENCRYPT(\'' . prepareDatabaseString($this->getAddress1()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'address2 = AES_ENCRYPT(\'' . prepareDatabaseString($this->getAddress2()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'city = AES_ENCRYPT(\'' . prepareDatabaseString($this->getCity()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'puid = \'' . prepareDatabaseString($this->getPuid()) . '\', '; $query .= 'longitude = AES_ENCRYPT(\'' . prepareDatabaseString($this->getLongitude()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'latitude = AES_ENCRYPT(\'' . prepareDatabaseString($this->getLatitude()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'zip = AES_ENCRYPT(\'' . prepareDatabaseString($this->getZip()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'telephone1 = AES_ENCRYPT(\'' . prepareDatabaseString($this->getTelephone1()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'telephone2 = AES_ENCRYPT(\'' . prepareDatabaseString($this->getTelephone2()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'email = AES_ENCRYPT(\'' . prepareDatabaseString($this->getEmail()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'age = AES_ENCRYPT(\'' . prepareDatabaseString($this->getAge()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'sex = AES_ENCRYPT(\'' . prepareDatabaseString($this->getSex()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'birthdate = AES_ENCRYPT(\'' . prepareDatabaseString($this->getBirthDate()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'schoolingyears = \'' . prepareDatabaseString($this->getYearsOfSchooling()) . '\', '; $query .= 'educationlevel = \'' . prepareDatabaseString($this->getEducationLevel()) . '\', '; $query .= 'occupationalstatus = \'' . prepareDatabaseString($this->getOccupationalStatus()) . '\', '; $query .= 'relationshiphh = \'' . prepareDatabaseString($this->getRelationshipHhHead()) . '\', '; $query .= 'spouseprimkey = \'' . prepareDatabaseString($this->getSpousePrimkey()) . '\', '; $query .= 'consenttype = \'' . prepareDatabaseString($this->getConsentType()) . '\', '; $query .= 'hhhead = \'' . prepareDatabaseString($this->getHhHead()) . '\', '; $query .= 'famr = \'' . prepareDatabaseString($this->getFamR()) . '\', '; $query .= 'finr = \'' . prepareDatabaseString($this->getFinR()) . '\', '; $query .= 'covr = \'' . prepareDatabaseString($this->getCovR()) . '\', '; if (isset($this->respondent['permanent'])) { $query .= 'permanent = \'' . prepareDatabaseString($this->getPermanent()) . '\', '; } if (isset($this->respondent['validation'])) { $query .= 'validation = \'' . prepareDatabaseString($this->getValidation()) . '\', '; } if (isset($this->respondent['movedout'])) { $query .= 'movedout = \'' . prepareDatabaseString($this->getMovedOut()) . '\', '; } if (isset($this->respondent['hhorder'])) { $query .= 'hhorder = \'' . prepareDatabaseString($this->getHhOrder()) . '\', '; } $query .= 'present = \'' . prepareDatabaseString($this->getPresent()) . '\', '; $query .= 'selected = \'' . prepareDatabaseString($this->getSelected()) . '\', '; if (dbConfig::defaultSeparateInterviewAddress()) { // begin custom personal networks $query .= 'original_firstname = AES_ENCRYPT(\'' . prepareDatabaseString($this->getOriginalFirstName()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'original_lastname = AES_ENCRYPT(\'' . prepareDatabaseString($this->getOriginalLastName()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'originalR = \'' . prepareDatabaseString($this->getOriginalR()) . '\', '; $query .= 'callbackOtherR = \'' . prepareDatabaseString($this->getCallbackOtherR()) . '\', '; $query .= 'interview_address1 = AES_ENCRYPT(\'' . prepareDatabaseString($this->getInterviewAddress1()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'interview_address2 = AES_ENCRYPT(\'' . prepareDatabaseString($this->getInterviewAddress2()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'interview_zip = AES_ENCRYPT(\'' . prepareDatabaseString($this->getInterviewZip()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'interview_city = AES_ENCRYPT(\'' . prepareDatabaseString($this->getInterviewCity()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'interview_state = AES_ENCRYPT(\'' . prepareDatabaseString($this->getInterviewState()) . '\', \'' . Config::smsPersonalInfoKey() . '\'), '; $query .= 'interview_mode = \'' . prepareDatabaseString($this->getInterviewMode()) . '\', '; // end custom personal networks } $query .= 'status = ' . prepareDatabaseString($this->getStatus()) . ', '; $query .= 'urid = ' . prepareDatabaseString($this->getUrid()) . ' '; $query .= 'WHERE primkey = \'' . prepareDatabaseString($this->getPrimkey()) . '\''; //echo '<br/><br/><br/>' . $query . '<br/>'; $db->executeQuery($query); return $errorMessage; }