Skip to content

Commit

Permalink
MDL-50307 auth_db: Stop using AS to prevent error with some drivers
Browse files Browse the repository at this point in the history
  • Loading branch information
John Okely committed Aug 11, 2015
1 parent 1dd3f04 commit b61a30c
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions auth/db/auth.php
Expand Up @@ -110,7 +110,7 @@ function user_login($username, $password) {

$authdb = $this->db_init();

$rs = $authdb->Execute("SELECT {$this->config->fieldpass} AS userpass
$rs = $authdb->Execute("SELECT {$this->config->fieldpass}
FROM {$this->config->table}
WHERE {$this->config->fielduser} = '".$this->ext_addslashes($extusername)."'");
if (!$rs) {
Expand All @@ -125,7 +125,7 @@ function user_login($username, $password) {
}

$fields = array_change_key_case($rs->fields, CASE_LOWER);
$fromdb = $fields['userpass'];
$fromdb = $fields[strtolower($this->config->fieldpass)];
$rs->Close();
$authdb->Close();

Expand Down Expand Up @@ -217,18 +217,21 @@ function get_userinfo($username) {
if ($selectfields) {
$select = array();
foreach ($selectfields as $localname=>$externalname) {
$select[] = "$externalname AS $localname";
$select[] = "$externalname";
}
$select = implode(', ', $select);
$sql = "SELECT $select
FROM {$this->config->table}
WHERE {$this->config->fielduser} = '".$this->ext_addslashes($extusername)."'";

if ($rs = $authdb->Execute($sql)) {
if (!$rs->EOF) {
$fields_obj = $rs->FetchObj();
$fields_obj = (object)array_change_key_case((array)$fields_obj , CASE_LOWER);
foreach ($selectfields as $localname=>$externalname) {
$result[$localname] = core_text::convert($fields_obj->{strtolower($localname)}, $this->config->extencoding, 'utf-8');
$fields = $rs->FetchRow();
// Convert the associative array to an array of its values so we don't have to worry about the case of its keys.
$fields = array_values($fields);
foreach (array_keys($selectfields) as $index => $localname) {
$value = $fields[$index];
$result[$localname] = core_text::convert($value, $this->config->extencoding, 'utf-8');
}
}
$rs->Close();
Expand Down Expand Up @@ -487,15 +490,15 @@ function get_userlist() {
$authdb = $this->db_init();

// Fetch userlist.
$rs = $authdb->Execute("SELECT {$this->config->fielduser} AS username
$rs = $authdb->Execute("SELECT {$this->config->fielduser}
FROM {$this->config->table} ");

if (!$rs) {
print_error('auth_dbcantconnect','auth_db');
} else if (!$rs->EOF) {
while ($rec = $rs->FetchRow()) {
$rec = (object)array_change_key_case((array)$rec , CASE_LOWER);
array_push($result, $rec->username);
$rec = array_change_key_case((array)$rec, CASE_LOWER);
array_push($result, $rec[strtolower($this->config->fielduser)]);
}
}

Expand Down

0 comments on commit b61a30c

Please sign in to comment.