45ed5cf0d3d06fc9fe1853e90e5716b1fd80b0bb
[moodle.git] / auth / db / lib.php
1 <?PHP  // $Id$
2        // Authentication by looking up an external database table
4 // This code is completely untested so far - IT NEEDS TESTERS!
5 // Looks like it should work though ...
8 function auth_user_login ($username, $password) {
9 // Returns true if the username and password work
10 // and false if they are wrong or don't exist.
12     global $CFG;
14     ADOLoadCode($CFG->auth_dbtype);          
15     $authdb = &ADONewConnection();         
16     $authdb->PConnect($CFG->auth_dbhost,$CFG->auth_dbuser,$CFG->auth_dbpass,$CFG->auth_dbname); 
19     $rs = $authdb->Execute("SELECT * FROM $CFG->auth_dbtable 
20                             WHERE $CFG->auth_dbfielduser = '$username' 
21                               AND $CFG->auth_dbfieldpass = '$password' ");
22     if (!$rs) {
23         notify("Could not connect to the specified authentication database...");
24         return false;
25     }
27     if ( $rs->RecordCount() ) {
28         return true;
29     } else {
30         return false;
31     }
32 }
35 function auth_get_userinfo($username){
36 // Reads any other information for a user from external database,
37 // then returns it in an array
39     global $CFG;
40     $config = (array) $CFG;
42     ADOLoadCode($CFG->auth_dbtype);          
43     $authdb = &ADONewConnection();         
44     $authdb->PConnect($CFG->auth_dbhost,$CFG->auth_dbuser,$CFG->auth_dbpass,$CFG->auth_dbname); 
46     $fields = array("firstname", "lastname", "email", "phone1", "phone2", 
47                     "department", "address", "city", "country", "description", 
48                     "idnumber", "lang");
50     $result = array();
52     foreach ($fields as $field) {
53         if ($config["auth_user_$field"]) {
54             if ($rs = $authdb->Execute("SELECT ".$config["auth_user_$field"]." FROM $CFG->auth_dbtable
55                                         WHERE $CFG->auth_dbfielduser = '$username'")) {
56                 if ( $rs->RecordCount() == 1 ) {
57                     $result["$field"] = $rs->fields[$config["auth_user_$field"]];
58                 }
59             }
60         }
61     }
63     return $result;
64 }
66 ?>