More details...
[moodle.git] / auth / db / lib.php
1 <?PHP  // $Id$
2        // Authentication by looking up an external database table
5 function auth_user_login ($username, $password) {
6 // Returns true if the username and password work
7 // and false if they are wrong or don't exist.
9     global $CFG;
11     ADOLoadCode($CFG->auth_dbtype);          
12     $authdb = &ADONewConnection();         
13     $authdb->PConnect($CFG->auth_dbhost,$CFG->auth_dbuser,$CFG->auth_dbpass,$CFG->auth_dbname); 
15     switch ($CFG->auth_dbpasstype) {   // Re-format password accordingly
16         case "md5":
17             $password = md5($password);
18         break;
19     }
21     $rs = $authdb->Execute("SELECT * FROM $CFG->auth_dbtable 
22                             WHERE $CFG->auth_dbfielduser = '$username' 
23                               AND $CFG->auth_dbfieldpass = '$password' ");
24     if (!$rs) {
25         notify("Could not connect to the specified authentication database...");
26         return false;
27     }
29     if ( $rs->RecordCount() ) {
30         return true;
31     } else {
32         return false;
33     }
34 }
37 function auth_get_userinfo($username){
38 // Reads any other information for a user from external database,
39 // then returns it in an array
41     global $CFG;
42     $config = (array) $CFG;
44     ADOLoadCode($CFG->auth_dbtype);          
45     $authdb = &ADONewConnection();         
46     $authdb->PConnect($CFG->auth_dbhost,$CFG->auth_dbuser,$CFG->auth_dbpass,$CFG->auth_dbname); 
48     $fields = array("firstname", "lastname", "email", "phone1", "phone2", 
49                     "department", "address", "city", "country", "description", 
50                     "idnumber", "lang");
52     $result = array();
54     foreach ($fields as $field) {
55         if ($config["auth_user_$field"]) {
56             if ($rs = $authdb->Execute("SELECT ".$config["auth_user_$field"]." FROM $CFG->auth_dbtable
57                                         WHERE $CFG->auth_dbfielduser = '$username'")) {
58                 if ( $rs->RecordCount() == 1 ) {
59                     $result["$field"] = $rs->fields[$config["auth_user_$field"]];
60                 }
61             }
62         }
63     }
65     return $result;
66 }
68 ?>