2000-10-10 10:52:19 +00:00
|
|
|
<?
|
|
|
|
|
|
|
|
class User {
|
2000-10-19 13:31:23 +00:00
|
|
|
function User($userid, $passwd = "") {
|
|
|
|
$result = db_query("SELECT * FROM users WHERE LOWER(userid) = LOWER('$userid') && passwd = PASSWORD('$passwd') && STATUS = 2");
|
2000-10-10 10:52:19 +00:00
|
|
|
if (db_num_rows($result) == 1) {
|
|
|
|
foreach (db_fetch_row($result) as $key=>$value) { $field = mysql_field_name($result, $key); $this->$field = stripslashes($value); $this->field[] = $field; }
|
2000-10-19 13:31:23 +00:00
|
|
|
db_query("UPDATE users SET last_access = '". time() ."', last_host = '$GLOBALS[REMOTE_HOST]' WHERE id = $this->id");
|
2000-10-10 10:52:19 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2000-10-19 13:31:23 +00:00
|
|
|
function user_save($data, $id = 0) {
|
2000-10-10 10:52:19 +00:00
|
|
|
global $user;
|
2001-01-26 13:38:46 +00:00
|
|
|
|
2000-10-19 13:31:23 +00:00
|
|
|
foreach ($data as $key=>$value) {
|
|
|
|
if ($key == "passwd") $query .= "$key = PASSWORD('". addslashes($value) ."'), ";
|
2000-12-16 21:42:52 +00:00
|
|
|
else $query .= "$key = '". addslashes($value) ."', ";
|
2000-10-10 10:52:19 +00:00
|
|
|
}
|
2001-01-26 13:38:46 +00:00
|
|
|
|
2000-10-19 13:31:23 +00:00
|
|
|
if (empty($id)) {
|
|
|
|
db_query("INSERT INTO users SET $query last_access = '". time() ."', last_host = '$GLOBALS[REMOTE_HOST]'");
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
db_query("UPDATE users SET $query last_access = '". time() ."', last_host = '$GLOBALS[REMOTE_HOST]' WHERE id = $id");
|
|
|
|
$result = db_query("SELECT * FROM users WHERE id = $id AND status = 2");
|
|
|
|
if (db_num_rows($result) == 1) foreach (db_fetch_array($result) as $key=>$value) { $user->$key = stripslashes($value); }
|
|
|
|
else $user = 0;
|
2000-10-10 10:52:19 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function user_getHistory($history, $field) {
|
|
|
|
$data = explode(";", $history);
|
|
|
|
for (reset($data); current($data); next($data)) {
|
|
|
|
$entry = explode(":", current($data));
|
|
|
|
if (reset($entry) == $field) $rval = end($entry);
|
|
|
|
}
|
|
|
|
return $rval;
|
2001-01-26 13:38:46 +00:00
|
|
|
}
|
2000-10-10 10:52:19 +00:00
|
|
|
|
|
|
|
function user_setHistory(&$user, $field, $value) {
|
|
|
|
|
|
|
|
$history = $user->history;
|
|
|
|
if (!$value) {
|
2000-12-30 11:58:14 +00:00
|
|
|
// remove entry:
|
2000-10-10 10:52:19 +00:00
|
|
|
$data = explode(";", $history);
|
|
|
|
for (reset($data); current($data); next($data)) {
|
|
|
|
$entry = explode(":", current($data));
|
|
|
|
if ($entry[0] != $field) $rval .= "$entry[0]:$entry[1];";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (strstr($history, "$field:")) {
|
2000-12-30 11:58:14 +00:00
|
|
|
// found: update exsisting entry:
|
2000-10-10 10:52:19 +00:00
|
|
|
$data = explode(";", $history);
|
|
|
|
for (reset($data); current($data); next($data)) {
|
|
|
|
$entry = explode(":", current($data));
|
|
|
|
if ($entry[0] == $field) $entry[1] = $value;
|
|
|
|
$rval .= "$entry[0]:$entry[1];";
|
2001-01-26 13:38:46 +00:00
|
|
|
}
|
2000-10-10 10:52:19 +00:00
|
|
|
}
|
|
|
|
else {
|
2000-12-30 11:58:14 +00:00
|
|
|
// not found: add new entry:
|
2000-10-10 10:52:19 +00:00
|
|
|
$rval = "$history$field:$value;";
|
|
|
|
}
|
|
|
|
$user->history = $rval;
|
|
|
|
|
2000-12-30 11:58:14 +00:00
|
|
|
// save new history:
|
2000-10-10 10:52:19 +00:00
|
|
|
$query .= "UPDATE users SET ";
|
|
|
|
foreach ($user->field as $key=>$field) { $value = $user->$field; $query .= "$field = '". addslashes($value) ."', "; }
|
|
|
|
$query .= " id = $user->id WHERE id = $user->id";
|
|
|
|
db_query($query);
|
|
|
|
}
|
|
|
|
|
2000-12-30 11:58:14 +00:00
|
|
|
?>
|