function add_user($user_id, $real_name, $password, $phone, $email, $role_id,
$language, $profile, $rep_popup, $pos)
{
+ begin_transaction(__FUNCTION__, func_get_args());
$sql = "INSERT INTO ".TB_PREF."users (user_id, real_name, password"
.", phone, email, role_id, language, pos, print_profile, rep_popup)
VALUES (".db_escape($user_id).",
.", ".db_escape($pos).",".db_escape($profile).",".db_escape($rep_popup)
." )";
- db_query($sql, "could not add user for $user_id");
+ $result = db_query($sql, "could not add user for $user_id");
+ commit_transaction();
+ return $result;
}
//-----------------------------------------------------------------------------------------------
function update_user_password($id, $user_id, $password)
{
+ begin_transaction(__FUNCTION__, func_get_args());
+
$sql = "UPDATE ".TB_PREF."users SET password=".db_escape($password) . ",
user_id = ".db_escape($user_id). " WHERE id=".db_escape($id);
+ $result = db_query($sql, "could not update user password for $user_id");
- db_query($sql, "could not update user password for $user_id");
+ commit_transaction();
+ return $result;
}
//-----------------------------------------------------------------------------------------------
function update_user($id, $user_id, $real_name, $phone, $email, $role_id,
$language, $profile, $rep_popup, $pos)
{
+ begin_transaction(__FUNCTION__, func_get_args());
$sql = "UPDATE ".TB_PREF."users SET real_name=".db_escape($real_name).
", phone=".db_escape($phone).",
email=".db_escape($email).",
pos=".db_escape($pos).",
user_id = " . db_escape($user_id)
. " WHERE id=" . db_escape($id);
- db_query($sql, "could not update user for $user_id");
+ return db_query($sql, "could not update user for $user_id");
+ commit_transaction();
}
//-----------------------------------------------------------------------------------------------
function update_user_prefs($id, $prefs)
{
+ begin_transaction(__FUNCTION__, func_get_args());
+
$sql = "UPDATE ".TB_PREF."users SET ";
foreach($prefs as $name => $value) {
$prefs[$name] = $name.'='. db_escape($value);
}
$sql .= implode(',', $prefs) . " WHERE id=".db_escape($id);
- return db_query($sql, "could not update user display prefs for $id");
+ $result = db_query($sql, "could not update user display prefs for $id");
+
+ commit_transaction();
+ return $result;
}
//-----------------------------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------------------------
-// This function is necessary for admin prefs update after upgrade from 2.1
-//
+
function get_user_by_login($user_id)
{
$sql = "SELECT * FROM ".TB_PREF."users WHERE user_id=".db_escape($user_id);
//-----------------------------------------------------------------------------------------------
+function get_user_by_email($email)
+{
+ $sql = "SELECT * FROM ".TB_PREF."users WHERE email=".db_escape($email);
+
+ $result = db_query($sql, "could not get user for email $email");
+
+ if (db_num_rows($result) != 1)
+ return false;
+
+ return db_fetch($result);
+}
+
+//-----------------------------------------------------------------------------------------------
+
function delete_user($id)
{
+ begin_transaction(__FUNCTION__, func_get_args());
+
$sql="DELETE FROM ".TB_PREF."users WHERE id=".db_escape($id);
db_query($sql, "could not delete user $id");
+
+ commit_transaction();
}
//-----------------------------------------------------------------------------------------------
-function get_user_for_login($user_id, $password)
+function get_user_auth($user_id, $password)
{
- set_global_connection();
-// do not exclude inactive records or you lost access after source upgrade
-// on sites using pre 2.2 database
$sql = "SELECT * FROM ".TB_PREF."users WHERE user_id = ".db_escape($user_id)." AND"
." password=".db_escape($password);
- return db_query($sql, "could not get validate user login for $user_id");
+ return db_num_rows(db_query($sql, "could not get validate user login for $user_id")) != 0;
}
//-----------------------------------------------------------------------------------------------
-
-function update_user_visitdate($user_id)
+//
+// Record user login. When logging is on also current FA state is recorded.
+//
+function update_user_visitdate($user_id, $src_version, $db_version, $extensions)
{
+ begin_transaction(__FUNCTION__, func_get_args());
+
$sql = "UPDATE ".TB_PREF."users SET last_visit_date='". date("Y-m-d H:i:s") ."'
WHERE user_id=".db_escape($user_id);
db_query($sql, "could not update last visit date for user $user_id");
+
+ commit_transaction();
}
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
function show_users_online()
{
- global $show_users_online, $db;
-
- if (!isset($show_users_online) || $show_users_online == 0 || !defined('TB_PREF') ||
- !isset($_SESSION['get_text']) || !isset($db))
+ global $db, $GetText, $SysPrefs;
+
+ if (!isset($SysPrefs->show_users_online) || $SysPrefs->show_users_online == 0 || !defined('TB_PREF') ||
+ !isset($GetText) || !isset($db))
return "";
$result = db_query("SHOW TABLES LIKE '".TB_PREF."useronline'");
if (db_num_rows($result) == 1)
}
// Add user to database
- db_query("INSERT INTO ".TB_PREF."useronline (timestamp, ip, file) VALUES ('". $timestamp ."','". $ip ."','". $_SERVER['PHP_SELF'] ."')");
+ db_query("INSERT INTO ".TB_PREF."useronline (timestamp, ip, file) VALUES ('". $timestamp ."',". db_escape($ip) .",". db_escape($_SERVER['PHP_SELF']) .")");
//Remove users that were not online within $timeoutseconds.
db_query("DELETE FROM ".TB_PREF."useronline WHERE timestamp<". $timeout);
return "$users ".($users == 1 ? _("user online") : _("users online"));
}
-?>
\ No newline at end of file