From 3f1edadba1daa60d7521b7dfaf26a4f1e573ae2a Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@osticket.com> Date: Sat, 31 Mar 2012 21:21:41 -0400 Subject: [PATCH] Add client lookup by email --- include/class.client.php | 21 ++++++++++++++++++--- include/class.usersession.php | 4 ++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/include/class.client.php b/include/class.client.php index e1057afa6..8786c0e19 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 9a8283e37..c12f3a0d8 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); } -- GitLab