Select Git revision
node.views.inc
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
user.module 83.79 KiB
<?php
// $Id$
session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");
session_start();
function user_system($field){
$system["description"] = t("Enables the user registration and login system.");
$system["admin_help"] = t("In order to use the full power of Drupal a visitor must sign up for an account. This page lets you setup how a user signs up, logs out, the guidelines from the system about user subscriptions, and the e-mails the system will send to the user.");
return $system[$field];
}
/*** Session functions *****************************************************/
function sess_open($save_path, $session_name) {
return 1;
}
function sess_close() {
return 1;
}
function sess_read($key) {
global $user;
$user = user_load(array("sid" => $key, "status" => 1));
return !empty($user->session) ? $user->session : '';
}
function sess_write($key, $value) {
db_query("UPDATE users SET hostname = '%s', session = '%s', timestamp = %d WHERE sid = '$key'", $_SERVER["REMOTE_ADDR"], $value, time());
return '';
}
function sess_destroy($key) {
db_query("UPDATE users SET hostname = '%s', timestamp = %d, sid = '' WHERE sid = '$key'", $_SERVER["REMOTE_ADDR"], time());
}
function sess_gc($lifetime) {
return 1;
}
/*** Common functions ******************************************************/
function user_external_load($authname) {
$arr_uid = db_query("SELECT uid FROM authmap WHERE authname = '%s'", $authname);
if (db_fetch_object($arr_uid)) {
$uid = db_result($arr_uid);
return user_load(array("uid" => $uid));
}
else {
return 0;
}
}
function user_load($array = array()) {
/*
** Dynamically compose a SQL query:
*/
$query = "";
foreach ($array as $key => $value) {
if ($key == "pass") {
$query .= "u.$key = '". md5($value) ."' AND ";