query($q); $num = mysql_num_rows($ret); if ( $num == 1) { // OK $res = mysql_fetch_array($ret); $this->id = $res['id']; $this->userid = $res['userid']; $this->organization = $res['organization']; $this->firstname = $res['firstname']; $this->lastname = $res['lastname']; $this->language = $res['language']; $this->email = $res['email']; } else { if ( $uid != -1 ) { $this->create($uid); } } } function getFullname() { return $this->firstname." ".$this->lastname; } function getFullnameDisplay() { $fn = $this->getFullname(); if ($fn == "" || $fn == NULL || strlen(trim($fn)) == 0 ){ return $this->username; } return $fn; } function setUsername($un) { $this->username = $un; } function getFirstname() { return $this->firstname; } function setFirstname($val) { $this->firstname = $val; } function getLastname() { return $this->lastname; } function setLastname($val) { $this->lastname = $val; } function getEmail() { return $this->email; } function setEmail($val) { $this->email = $val; } function getOrganization() { return $this->organization; } function setOrganization($val) { $this->organization = $val; } function getLanguage() { return $this->language; } function setLanguage($val) { $this->language = $val; } function update() { global $kdb; $q = "UPDATE userinfo SET "; $q .= " firstname='".$this->firstname."'"; $q .= ", lastname='".$this->lastname."'"; $q .= ", organization='".$this->organization."'"; $q .= ", language='".$this->language."'"; $q .= " WHERE id=".$this->id." AND userid=".$this->userid; $kdb->query($q); } private function create($uid) { global $kdb; $q = "INSERT INTO userinfo (userid, language) values (".$uid.", '".$this->language."')"; $kdb->query($q); } } class User { private $id = -1; private $username = ""; private $org = 1; private $reg = 0; private $details = null; function __construct($uname) { if ( !is_int($uname)) { global $kdb; $q = "SELECT * FROM users WHERE uname='".$uname."'"; $ret = $kdb->query($q); $num = mysql_num_rows($ret); if ( $num == 1) { // OK $res = mysql_fetch_array($ret); $this->id = $res['id']; $this->username = $res['uname']; $this->org = $res['org']; $this->reg = $res['registred']; } } elseif ( $uname != -1 && is_int($uname) ) { global $kdb; $q = "SELECT * FROM users WHERE id=".$uname; $ret = $kdb->query($q); $num = mysql_num_rows($ret); if ( $num == 1) { // OK $res = mysql_fetch_array($ret); $this->id = $res['id']; $this->username = $res['uname']; $this->org = $res['org']; $this->reg = $res['registred']; } } } function isRegUser() { if ($this->reg){ return true; } return false; } function getUsername() { return $this->username; } function getDetails() { if ($this->details == null) { $ud = new UserDetails($this->id); $ud->setUsername($this->username); $this->details = $ud; } return $this->details; } function getId() { return $this->id; } function isOrg() { return $this->org; } function getUserIdByUname($uname) { global $kdb; $q = "SELECT id FROM users WHERE uname='".$uname."'"; $ret = $kdb->query($q); $num = mysql_num_rows($ret); if ( $num == 1) { // OK $res = mysql_fetch_array($ret); return $res['id']; } return -1; } function getUserById($usid) { global $kdb; $q = "SELECT * FROM users LEFT JOIN userinfo ON users.id=userinfo.userid WHERE users.id=".$usid; $ret = $kdb->query($q); $res = mysql_fetch_array($ret); return $res; } } $user = new User(-1); if ( isset($_SESSION['userid'])) { $user = new User($_SESSION['userid']); if ( $user->getId() == -1) { session_destroy(); header("Location:index.php"); } } ?>