class User extends Item { public $last_error; function __construct($db, $query = false, $load_meta = false, $users_table = "users", $users_meta_table = "users_meta") { parent::__construct($db, $query, $load_meta, $users_table, $users_meta_table); } function __destruct() { } function create($username, $password, $email) { if (!ereg("^[A-Za-z]{1}[0-9A-Za-z]{5,11}$", $username)) { $this->last_error = 501; return false; } if (!ereg("^(.){6,16}$", $password)) { $this->last_error = 502; return false; } if (!ereg("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$", $email)) { $this->last_error = 503; return false; } $sql = "SELECT `id` FROM `{$this->tb_main}` WHERE `username` = '{$username}' LIMIT 1"; $rs = mysql_query($sql, $this->db); if (mysql_num_rows($rs) > 0) { $this->last_error = 504; return false; } $sql = "SELECT `id` FROM `{$this->tb_main}` WHERE `email` = '{$email}' LIMIT 1"; $rs = mysql_query($sql, $this->db); if (mysql_num_rows($rs) > 0) { $this->last_error = 505; return false; } $data = array( "username" => $username, "password" => md5($password), "email" => $email, "level" => 0); $meta = array( "registered" => time()); return $this->insert($data, $meta, true); } } class UserSet extends ItemSet { function __construct($db, $condition = false, $load_meta = false, $users_table = "users", $users_meta_table = "users_meta") { parent::__construct($db, $condition, $load_meta, $users_table, $users_meta_table); } function __destruct() { } }