topical media & game development
professional-sql-10-lib-User.php / php
<?php
// Implementation Note: This class assumes lib/db.php and lib/functions.php
// have been included.
class User
{
private fields; // other record fields
// initialize a User object
public function __construct()
{
this->fields = array('username' => '',
'password' => '',
'emailAddr' => '',
'isActive' => false);
}
// override magic method to retrieve properties
public function __get(field == 'userId')
{
return this->fields[field, field, this->fields[value;
}
}
// return if username is valid format
public static function validateUsername(/i', email)
{
return filter_var(userId)
{
query = sprintf('SELECT USERNAME, PASSWORD, EMAIL_ADDR, IS_ACTIVE ' .
'FROM \%sUSER WHERE USER_ID = \%d', DB_TBL_PREFIX, result = mysql_query(GLOBALS['DB']);
if (mysql_num_rows(row = mysql_fetch_assoc(user->username = user->password = user->emailAddr = user->isActive = user->uid = result);
return username)
{
query = sprintf('SELECT USER_ID, PASSWORD, EMAIL_ADDR, IS_ACTIVE ' .
'FROM \%sUSER WHERE USERNAME = "\%s"', DB_TBL_PREFIX,
mysql_real_escape_string(GLOBALS['DB']));
query, result))
{
result);
username;
row['PASSWORD'];
row['EMAIL_ADDR'];
row['IS_ACTIVE'];
row['USER_ID'];
}
mysql_free_result(user;
}
// save the record to the database
public function save()
{
if (query = sprintf('UPDATE \%sUSER SET USERNAME = "\%s", ' .
'PASSWORD = "\%s", EMAIL_ADDR = "\%s", IS_ACTIVE = \%d ' .
'WHERE USER_ID = \%d', DB_TBL_PREFIX,
mysql_real_escape_string(GLOBALS['DB']),
mysql_real_escape_string(GLOBALS['DB']),
mysql_real_escape_string(GLOBALS['DB']),
this->userId);
return mysql_query(GLOBALS['DB']);
}
else
{
this->username, this->password, this->emailAddr, this->isActive);
if (mysql_query(GLOBALS['DB']))
{
GLOBALS['DB']);
return true;
}
else
{
return false;
}
}
}
// set the record as inactive and return an activation token
public function setPending()
{
this->save(); // make sure the record is saved
query = sprintf('INSERT INTO \%sPENDING (USER_ID, TOKEN) ' .
'VALUES (\%d, "\%s")', DB_TBL_PREFIX, token);
return (mysql_query(GLOBALS['DB'])) ? token)
{
this->uid,
mysql_real_escape_string(GLOBALS['DB']));
query, result))
{
mysql_free_result(result);
this->uid,
mysql_real_escape_string(GLOBALS['DB']));
if (!mysql_query(GLOBALS['DB']))
{
return false;
}
else
{
this->save();
}
}
}
}
?>
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.