]> git.mjollnir.org Git - moodle.git/commitdiff
First version of code to authenticate against external database.
authormoodler <moodler>
Fri, 15 Nov 2002 08:25:24 +0000 (08:25 +0000)
committermoodler <moodler>
Fri, 15 Nov 2002 08:25:24 +0000 (08:25 +0000)
This NOT TESTED yet, and has parameters hardcoded ... it will of
course be using Petri's config interface later when that's ready.

auth/db/lib.php [new file with mode: 0644]

diff --git a/auth/db/lib.php b/auth/db/lib.php
new file mode 100644 (file)
index 0000000..5cee2d6
--- /dev/null
@@ -0,0 +1,43 @@
+<?PHP  // $Id$
+       // Authentication by looking up an external database table
+
+// This code is completely untested so far - I'm just jotting down ideas ...
+// Looks like it should work though ...
+
+$CFG->authdbhost   = "localhost";
+$CFG->authdbtype   = "mysql";     // (postgresql, etc)
+$CFG->authdbname   = "authtest";
+$CFG->authdbtable  = "users";
+$CFG->authdbuser   = "user";
+$CFG->authdbpass   = "pass";
+$CFG->authdbfielduser   = "user";
+$CFG->authdbfieldpass   = "pass";
+
+function auth_user_login ($username, $password) {
+// Returns true if the username and password work
+// and false if they are wrong or don't exist.
+
+    global $CFG;
+
+    ADOLoadCode($CFG->authdbtype);          
+    $authdb = &ADONewConnection();         
+    $authdb->PConnect($CFG->authdbhost,$CFG->authdbuser,$CFG->authdbpass,$CFG->authdbname); 
+
+
+    $rs = $authdb->Execute("SELECT * FROM $CFG->authdbtable 
+                            WHERE $CFG->authdbfielduser = '$username' 
+                              AND $CFG->authdbfieldpass = '$password' ");
+    if (!$rs) {
+        notify("Could not connect to the specified authentication database...");
+        return false;
+    }
+
+    if ( $rs->RecordCount() ) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+
+?>