function auth($user, $pass, $args) { $r = $db_pw = false; $dsn = access_query("authanydb", 0); $col_login = access_query("authanydblogincolumn", 0) or $col_login = "******"; $col_pass = access_query("authanydbpasswordcolumn", 0) or $col_pass = "******"; $desc = parse_url($dsn); $desc["database"] = strtok($desc["path"], "/"); $table = strtok("/"); $dsn = substr($dsn, 0, strrpos($dsn, "/")); if (function_exists("newadoconnection") && ($db = NewAdoConnection($desc["scheme"])) && $db->connect($desc["host"], $desc["user"], $desc["pass"], $desc["database"])) { $user = $db->qstr($user); $SQL = "SELECT {$col_pass} FROM {$table} WHERE {$col_login}={$user}"; if ($row = $db->GetRow($SQL)) { $db_pw = $row[0]; } $db->Close(); } elseif (class_exists("DB")) { $db = DB::connect($dsn); $user = $db->quoteString($user); $SQL = "SELECT {$col_pass} FROM {$table} WHERE {$col_login}='{$user}'"; if ($row = $db->getRow($SQL)) { $db_pw = $row[0]; } } elseif (function_exists("dbx_connect") && ($db = dbx_connect($desc["scheme"], $desc["host"], $desc["database"], $desc["user"], $desc["pass"]))) { $user = dbx_escape_string($db, $user); $SQL = "SELECT {$col_pass} FROM {$table} WHERE {$col_login}='{$user}'"; if ($result = dbx_query($db, $SQL)) { $db_pw = $result->data[0][0]; } dbx_close($db); } else { techo("mod_auth_anydb: no database interface used (db auth problem?)", NW_EL_WARNING); return $r = false; } $r = strlen($db_pw) && strlen($pass) && ($db_pw == $pass or $db_pw == crypt($pass, substr($db_pw, 0, 2)) or $db_pw == md5($pass)); return $r; }
/** * Close and reset connections to database */ function destroy() { // Close database connection dbx_close($this->handle); }
function da_sql_close($link, $config) { @dbx_close($link); }
function jz_db_close($link) { // Hack by Ross to fix things for Postnuke return; return @dbx_close($link); }