diff --git a/include/class.client.php b/include/class.client.php index e1057afa651472052589c0629fed129475d0e45e..8786c0e19cdb9719a86a556b3ce26795ac5ce62f 100644 --- a/include/class.client.php +++ b/include/class.client.php @@ -30,12 +30,12 @@ class Client { var $ht; - function Client($email,$id) { + function Client($id, $email=null) { $this->id =0; $this->load($id,$email); } - function load($id=0, $email='') { + function load($id=0, $email=null) { if(!$id && !($id=$this->getId())) return false; @@ -115,8 +115,23 @@ class Client { } /* ------------- Static ---------------*/ - function lookup($id, $email) { + function getLastTicketIdByEmail($email) { + $sql='SELECT ticketID FROM '.TICKET_TABLE + .' WHERE email='.db_input($email) + .' ORDER BY created ' + .' LIMIT 1'; + if(($res=db_query($sql)) && db_num_rows($res)) + list($tid) = db_fetch_row($res); + + return $tid; + } + + function lookup($id, $email=null) { return ($id && is_numeric($id) && ($c=new Client($id,$email)) && $c->getId()==$id)?$c:null; } + + function lookupByEmail($email) { + return (($id=self::getLastTicketIdByEmail($email)))?self::lookup($id, $email):null; + } } ?> diff --git a/include/class.usersession.php b/include/class.usersession.php index 9a8283e3741a9b97f59a06649293831108634f93..c12f3a0d8aaf70988cbe2c022c8346b3eccdeccd 100644 --- a/include/class.usersession.php +++ b/include/class.usersession.php @@ -107,8 +107,8 @@ class ClientSession extends Client { var $session; - function ClientSession($email,$id){ - parent::Client($email,$id); + function ClientSession($email, $id){ + parent::Client($id, $email); $this->session= new UserSession($email); }