mirror of
https://github.com/moodle/moodle.git
synced 2025-01-23 16:48:36 +01:00
34daec9b3b
fields to be specified so that things like email, names etc can be pulled in from external database when new Moodle accounts are created
67 lines
2.0 KiB
PHP
67 lines
2.0 KiB
PHP
<?PHP // $Id$
|
|
// Authentication by looking up an external database table
|
|
|
|
// This code is completely untested so far - IT NEEDS TESTERS!
|
|
// Looks like it should work though ...
|
|
|
|
|
|
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->auth_dbtype);
|
|
$authdb = &ADONewConnection();
|
|
$authdb->PConnect($CFG->auth_dbhost,$CFG->auth_dbuser,$CFG->auth_dbpass,$CFG->auth_dbname);
|
|
|
|
|
|
$rs = $authdb->Execute("SELECT * FROM $CFG->auth_dbtable
|
|
WHERE $CFG->auth_dbfielduser = '$username'
|
|
AND $CFG->auth_dbfieldpass = '$password' ");
|
|
if (!$rs) {
|
|
notify("Could not connect to the specified authentication database...");
|
|
return false;
|
|
}
|
|
|
|
if ( $rs->RecordCount() ) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
function auth_get_userinfo($username){
|
|
// Reads any other information for a user from external database,
|
|
// then returns it in an array
|
|
|
|
global $CFG;
|
|
$config = (array) $CFG;
|
|
|
|
ADOLoadCode($CFG->auth_dbtype);
|
|
$authdb = &ADONewConnection();
|
|
$authdb->PConnect($CFG->auth_dbhost,$CFG->auth_dbuser,$CFG->auth_dbpass,$CFG->auth_dbname);
|
|
|
|
$fields = array("firstname", "lastname", "email", "phone1", "phone2",
|
|
"department", "address", "city", "country", "description",
|
|
"idnumber", "lang");
|
|
|
|
$result = array();
|
|
|
|
foreach ($fields as $field) {
|
|
if ($config["auth_user_$field"]) {
|
|
if ($rs = $authdb->Execute("SELECT ".$config["auth_user_$field"]." FROM $CFG->auth_dbtable
|
|
WHERE $CFG->auth_dbfielduser = '$username'")) {
|
|
if ( $rs->RecordCount() == 1 ) {
|
|
$result["$field"] = $rs->fields[$config["auth_user_$field"]];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
?>
|