From 9e2e4bad8dca42ba174991ec36a8091b116860d3 Mon Sep 17 00:00:00 2001
From: Peter Rotich <protich@gmail.com>
Date: Fri, 23 Mar 2012 18:06:42 -0400
Subject: [PATCH] Client interface and related changes

---
 assets/default/css/theme.css         |  11 +-
 attachment.php                       |  69 +++--------
 client.inc.php                       |   4 +-
 images/bg.gif                        | Bin 49 -> 0 bytes
 images/fibres.png                    | Bin 8508 -> 0 bytes
 images/home.gif                      | Bin 221 -> 0 bytes
 images/icons/attachment.gif          | Bin 235 -> 0 bytes
 images/icons/refresh.gif             | Bin 248 -> 0 bytes
 images/icons/thread.gif              | Bin 274 -> 0 bytes
 images/icons/ticket.gif              | Bin 210 -> 0 bytes
 images/icons/ticket_source_email.gif | Bin 230 -> 0 bytes
 images/icons/ticket_source_other.gif | Bin 210 -> 0 bytes
 images/icons/ticket_source_phone.gif | Bin 228 -> 0 bytes
 images/icons/ticket_source_web.gif   | Bin 226 -> 0 bytes
 images/lipsum.png                    | Bin 7419 -> 0 bytes
 images/logo.png                      | Bin 6894 -> 0 bytes
 images/logo2.jpg                     | Bin 11227 -> 0 bytes
 images/logout.gif                    | Bin 338 -> 0 bytes
 images/my_tickets.gif                | Bin 126 -> 0 bytes
 images/new_ticket.gif                | Bin 120 -> 0 bytes
 images/new_ticket_icon.jpg           | Bin 22885 -> 0 bytes
 images/poweredby.jpg                 | Bin 2858 -> 0 bytes
 images/rainbow.png                   | Bin 17265 -> 0 bytes
 images/refresh_btn.gif               | Bin 929 -> 0 bytes
 images/ticket_status.gif             | Bin 123 -> 0 bytes
 images/ticket_status_icon.jpg        | Bin 22667 -> 0 bytes
 images/verticalbar.jpg               | Bin 20111 -> 0 bytes
 images/view_closed_btn.gif           | Bin 618 -> 0 bytes
 images/view_open_btn.gif             | Bin 578 -> 0 bytes
 include/class.client.php             |  89 +++++++++-----
 include/class.config.php             |  36 ++++--
 include/class.faq.php                |   2 +-
 include/class.file.php               |   1 +
 include/class.filter.php             |   2 +-
 include/class.nav.php                |  19 ++-
 include/class.staff.php              |  11 +-
 include/class.ticket.php             |  70 ++++++++---
 include/class.topic.php              |   4 +
 include/client/header.inc.php        |  10 +-
 include/client/kb-category.inc.php   |  23 ++--
 include/client/knowledgebase.inc.php |   5 +-
 include/client/open.inc.php          |  89 +++++++++-----
 include/client/tickets.inc.php       | 172 +++++++++++++++++++++++++++
 include/client/view.inc.php          | 157 ++++++++++++++++++++++++
 include/staff/tickets.inc.php        |   6 +-
 index.php                            |   9 +-
 js/osticket.js                       |  80 +------------
 login.php                            |   7 +-
 open.php                             |  17 ++-
 secure.inc.php                       |   2 +-
 tickets.php                          |  71 ++++++-----
 view.php                             |  17 +++
 52 files changed, 672 insertions(+), 311 deletions(-)
 delete mode 100644 images/bg.gif
 delete mode 100644 images/fibres.png
 delete mode 100644 images/home.gif
 delete mode 100644 images/icons/attachment.gif
 delete mode 100644 images/icons/refresh.gif
 delete mode 100644 images/icons/thread.gif
 delete mode 100644 images/icons/ticket.gif
 delete mode 100644 images/icons/ticket_source_email.gif
 delete mode 100644 images/icons/ticket_source_other.gif
 delete mode 100644 images/icons/ticket_source_phone.gif
 delete mode 100644 images/icons/ticket_source_web.gif
 delete mode 100644 images/lipsum.png
 delete mode 100644 images/logo.png
 delete mode 100644 images/logo2.jpg
 delete mode 100644 images/logout.gif
 delete mode 100644 images/my_tickets.gif
 delete mode 100644 images/new_ticket.gif
 delete mode 100644 images/new_ticket_icon.jpg
 delete mode 100644 images/poweredby.jpg
 delete mode 100644 images/rainbow.png
 delete mode 100644 images/refresh_btn.gif
 delete mode 100644 images/ticket_status.gif
 delete mode 100644 images/ticket_status_icon.jpg
 delete mode 100644 images/verticalbar.jpg
 delete mode 100644 images/view_closed_btn.gif
 delete mode 100644 images/view_open_btn.gif
 create mode 100644 include/client/tickets.inc.php
 create mode 100644 include/client/view.inc.php

diff --git a/assets/default/css/theme.css b/assets/default/css/theme.css
index dde40189e..c6a6242df 100644
--- a/assets/default/css/theme.css
+++ b/assets/default/css/theme.css
@@ -495,7 +495,7 @@ body {
 #ticketForm div.error label, #clientLogin div.error label {
   color: #a00;
 }
-#ticketForm p, #clientLogin p {
+#clientLogin p {
   clear: both;
   text-align: center;
 }
@@ -646,7 +646,7 @@ a.refresh {
 #ticketThread table th {
   text-align: left;
   border-bottom: 1px solid #aaa;
-  font-size: 11pt;
+  font-size: 12px;
   padding: 5px;
 }
 #ticketThread table td {
@@ -659,7 +659,7 @@ a.refresh {
   background: #ddd;
 }
 #ticketThread .info {
-  padding: 5px;
+  padding: 2px;
   background: #f9f9f9;
   border-top: 1px solid #ddd;
   height: 16px;
@@ -667,16 +667,13 @@ a.refresh {
 }
 #ticketThread .info a {
   display: inline-block;
-  margin: 5px 20px 5px 0;
+  margin: 5px 10px 5px 0;
   padding-left: 24px;
   height: 16px;
   line-height: 16px;
   background-position: 0 50%;
   background-repeat: no-repeat;
 }
-#ticketThread .info .pdf {
-  background-image: url('../images/filetypes/pdf.png?1319636863');
-}
 
 #reply {
   margin-top: 20px;
diff --git a/attachment.php b/attachment.php
index 2446f2dc5..819ff5863 100644
--- a/attachment.php
+++ b/attachment.php
@@ -15,57 +15,22 @@
     vim: expandtab sw=4 ts=4 sts=4:
 **********************************************************************/
 require('secure.inc.php');
-//TODO: alert admin on any error on this file.
-if(!$thisclient || !$thisclient->isClient() || !$_GET['id'] || !$_GET['ref']) die('Access Denied');
+require_once(INCLUDE_DIR.'class.attachment.php');
+//Basic checks
+if(!$thisclient 
+        || !$_GET['id'] 
+        || !$_GET['h']
+        || !($attachment=Attachment::lookup($_GET['id']))
+        || !($file=$attachment->getFile()))
+    die('Unknown attachment!');
+
+//Validate session access hash - we want to make sure the link is FRESH! and the user has access to the parent ticket!!
+$vhash=md5($attachment->getFileId().session_id().$file->getHash());
+if(strcasecmp(trim($_GET['h']),$vhash) 
+        || !($ticket=$attachment->getTicket()) 
+        || !$ticket->checkClientAccess($thisclient)) 
+    die('Unknown or invalid attachment');
+//Download the file..
+$file->download();
 
-$sql='SELECT attach_id,ref_id,ticket.ticket_id,ticketID,ticket.created,dept_id,file_name,file_key,email FROM '.TICKET_ATTACHMENT_TABLE.
-    ' LEFT JOIN '.TICKET_TABLE.' ticket USING(ticket_id) '.
-    ' WHERE attach_id='.db_input($_GET['id']);
-//valid ID??
-if(!($res=db_query($sql)) || !db_num_rows($res)) die('Invalid/unknown file');
-list($id,$refid,$tid,$extid,$date,$deptID,$filename,$key,$email)=db_fetch_row($res);
-
-//Still paranoid...:)...check the secret session based hash and email
-$hash=MD5($tid*$refid.session_id());
-if(!$_GET['ref'] || strcmp($hash,$_GET['ref']) || strcasecmp($thisclient->getEmail(),$email)) die('Access denied: Kwaheri');
-
-
-//see if the file actually exits.
-$month=date('my',strtotime("$date"));
-$file=rtrim($cfg->getUploadDir(),'/')."/$month/$key".'_'.$filename;
-if(!file_exists($file))
-    $file=rtrim($cfg->getUploadDir(),'/')."/$key".'_'.$filename;
-    
-if(!file_exists($file)) die('Invalid Attachment');
-
-$extension =substr($filename,-3);
-switch(strtolower($extension))
-{
-  case "pdf": $ctype="application/pdf"; break;
-  case "exe": $ctype="application/octet-stream"; break;
-  case "zip": $ctype="application/zip"; break;
-  case "doc": $ctype="application/msword"; break;
-  case "xls": $ctype="application/vnd.ms-excel"; break;
-  case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
-  case "gif": $ctype="image/gif"; break;
-  case "png": $ctype="image/png"; break;
-  case "jpg": $ctype="image/jpg"; break;
-  default: $ctype="application/force-download";
-}
-header("Pragma: public");
-header("Expires: 0");
-header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
-header("Cache-Control: public"); 
-header("Content-Type: $ctype");
-$user_agent = strtolower ($_SERVER["HTTP_USER_AGENT"]);
-if ((is_integer(strpos($user_agent,"msie"))) && (is_integer(strpos($user_agent,"win")))) 
-{
-  header( "Content-Disposition: filename=".basename($filename).";" );
-} else {
-  header( "Content-Disposition: attachment; filename=".basename($filename).";" );
-}
-header("Content-Transfer-Encoding: binary");
-header("Content-Length: ".filesize($file));
-readfile($file);
-exit();
 ?>
diff --git a/client.inc.php b/client.inc.php
index 5461bd2f7..b714e93b4 100644
--- a/client.inc.php
+++ b/client.inc.php
@@ -51,7 +51,7 @@ require_once(INCLUDE_DIR.'class.dept.php');
 //clear some vars
 $errors=array();
 $msg='';
-$thisclient=null;
+$thisclient=$nav=null;
 //Make sure the user is valid..before doing anything else.
 if($_SESSION['_client']['userID'] && $_SESSION['_client']['key'])
     $thisclient = new ClientSession($_SESSION['_client']['userID'],$_SESSION['_client']['key']);
@@ -60,6 +60,8 @@ if($_SESSION['_client']['userID'] && $_SESSION['_client']['key'])
 if($thisclient && $thisclient->getId() && $thisclient->isValid()){
      $thisclient->refreshSession();
 }
+/* Client specific defaults */
+define('PAGE_LIMIT',DEFAULT_PAGE_LIMIT);
 
 $nav = new UserNav($thisclient, 'home');
 ?>
diff --git a/images/bg.gif b/images/bg.gif
deleted file mode 100644
index e20f31775822d9b0a7a01ddaf38cb1f48a60e6f2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 49
zcmZ?wbhEHbWMp7un8?8J<;$1<|NsAEWMW`oQ2fclBEs;WL5G2XfdM4Xz{KRj$Y2cs
DcQXt9

diff --git a/images/fibres.png b/images/fibres.png
deleted file mode 100644
index 7ad3ac27f71bdf17f637ffae3d86d36e24359764..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8508
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
YX;?>imFag*1_lNOPgg&ebxsLQ0Kx260{{R3

diff --git a/images/home.gif b/images/home.gif
deleted file mode 100644
index b25c0781dd0b8f66d4a9271b662061b54d7a9c4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 221
zcmZ?wbhEHb6ky<IIKlt||NsAg^7zTuuispHPBC~jFcj_i`03-zS1+GDdHnb9-=9B!
ze*gac^XJd+-@kwL>ech-&!0Ve_W1GRhYuf4m@wi0|NkH(aAU=vEQ|~cq6|79B_KN)
zSfdhD`$7XJXhaGenYpS(arb+z`zAKG-QtezJ=x-}?8U;#_|d%EVUECwO&6*a<ZirK
y<xyy%@!;KccS{qEHJ=(MY0Xc~GV3~&5a2VVaqr%MJKQ2%+(jyhZHdZ?4AuZA3}C?k

diff --git a/images/icons/attachment.gif b/images/icons/attachment.gif
deleted file mode 100644
index 4400e61e9812a3b2a070c89fc6fce7489c104e17..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 235
zcmZ?wbhEHb6krfwI3mxmX3d)1+}xs~qJswyMny%1hKA0cKY!xHiCtY?t*xz%jg5;J
zFV4!!N=;1-2ng7`d2?@XZ(?F%U0q#yd3kAR>5LgOX3d&4ZQ8Voii&O9wk=({^vIDT
zyLRo`zkmOKFi`x-!pOiN&!EG=z`y{qlYuqkfqLJf^hqyX<TgKCy5xG)&5wuT(r3y|
zxMO(kA)`U2$bn1Di~%|-a?B=d6Li$(ak<X^qN6drf&EZJN3fjBVdYMZYcE`m7%N_x
ntjc;&S>ww`RS8x#M!p7BCPqe{HUllb3GEs-eN(3?GFSru2fAg)

diff --git a/images/icons/refresh.gif b/images/icons/refresh.gif
deleted file mode 100644
index 8268958a19e016741fffb8309b1174e548f5ce19..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 248
zcmZ?wbhEHb6krfwI3mxm^U>tA=}!Ot{k{Bd``)Khx8It&_VmoW1)f=RozrKyWX<x}
zerNK$J)K=w9PWKO6F1Rj%k`-pSL}~|nAv{8VcU)A9Ty!kW;q>xH{;r;-8&ylx%_#<
z)*Dm*{reZtuKgbj6o0ZXGBC(9=rAxaFo5i2U@d*1-WT_>^QlLbmw?98;#G5+6PVj%
z-KKZR_@^^4gh+As<cGa7unIV(;`E`g!Kr&?v0}=!B`xY4y3M{Xw!FM-5^eh^)V+A3
zj;)xsmqw?LMykKPuMjt{sH=b-QxO|GE332s7hkxRoRN;6f$?;oY^{Zh7ArDX0|4b-
BZEpYo

diff --git a/images/icons/thread.gif b/images/icons/thread.gif
deleted file mode 100644
index bffd6b0b3cf5ce0cadfc38683ee7fb3fa0a5c82a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 274
zcmZ?wbhEHb6krfwI3mw*?9ty>%M|QAqIcZ>TRL@f$Hog64^Dpl;oH^a5w8x#O*;1D
z-SbOf*`1GGeO`9y_to1^K7RZC^7e*(H(&hw`C{ipkK^0g)?R#kdqdLxF4g%*ZrnXP
z|G~}Ur_WsMPZIeL28usf7#SGk8FUyJ7#KiyGO+e9P_K%}?2CV;8Zv#4<DI~`UzO9Z
zzx~s9Wz`+;q>U+DEh+-ry&|OAGZrsQxH4m6$5VzEObT61SDR;Kn22?hGi3Ike%`ao
zdWG}7H0Q*)atj3}rBt@6tlB!>#uRQ*QI?o?zRsqeKK6DluE{Ba(t<1kGq~8hIF@nn
d@CyV7v&(cT%dzlmVcNDW%*=e_9wkKvYXE34gS-F$

diff --git a/images/icons/ticket.gif b/images/icons/ticket.gif
deleted file mode 100644
index 4304ea7955091c46d9fe570faefc643773a5c1de..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 210
zcmZ?wbhEHb6krfwIKlt||NsAg@%+WpCr=+gdi?b1GxzxBXV0HMfARe3v!{=rJdSKt
zfBEvo)2B~fy?XWX<;&;KpFex{?8%cSj~_q&|NlQoKVGc(lZBCiL4-jEqzYsw1FOG+
zYF~<_p4+N*OCIhqcq6q~`naA;Fx#eoS`!~S>PX4A&TV9jQJvDUqNGbggVi^b*=woS
jf}2yEDm7-GZ|^h`GF#Ewx}zpe;Z4Qc-I@Aaj11NQ`$JgQ

diff --git a/images/icons/ticket_source_email.gif b/images/icons/ticket_source_email.gif
deleted file mode 100644
index 6b57605d47b7fc2e4729b5a6602bdf4768ad749f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 230
zcmZ?wbhEHb6krfwIKlt||NsAg`sC^3M~}aJ`TF$fGxzxB&3n&0d;a|Ex3AA%Jb(J^
z>EkDlBU{y<K7I0iitM*<-(J0X_44J*=g*%%dGh4(<H!I1{|A|Z11tVyVPs$sW6%M~
zgY0BrO<thdmttw=wrbrH!Mz4=q!vpbf9De2w&|bNL`NqbDb?1wj6xY^{Hu??6R3z-
z+t`w%y}(rdT)xB84^68hK7=_Mh96B3JzUGyEcl~K`fuB^FJeiFEUc}p%+~SYg*wWK
KerjTh4AuZTKV;_s

diff --git a/images/icons/ticket_source_other.gif b/images/icons/ticket_source_other.gif
deleted file mode 100644
index 4304ea7955091c46d9fe570faefc643773a5c1de..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 210
zcmZ?wbhEHb6krfwIKlt||NsAg@%+WpCr=+gdi?b1GxzxBXV0HMfARe3v!{=rJdSKt
zfBEvo)2B~fy?XWX<;&;KpFex{?8%cSj~_q&|NlQoKVGc(lZBCiL4-jEqzYsw1FOG+
zYF~<_p4+N*OCIhqcq6q~`naA;Fx#eoS`!~S>PX4A&TV9jQJvDUqNGbggVi^b*=woS
jf}2yEDm7-GZ|^h`GF#Ewx}zpe;Z4Qc-I@Aaj11NQ`$JgQ

diff --git a/images/icons/ticket_source_phone.gif b/images/icons/ticket_source_phone.gif
deleted file mode 100644
index b9aa8ed58a2993eab69a1c83fba78bb627e9004f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 228
zcmZ?wbhEHb6krfwIKlt||NsAg@%+WpCr=+gdi?b1GxzxBXV0HMfARe3v!{=rJdSKt
zfBN*v@Aa|&${Ak0diC<<%jeIZKY8-x@#Dt}7A*Mx|3AnG+*t7^3nK%AD1#123CK<c
z*2DzWz7$J6w^i$w2(tL=*t6NP`F=k4MOad4PO?PAMy<w$Mhux|+zu)eGkjcP^_7x#
z%f_(kz3M8gRh4CY7bbM{<q<8{-3wjh-+lMoJ<mk^tD_5}NV*G4pr~7fzNT8Asv?6m
E04&p582|tP

diff --git a/images/icons/ticket_source_web.gif b/images/icons/ticket_source_web.gif
deleted file mode 100644
index 1b7a5b909075fb879056d15468e407df21e0507d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 226
zcmZ?wbhEHb6krfwIKlt||NsAg@%+WpCr=+gdi?b1GxzvrhPCgXJ%9fE#q+1no<4r^
zII>m!<;xdOpFVl@>eb7aFP}eu{^ZG%$B!TX|NkGPA1_w?$->CMAi|&nQU$V;fi+%1
zwJ*ie$ZgfSB_H<~ypdWgeLT-4*lp84t%;0II#P<Qa~CqkXin)|Q8G(HgVlFxvN%V;
z?jTOx0t*(N^i7sqAIv%#Yn)_PIQ#wUkk}RP#Q(9fSc}xArt7H0wlJzGDKc0C0KX7h
Aj{pDw

diff --git a/images/lipsum.png b/images/lipsum.png
deleted file mode 100644
index feb6a95fba027cb3d54883fc64ade1294c74bd09..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7419
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
N44$rjF6*2UngBPoFV+A6

diff --git a/images/logo.png b/images/logo.png
deleted file mode 100644
index 256344139522f7f8bc65b36e1ef0890e0fa3cf52..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6894
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

diff --git a/images/logo2.jpg b/images/logo2.jpg
deleted file mode 100644
index 16bc12ed36e707ace9d2d9e5443cc6d3a895711b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11227
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
H|K9`v=}4ib

diff --git a/images/logout.gif b/images/logout.gif
deleted file mode 100644
index 6dd774f09e48292379250ac0f1be17ccdb30baec..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 338
zcmZ?wbhEHb6ky<IxXJ(m|NsAgE2Hw{@ss=a?%%n6=gQ?PM~@smbnwvQ$4?$TdVKlv
zmGkE>oH}*dJ-+qP<HvXJ-8+Bb!l~1zuiv<S_1e|TS1zAEbNa-|6VIMKy?_7S_3PKJ
zUcGYY(7`8<AK$rs`{<D)uV24@_Uzf?$B*ydzkl!Ey*qdA+_-V$+O=y}uU@@y;llaz
z=g*xxcjnBQ)2B}#J$m&2|NkHdk%AR}vM@3*=ribmG=coYz?OetdVz<IRD9o(WDNlc
zSrOr^tvObmd{<UDJ9w_~pUg4EpmF|+GYKVi>jH#df9h~K`O>3zj-kF4PZ+-{w^*$c
zpH7&9qJV~uUM-(|qXZW#n=U&?F<+RvoC>SDrZ}HWagm^?G@BN$cdf67*A^E?25SKP
CnVP8p

diff --git a/images/my_tickets.gif b/images/my_tickets.gif
deleted file mode 100644
index ee2d25bbedd01ba5a64e9a66f5fc72b7b876f10c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 126
zcmZ?wbhEHb6krfwSi}GV|NsAYk8gG9In}=R;`Qs-|NsBbz`&sRlZBCifsH{2qynUt
zf!R4@*QI;fQi7{m-|Q4zk#Oy4rqpv$SK+W#!6hP!!m;gKYFl@i$(-3TTXXxaJuJs1
bCbTtMcCAs)I9bxLK%VoZ;>#*!P6lfLK20x1

diff --git a/images/new_ticket.gif b/images/new_ticket.gif
deleted file mode 100644
index 32d9636e71fa848c3b7d0f0d8eb559b78465ef22..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 120
zcmZ?wbhEHb6ky<ISi}GV|NsAYk8f??d$IH`Lu9M^|Ns9P7#I|PvM@3*urcU>RDjen
zFxzJAx}#;_mhQ5{!Xdr=ztr^9CX2Y#%e8SU=7lR7UyBr|*tq7tFU!vMx8;g2v<}A$
Uoc#2o$2!8Htj1$qFAIY;0EovdRsaA1

diff --git a/images/new_ticket_icon.jpg b/images/new_ticket_icon.jpg
deleted file mode 100644
index 855eef0644245185b7b2f700d35d6a953aa65cd1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 22885
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
K{XOpW|C<2KSBg9U

diff --git a/images/poweredby.jpg b/images/poweredby.jpg
deleted file mode 100644
index c98eb7d679b09975599711643cfcd3549c0540f6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2858
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

diff --git a/images/rainbow.png b/images/rainbow.png
deleted file mode 100644
index c08f52edb522e5ec42c237994622f3b8520b428b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 17265
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
Hr-UW|xmjZG

diff --git a/images/refresh_btn.gif b/images/refresh_btn.gif
deleted file mode 100644
index 8a33b22d9a9b026391e38a8bbb0d6834eb789a93..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 929
zcmZ?wbhEHbjAIaHc*Xz%|NsA=FmaMn(nOc4MWJo0(k5*#pSSzW?Pu>ke`oM&5De=u
z&YRh>`pC@fXI34)y8HayyU*YCPM+2=accX7DdvmL+AP0lyZoa2hFcyWbkle1z3{!y
z!uLLn+<Gf`*>V55d%~6;30Zg`X8F;~d7IOxEGwM1p>o-dh6QVNW*s)1cS3LKUcJ6e
z=8MnRF27(gbD!gyt4?dK+ATWnvGJzk!ec&L@A_`N8?@_D(9Va!yB@ku-|oBOwDZLE
zu2VL8&e`QTeQV&N12Jn)$IsuMv-Vi-iv0zv4#f7%OP#trXX5<)DU0$ZEvT8lrf&AK
zlKz=ZGZ!^Zp4B{MR@0;zjr~))X3TA$GP7mkw7x0RdL~Wjn>gvuukZi<{rmIh&+p&A
zfBpLP^XJd+-@kwR_U+TBPai&fc=ztz)2B}#KYsk+!Gk+@?%ck8`{vD?SFc{Zbm`KC
z3m49xKY!-TnbW6FpE`Bw*s)^=4<0;l;K06p`*!Z!xq0*EjT<+vU%!6s+O=!etXaK!
z^@<fM7A{;kd-m-A|NkrgWMO1rsAtdt#RMo$7})<eFsA0Uw6?W(bar+3^!D|oHf6;#
zPMtP=#>`o>=ggfqe{ND%^OPBB#ii*BR<BvRZbnkejLa$@7iW!<nDu-1?ql3Etsq2E
z%G6v|y=4EHvvUtJ=KGt78ycHg$^<8`VQ0C|!p=E|gN1E9%ejMT!unc9O7c?D7Oq7z
zBImI13jAe#Is2Pp#Zrg4v%ShH)@Ud)@XHHHm{oi@+{Mu1&C0Bjk)Y?qz|PF`r8?k2
z3=8w`W2_Y)-a4wX3UG-O-1HWksiw2)$VDLrpZT(qW*#3Nu}*RI=4A_+#JTWb6N`eY
zRqY3bgA8>V%q|fQrH$^aJhQX{etKP#QWm)p@~X(SUqC|Q-<&ragRTfOvQ~%+NJuzl
zsxtF2$>bI+nABW6mCeP$;K0)33|w;ZPgS*hrWj1Spz@LNkW-JK<Fq9|OQw80z##DH
zQLe&|B<5?3QY+dd9~@|6WjmId6Z<)V;mq_~GJzKlx$+3-_Qb`UOpsw>o2Ih6&DWwz
zwVz*N!#&%bYu@`re|ixR$k;JY_mr+^Lv85mhVJIX{Jk6xS2jOmyym>^%3aYdJ{c|(
zo45jcrp2jpR){)Sa_KNc*G#i9Xkh9MEn<l4DBM1$eD0l#hxyAblpl5cXY6PZ%II04
wWZW`k(Mhq0gvNVaCcA{ZC9^sXo)j~__TsU+IoGEX6I{eHRVGekVPdcb04mYWsQ>@~

diff --git a/images/ticket_status.gif b/images/ticket_status.gif
deleted file mode 100644
index 0775549996b70c79816e455e6850d1abf0e376ab..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 123
zcmZ?wbhEHb6ky<ISi}GV|NsAYk8f??d-3}e+5epk|NsAIU|>-E$->CMz{a2hQUOxS
z!0eE*>yDOzTe`~*3y1Xf|FbScNNzJsiCptWxaNM<+B``S^SCQo)w>P)`@=Tg<*;PZ
YKb$4n%skWhXwEyWNoz7DGB8*J08msc@Bjb+

diff --git a/images/ticket_status_icon.jpg b/images/ticket_status_icon.jpg
deleted file mode 100644
index bf27b1f904418c311f05b27f118a55622be51b47..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 22667
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

diff --git a/images/verticalbar.jpg b/images/verticalbar.jpg
deleted file mode 100644
index 2678913d2cdb9b8ec861e71396fcb92a552ff13a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20111
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

diff --git a/images/view_closed_btn.gif b/images/view_closed_btn.gif
deleted file mode 100644
index 6cd8f080a9007a85a2c0f08a6133f54a0253d6e8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 618
zcmZ?wbhEHbjAIaHIKlt||NsA2N}A|WwJ5Z0RobM@<@0u*x&7?j=kE+&4T51E#(6V4
zRv($U{miPvS9hPkd-wUf@87?F`0(NR^XHErKfZeP>e;hr&zw24ef##six>a@{~u%`
z5?1`l!pOiN#h?Qc1KG*I`ai)THYIaj#;SEWuXjy}aCOYRU$O3e&HMkho~bT}Q~ORR
z7o5zoViuaDH#yjD{f*^Uruif>g=8@}9Waz>b2d95pu*B~>)?icOLK3}`mxOA7E6{X
z2bTalM<g4IKr(kBKXa)WGk=A6LacjyqOfo^533pP1m14OMJ!YJr{r`C@R|!SwVS3e
z_HSWj=Gn~0%*@xs!_2yrgKgL3sR^Np?!u?HaBXH@f0BorkB^I=FI9lEkf+3KzSZ_-
z9)6Yy0$ev+7+F^ETw*-@igPt%P>9$+vC~Ecrxv_qYYcyzr6L@#ig5+YGPWs_0xQ^>
zEiCga{{(w5YzSk@5m6A`)W%TzXU20*md`o<M;O=~ZZ4j(AkEi<MMmU;*@-h2GTZgM
z7Ns~eHZgI?-B>e|Z<5oLX}|t*8w3O&lx|_L<qgnhXmaM|X^9aKKHfOVOw57fSMX~k
z_Fg`n4I4f3qE=j3wI!$X@PVeC(cB8I4hnosj1!J99X5QBt{44g+eXft2?rM*VtmkJ
zDY;<c%9>M4{xN%em?XOEL0gq>fbdEut6L=s5)Bd`7e+J6>{u9a*dg1JSxDnRg~E>p
z){59q52Z6t-s(DAzC`Bj`7NJb+}OBe&ZNE7Dnfz=svrISd5Lg|s!WNGf4-+f{KMnZ
L^X2W`I2fz}wM6}4

diff --git a/images/view_open_btn.gif b/images/view_open_btn.gif
deleted file mode 100644
index 8ed6be9ce8159b20abfb0c9ea69b5235a4903b33..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 578
zcmZ?wbhEHbjAIaHIKlt||NsAYk8gG9Ii-{|(WPopXxpl^Nt?^(?LKq+*}Ko*8N3<<
z!#a%fW_GMTGIRTxRfn(cK7aS_^LOogFMj|2{lkY3j~_q2e*OB@t5?sQIrIPje~^ht
zSn($dBLjmJgAPaxWG4gb|Ad6pl+1Y<tJdYb-ZiZw&@uOZ#k%)3@Bi=RN^?2P*>^&@
z;AD;!v*;wh3Bh*jZ!Etu&4-UEM9VMffTco*i`fGO9SM%3RomBg=6fyaTd+=3LWr{{
zf`d0ph@H3CDk#<?K2cn}+?<cyjGvW}U&wSOn;@g$!koE6{N_SD&8Dm?1T$Fq%mmri
z&EsU>WYZg(=q{dMwW@hL>q0(W0Rf&3sY2YF`8dq^r(aFw<KYwJ-OS0ue|IzMsWU5j
zBo7I{5kAB;iD`m0+lp0d7qZNqJ)L_tYbw{5l@AlH^>WOTnZl{i=+MCYLW*t2(PIgH
zac&KboNg;;sj*z|V~uc_v_y?rfN#IS@8n}iyd0dmzqA7;J#h(QeYs-srE{@19-qq?
z9yRM9(6TR*Qz*E>pwh>}moGEHO_#xYikVgCniat}MEYbZMS?=U9AISS;yDxK@IaZ7
z!;&lJc1g(W1<Y6EOkO;3xO{ES%WGdt)cJen$zIUu3MpuKax?78jF%p#7dYIu<GO2;
zb~vH&z-*S-dj}#^-z-uWQsQ}1wd;Dqp?3fCjC(q^2;SV`ep1cxV4%>Q1ODzC8x}f!
Wczm$EyW-%Uou8kdO>SXeum%8np7E6c

diff --git a/include/class.client.php b/include/class.client.php
index f7ede15c5..e1057afa6 100644
--- a/include/class.client.php
+++ b/include/class.client.php
@@ -4,8 +4,8 @@
 
     Handles everything about client
 
-    The class will undergo major changes one client's accounts are used. 
-    At the moment we will play off the email + ticket ID authentication.
+    NOTE: Please note that osTicket uses email address and ticket ID to authenticate the user*!
+          Client is modeled on the info of the ticket used to login .
 
     Peter Rotich <peter@osticket.com>
     Copyright (c)  2006-2012 osTicket
@@ -19,75 +19,104 @@
 
 class Client {
 
-
     var $id;
     var $fullname;
     var $username;
-    var $passwd;
     var $email;
 
-    
-    var $udata;
     var $ticket_id;
     var $ticketID;
 
-    function Client($email,$id){
+    var $ht;
+
+
+    function Client($email,$id) {
         $this->id =0;
         $this->load($id,$email);
     }
 
-    function isClient(){
-        return TRUE;
-    }
+    function load($id=0, $email='') {
 
-    function load($id,$email=''){
+        if(!$id && !($id=$this->getId()))
+            return false;
 
-        $sql='SELECT ticket_id,ticketID,name,email FROM '.TICKET_TABLE.' WHERE ticketID='.db_input($id);
-        if($email){ //don't validate...using whatever is entered.
+        $sql='SELECT ticket_id, ticketID, name, email, phone, phone_ext '
+            .' FROM '.TICKET_TABLE
+            .' WHERE ticketID='.db_input($id);
+        if($email)
             $sql.=' AND email='.db_input($email);
-        }
-        $res=db_query($sql);
-        if(!$res || !db_num_rows($res))
+
+        if(!($res=db_query($sql)) || !db_num_rows($res))
             return NULL;
 
-        $row=db_fetch_array($res);
-        $this->udata=$row;
-        $this->id         = $row['ticketID']; //placeholder
-        $this->ticket_id  = $row['ticket_id'];
-        $this->ticketID   = $row['ticketID'];
-        $this->fullname   = ucfirst($row['name']);
-        $this->username   = $row['email'];
-        $this->email      = $row['email'];
+        $this->ht = db_fetch_array($res);
+        $this->id         = $this->ht['ticketID']; //placeholder
+        $this->ticket_id  = $this->ht['ticket_id'];
+        $this->ticketID   = $this->ht['ticketID'];
+        $this->fullname   = ucfirst($this->ht['name']);
+        $this->username   = $this->ht['email'];
+        $this->email      = $this->ht['email'];
+
+        $this->stats = array();
       
         return($this->id);
     }
 
+    function reload() {
+        return $this->load();
+    }
+
+    function isClient() {
+        return TRUE;
+    }
 
-    function getId(){
+    function getId() {
         return $this->id;
     }
 
-    function getEmail(){
+    function getEmail() {
         return $this->email;
     }
 
-    function getUserName(){
+    function getUserName() {
         return $this->username;
     }
 
-    function getName(){
+    function getName() {
         return $this->fullname;
     }
+
+    function getPhone() {
+        return $this->ht['phone'];
+    }
+
+    function getPhoneExt() {
+        return $this->ht['phone_ext'];
+    }
     
     function getTicketID() {
         return $this->ticketID;
     }
 
+    function getTicketStats() {
+
+        if(!$this->stats['tickets'])
+            $this->stats['tickets'] = Ticket::getClientStats($this->getEmail());
+
+        return $this->stats['tickets'];
+    }
+
+    function getNumTickets() {
+        return ($stats=$this->getTicketStats())?($stats['open']+$stats['closed']):0;
+    }
+
+    function getNumOpenTickets() {
+        return ($stats=$this->getTicketStats())?$stats['open']:0;
+    }
+
     /* ------------- Static ---------------*/
     function lookup($id, $email) {
         return ($id && is_numeric($id) && ($c=new Client($id,$email)) && $c->getId()==$id)?$c:null;
     }
-
 }
-
 ?>
diff --git a/include/class.config.php b/include/class.config.php
index 1e3d7745f..37040ebca 100644
--- a/include/class.config.php
+++ b/include/class.config.php
@@ -32,17 +32,20 @@ class Config {
         $this->load($id);
     }
 
-    function load($id) {
+    function load($id=0) {
+        if(!$id && !($id=$this->getId()))
+            return false;
 
-        $sql='SELECT * FROM '.CONFIG_TABLE.' WHERE id='.db_input($id);
-        if($id && ($res=db_query($sql)) && db_num_rows($res)) {
-            $this->config=db_fetch_array($res);
-            $this->id=$this->config['id'];
+        $sql='SELECT * FROM '.CONFIG_TABLE
+            .' WHERE id='.db_input($id);
+        if(!($res=db_query($sql)) || !db_num_rows($res))
+            return false;
 
-            return true;
-        }
+            
+        $this->config=db_fetch_array($res);
+        $this->id=$this->config['id'];
 
-        return false;
+        return true;
     }
 
     //Initialize some default values.
@@ -52,10 +55,13 @@ class Config {
     }
     
     function reload() {
-        if($this->load($this->id))
-            $this->init();
-    }
+        if(!$this->load($this->getId()))
+            return false;
+
+        $this->init();
 
+        return true;
+    }
 
     function isHelpDeskOffline() {
         return !$this->isSystemOnline();
@@ -75,7 +81,7 @@ class Config {
         return '1.7 DPR';
     }
 
-    function getSchemaVersion() {
+    function getSchemaSignature() {
         return $this->config['schema_signature'];
     }
 
@@ -111,7 +117,7 @@ class Config {
     }
 
     function getId() {
-        return $this->config['id'];
+        return $this->id;
     }
    
     function getTitle() {
@@ -145,6 +151,10 @@ class Config {
     function getPasswdResetPeriod() {
         return $this->config['passwd_reset_period'];
     }
+
+    function showRelatedTickets() {
+        return $this->config['show_related_tickets'];
+    }
         
     function getClientTimeout() {
         return $this->getClientSessionTimeout();
diff --git a/include/class.faq.php b/include/class.faq.php
index 99d6def27..7e23803dc 100644
--- a/include/class.faq.php
+++ b/include/class.faq.php
@@ -192,7 +192,7 @@ class FAQ {
             /* The h key must match validation in file.php */
             $hash=$attachment['hash'].md5($attachment['id'].session_id().$attachment['hash']);
             if($attachment['size'])
-                $size=sprintf('(<i>%s</i>)',Format::file_size($attachment['size']));
+                $size=sprintf('&nbsp;<small>(<i>%s</i>)</small>',Format::file_size($attachment['size']));
 
             $str.=sprintf('<a class="Icon file" href="file.php?h=%s" target="%s">%s</a>%s&nbsp;%s',
                     $hash, $target, Format::htmlchars($attachment['name']), $size, $separator);
diff --git a/include/class.file.php b/include/class.file.php
index 91bd1cddc..b9bfbe1b7 100644
--- a/include/class.file.php
+++ b/include/class.file.php
@@ -138,6 +138,7 @@ class AttachmentFile {
         exit();
     }
 
+    /* Function assumes the files types have been validated */
     function upload($file) {
         
         if(!$file['name'] || !is_uploaded_file($file['tmp_name']))
diff --git a/include/class.filter.php b/include/class.filter.php
index 9b9d72790..4f18e9651 100644
--- a/include/class.filter.php
+++ b/include/class.filter.php
@@ -260,7 +260,7 @@ class Filter {
         #       Set owning department (?)
         if ($this->getDeptId())     $ticket['deptId']=$this->getDeptId();
         #       Set ticket priority (?)
-        if ($this->getPriorityId()) $ticket['pri']=$this->getPriorityId();
+        if ($this->getPriorityId()) $ticket['priorityId']=$this->getPriorityId();
         #       Set SLA plan (?)
         if ($this->getSLAId())      $ticket['slaId']=$this->getSLAId();
         #       Auto-assign to (?)
diff --git a/include/class.nav.php b/include/class.nav.php
index 561fc963d..a3b719f08 100644
--- a/include/class.nav.php
+++ b/include/class.nav.php
@@ -263,15 +263,24 @@ class UserNav {
 
             $navs = array();
             $user = $this->user;
-            $navs['home']=array('desc'=>'Support Center Home','href'=>'index.php','title'=>'');
+            $navs['home']=array('desc'=>'Support&nbsp;Center&nbsp;Home','href'=>'index.php','title'=>'');
             if($cfg && $cfg->isKnowledgebaseEnabled())
                 $navs['kb']=array('desc'=>'Knowledgebase','href'=>'kb/index.php','title'=>'');
 
-            $navs['new']=array('desc'=>'Open New Ticket','href'=>'open.php','title'=>'');
-            if($user && $user->isValid())
-                $navs['tickets']=array('desc'=>'My Tickets','href'=>'tickets.php','title'=>'');
-            else
+            $navs['new']=array('desc'=>'Open&nbsp;New&nbsp;Ticket','href'=>'open.php','title'=>'');
+            if($user && $user->isValid()) {
+                if($cfg && $cfg->showRelatedTickets()) {
+                    $navs['tickets']=array('desc'=>sprintf('My&nbsp;Tickets&nbsp;(%d)',$user->getNumTickets()),
+                                           'href'=>'tickets.php',
+                                            'title'=>'Show all tickets');
+                } else {
+                    $navs['tickets']=array('desc'=>'View&nbsp;Ticket&nbsp;Thread',
+                                           'href'=>sprintf('tickets.php?id=%d',$user->getTicketID()),
+                                           'title'=>'View ticket status');
+                }
+            } else {
                 $navs['status']=array('desc'=>'Check Ticket Status','href'=>'view.php','title'=>'');
+            }
             $this->navs=$navs;
         }
 
diff --git a/include/class.staff.php b/include/class.staff.php
index bfb0b79d2..996896599 100644
--- a/include/class.staff.php
+++ b/include/class.staff.php
@@ -37,15 +37,18 @@ class Staff {
         if(!$var && !($var=$this->getId()))
             return false;
 
-        $sql='SELECT staff.*,grp.*,tz.offset as tz_offset,TIME_TO_SEC(TIMEDIFF(NOW(),IFNULL(staff.passwdreset,staff.created))) as passwd_change_sec '.
-             'FROM '.STAFF_TABLE.' staff '.
-             'LEFT JOIN '.GROUP_TABLE.' grp ON(grp.group_id=staff.group_id) '.
-             'LEFT JOIN '.TIMEZONE_TABLE.' tz ON(tz.id=staff.timezone_id) ';
+        $sql='SELECT staff.*, grp.*, tz.offset as tz_offset '
+            .' ,TIME_TO_SEC(TIMEDIFF(NOW(),IFNULL(staff.passwdreset,staff.created))) as passwd_change_sec '
+            .' FROM '.STAFF_TABLE.' staff '
+            .' LEFT JOIN '.GROUP_TABLE.' grp ON(grp.group_id=staff.group_id) '
+            .' LEFT JOIN '.TIMEZONE_TABLE.' tz ON(tz.id=staff.timezone_id) ';
+
         $sql.=sprintf('WHERE %s=%s',is_numeric($var)?'staff_id':'username',db_input($var));
 
         if(!($res=db_query($sql)) || !db_num_rows($res))
             return NULL;
 
+        
         $this->ht=db_fetch_array($res);
         $this->id  = $this->ht['staff_id'];
         $this->teams =$this->ht['teams']=$this->getTeams();
diff --git a/include/class.ticket.php b/include/class.ticket.php
index 2c111cec2..4801f1625 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -175,6 +175,18 @@ class Ticket{
                  || $staff->getId()==$this->getStaffId());
     }
 
+    function checkClientAccess($client) {
+        global $cfg;
+
+        if(!is_object($client) && !($client=Client::lookup($client)))
+            return false;
+
+        if(!strcasecmp($client->getEmail(),$this->getEmail()))
+            return true;
+
+        return ($cfg && $cfg->showRelatedTickets() && $client->getTicketId()==$ticket->getExtId());
+    }
+
     //Getters
     function getId(){
         return  $this->id;
@@ -437,8 +449,10 @@ class Ticket{
 
     function getRelatedTicketsCount(){
 
-        $sql='SELECT count(*)  FROM '.TICKET_TABLE.' WHERE email='.db_input($this->getEmail());
-        return db_count($sql);
+        $sql='SELECT count(*)  FROM '.TICKET_TABLE
+            .' WHERE email='.db_input($this->getEmail());
+
+        return db_result(db_query($sql));
     }
 
     function getThreadCount() {
@@ -488,7 +502,7 @@ class Ticket{
                 ON (msg.ticket_id=attach.ticket_id AND msg.msg_id=attach.ref_id AND ref_type="M") '
             .' WHERE  msg.ticket_id='.db_input($this->getId())
             .' GROUP BY msg.msg_id '
-            .' ORDER BY msg.created DESC ';
+            .' ORDER BY msg.created ASC ';
 
         $messages=array();
         if(($res=db_query($sql)) && db_num_rows($res))
@@ -1193,7 +1207,9 @@ class Ticket{
 
         $this->onMessage($autorespond); //must be called b4 sending alerts to staff.
 
-        if(!($tpl = $dept->getTemplate()))
+        $dept = $this->getDept();
+
+        if(!$dept || !($tpl = $dept->getTemplate()))
             $tpl= $cfg->getDefaultTemplate();
 
         if(!($email=$cfg->getAlertEmail()))
@@ -1458,10 +1474,14 @@ class Ticket{
 
 
    
-    function lookup($id){ //Assuming local ID is the only lookup used!
+    function lookup($id) { //Assuming local ID is the only lookup used!
         return ($id && is_numeric($id) && ($ticket= new Ticket($id)) && $ticket->getId()==$id)?$ticket:null;    
     }
 
+    function lookupByExtId($id) {
+        return self::lookup(self:: getIdByExtId($id));
+    }
+
     function genExtRandID() {
         global $cfg;
 
@@ -1537,6 +1557,27 @@ class Ticket{
         return db_fetch_array(db_query($sql));
     }
 
+
+    /* Quick client's tickets stats 
+       @email - valid email. 
+     */
+    function getClientStats($email) {
+
+        if(!$email || !Validator::is_email($email))
+            return null;
+
+        $sql='SELECT count(open.ticket_id) as open, count(closed.ticket_id) as closed '
+            .' FROM '.TICKET_TABLE.' ticket '
+            .' LEFT JOIN '.TICKET_TABLE.' open
+                ON (open.ticket_id=ticket.ticket_id AND open.status=\'open\') '
+            .' LEFT JOIN '.TICKET_TABLE.' closed
+                ON (closed.ticket_id=ticket.ticket_id AND closed.status=\'closed\')'
+            .' WHERE ticket.email='.db_input($email);
+
+        return db_fetch_array(db_query($sql));
+    }
+
+    //FIXME: Refactor the code for version 1.7
     function update($var,&$errors) {
          global $cfg,$thisstaff;
 
@@ -1650,7 +1691,7 @@ class Ticket{
                 break;
             case 'staff':
                 $fields['deptId']   = array('type'=>'int',  'required'=>1, 'error'=>'Dept. required');
-                $fields['topicId']   = array('type'=>'int',  'required'=>1, 'error'=>'Topic required');
+                $fields['topicId']  = array('type'=>'int',  'required'=>1, 'error'=>'Topic required');
                 $fields['duedate']  = array('type'=>'date', 'required'=>0, 'error'=>'Invalid date - must be MM/DD/YY');
             case 'api':
                 $fields['source']   = array('type'=>'string', 'required'=>1, 'error'=>'Indicate source');
@@ -1660,10 +1701,10 @@ class Ticket{
                 break;
             default:
                 # TODO: Return error message
-                $errors['origin'] = 'Invalid origin given';
+                $errors['err']=$errors['origin'] = 'Invalid origin given';
         }
-        $fields['pri']      = array('type'=>'int',      'required'=>0, 'error'=>'Invalid Priority');
-        $fields['phone']    = array('type'=>'phone',    'required'=>0, 'error'=>'Valid phone # required');
+        $fields['priorityId']   = array('type'=>'int',      'required'=>0, 'error'=>'Invalid Priority');
+        $fields['phone']        = array('type'=>'phone',    'required'=>0, 'error'=>'Valid phone # required');
         
         if(!Validator::process($fields, $vars, $errors) && !$errors['err'])
             $errors['err'] ='Missing or invalid data - check the errors and try again';
@@ -1703,7 +1744,8 @@ class Ticket{
         if (isset($vars['autorespond'])) $autorespond=$vars['autorespond'];
 
         //check ticket limits..if limit set is >0 
-        //TODO: Base ticket limits on SLA... XXX: move it elsewhere??
+        //TODO:  XXX: move it elsewhere?? Client::checkMaxOpenTickets($email,$vars)
+
         if($vars['email'] && !$errors && $cfg->getMaxOpenTickets()>0 && strcasecmp($origin,'staff')){
             $openTickets=Ticket::getOpenTicketsByEmail($vars['email']);
             if($openTickets>=$cfg->getMaxOpenTickets()) {
@@ -1804,14 +1846,6 @@ class Ticket{
 
         //post the message.
         $msgid=$ticket->postMessage($vars['message'],$source,$vars['mid'],$vars['header'],true);
-        //TODO: recover from postMessage error??
-
-        //Upload attachments...web based. - XXX: Assumes user uploaded attachments!! XXX: move it to client interface.
-        if($_FILES['attachment']['name'] && $cfg->allowOnlineAttachments() && $msgid) {    
-            if(!$cfg->allowAttachmentsOnlogin() || ($cfg->allowAttachmentsOnlogin() && ($thisuser && $thisuser->isValid()))) {
-                $ticket->uploadAttachment($_FILES['attachment'],$msgid,'M');
-            }
-        }
 
         // Configure service-level-agreement for this ticket
         $ticket->selectSLAId($vars['slaId']);
diff --git a/include/class.topic.php b/include/class.topic.php
index 59159c8c9..40ab8096b 100644
--- a/include/class.topic.php
+++ b/include/class.topic.php
@@ -135,6 +135,10 @@ class Topic {
         return $topics;
     }
 
+    function getPublicHelpTopics() {
+        return self::getHelpTopics(true);
+    }
+
 
     function getIdByName($topic){
         $sql='SELECT topic_id FROM '.TOPIC_TABLE.' WHERE topic='.db_input($topic);
diff --git a/include/client/header.inc.php b/include/client/header.inc.php
index ad88a0c80..65966c838 100644
--- a/include/client/header.inc.php
+++ b/include/client/header.inc.php
@@ -21,8 +21,14 @@ header("Content-Type: text/html; charset=UTF-8\r\n");
             <a id="logo" href="<?php echo ROOT_PATH; ?>index.php" title="Support Center"><img src="<?php echo ASSETS_PATH; ?>images/logo.png" border=0 alt="Support Center"></a>
             <p>
              <?php
-             if($thisclient && is_object($thisclient) && $thisclient->isValid()) { ?>
-                <a href="<?php echo ROOT_PATH; ?>tickets.php">My Tickets</a> - 
+             if($thisclient && is_object($thisclient) && $thisclient->isValid()) { 
+                 echo $thisclient->getName().'&nbsp;-&nbsp;';
+                 ?>
+                <?php
+                if($cfg->showRelatedTickets()) {?>
+                <a href="<?php echo ROOT_PATH; ?>tickets.php">My Tickets <b>(<?php echo $thisclient->getNumTickets(); ?>)</b></a> - 
+                <?php
+                } ?>
                 <a href="<?php echo ROOT_PATH; ?>logout.php">Log Out</a>
              <?php 
              }elseif($nav){ ?>
diff --git a/include/client/kb-category.inc.php b/include/client/kb-category.inc.php
index f166fb5bd..50a51782f 100644
--- a/include/client/kb-category.inc.php
+++ b/include/client/kb-category.inc.php
@@ -1,34 +1,31 @@
 <?php
 if(!defined('OSTCLIENTINC') || !$category || !$category->isPublic()) die('Access Denied');
-
 ?>
-<div style="width:700;padding-top:10px; float:left;">
-  <h2>Frequently Asked Questions</h2>
-</div>
-<div style="float:right;text-align:right;padding-top:5px;padding-right:5px;">&nbsp;</div>
-<div class="clear"></div>
-<br>
-<div><strong><?php echo $category->getName() ?></strong></div>
+<h1><strong><?php echo $category->getName() ?></strong></h1>
 <p>
 <?php echo Format::safe_html($category->getDescription()); ?>
 </p>
 <hr>
 <?php
-$sql='SELECT faq.faq_id, question '
+$sql='SELECT faq.faq_id, question, count(attach.file_id) as attachments '
     .' FROM '.FAQ_TABLE.' faq '
     .' LEFT JOIN '.FAQ_ATTACHMENT_TABLE.' attach ON(attach.faq_id=faq.faq_id) '
     .' WHERE faq.ispublished=1 AND faq.category_id='.db_input($category->getId())
     .' GROUP BY faq.faq_id';
 if(($res=db_query($sql)) && db_num_rows($res)) {
-    echo '<div id="faq">
+    echo '
+         <h2>Frequently Asked Questions</h2>
+         <div id="faq">
             <ol>';
     while($row=db_fetch_array($res)) {
+        $attachments=$row['attachments']?'<span class="Icon file"></span>':'';
         echo sprintf('
-            <li><a href="faq.php?id=%d" >%s</a></li>',
-            $row['faq_id'],Format::htmlchars($row['question']));
+            <li><a href="faq.php?id=%d" >%s &nbsp;%s</a></li>',
+            $row['faq_id'],Format::htmlchars($row['question']), $attachments);
     }
     echo '  </ol>
-         </div>';
+         </div>
+         <p><a class="back" href="index.php">&laquo; Go Back</a></p>';
 }else {
     echo '<strong>Category does not have any FAQs. <a href="index.php">Back To Index</a></strong>';
 }
diff --git a/include/client/knowledgebase.inc.php b/include/client/knowledgebase.inc.php
index 0af99ba21..83484e95d 100644
--- a/include/client/knowledgebase.inc.php
+++ b/include/client/knowledgebase.inc.php
@@ -1,5 +1,6 @@
 <?php
 if(!defined('OSTCLIENTINC')) die('Access Denied');
+
 ?>
 <h1>Frequently Asked Questions</h1>
 <form action="index.php" method="get" style="padding-top:15px;">
@@ -14,6 +15,7 @@ if(!defined('OSTCLIENTINC')) die('Access Denied');
                     $sql='SELECT category_id, name, count(faq.category_id) as faqs '
                         .' FROM '.FAQ_CATEGORY_TABLE.' cat '
                         .' LEFT JOIN '.FAQ_TABLE.' faq USING(category_id) '
+                        .' WHERE cat.ispublic=1 AND faq.ispublished=1 '
                         .' GROUP BY cat.category_id '
                         .' HAVING faqs>0 '
                         .' ORDER BY cat.name DESC ';
@@ -40,6 +42,7 @@ if(!defined('OSTCLIENTINC')) die('Access Denied');
                     $sql='SELECT ht.topic_id, ht.topic, count(faq.topic_id) as faqs '
                         .' FROM '.TOPIC_TABLE.' ht '
                         .' LEFT JOIN '.FAQ_TOPIC_TABLE.' faq USING(topic_id) '
+                        .' WHERE ht.ispublic=1 '
                         .' GROUP BY ht.topic_id '
                         .' HAVING faqs>0 '
                         .' ORDER BY ht.topic DESC ';
@@ -88,7 +91,7 @@ if($_REQUEST['q'] || $_REQUEST['cid'] || $_REQUEST['topicId']) { //Search.
 } else { //Category Listing.
     $sql='SELECT cat.category_id, cat.name, cat.description, cat.ispublic, count(faq.faq_id) as faqs '
         .' FROM '.FAQ_CATEGORY_TABLE.' cat '
-        .' LEFT JOIN '.FAQ_TABLE.' faq ON(faq.category_id=cat.category_id) '
+        .' LEFT JOIN '.FAQ_TABLE.' faq ON(faq.category_id=cat.category_id AND faq.ispublished=1) '
         .' WHERE cat.ispublic=1 '
         .' GROUP BY cat.category_id '
         .' HAVING faqs>0 '
diff --git a/include/client/open.inc.php b/include/client/open.inc.php
index fd31bc9b8..9c2a82b47 100644
--- a/include/client/open.inc.php
+++ b/include/client/open.inc.php
@@ -1,21 +1,40 @@
 <?php
-if(!defined('OSTCLIENTINC')) die('Access Denied'); //Say bye to our friend..
+if(!defined('OSTCLIENTINC')) die('Access Denied!');
+$info=array();
+if($thisclient && $thisclient->isValid()) {
+    $info=array('name'=>$thisclient->getName(),
+                'email'=>$thisclient->getEmail(),
+                'phone'=>$thisclient->getPhone(),
+                'phone_ext'=>$thisclient->getPhoneExt());
+}
 
-$info=($_POST && $errors)?Format::htmlchars($_POST):array();
+$info=($_POST && $errors)?Format::htmlchars($_POST):$info;
 ?>
-
 <h1>Open a New Ticket</h1>
 <p>Please fill in the form below to open a new ticket.</p>
 <form id="ticketForm" method="post" action="open.php" enctype="multipart/form-data">
+    <input type="hidden" name="a" value="open">
     <div>
         <label for="name" class="required">Full Name:</label>
+        <?php
+        if($thisclient && $thisclient->isValid()) {
+            echo $thisclient->getName();
+        } else { ?>
         <input id="name" type="text" name="name" size="30" value="<?php echo $info['name']; ?>">
         <font class="error">*&nbsp;<?php echo $errors['name']; ?></font>
+        <?php
+        } ?>
     </div>
     <div>
-        <label for="email" class="required">E-Mail Address:</label>
+        <label for="email" class="required">Email Address:</label>
+        <?php
+        if($thisclient && $thisclient->isValid()) { 
+            echo $thisclient->getEmail();
+        } else { ?>
         <input id="email" type="text" name="email" size="30" value="<?php echo $info['email']; ?>">
         <font class="error">*&nbsp;<?php echo $errors['email']; ?></font>
+        <?php
+        } ?>
     </div>
     <div>
         <label for="phone">Telephone:</label>
@@ -30,16 +49,14 @@ $info=($_POST && $errors)?Format::htmlchars($_POST):array();
         <select id="topicId" name="topicId">
             <option value="" selected="selected">&mdash; Select a Help Topics &mdash;</option>
             <?php
-                $sql='SELECT topic_id,topic FROM '.TOPIC_TABLE.' WHERE isactive=1 ORDER BY topic';
-                 if(($res=db_query($sql)) && db_num_rows($res)) {
-                     while (list($topicId,$topic) = db_fetch_row($res)){
-                        $selected = ($info['topicId']==$topicId)?'selected="selected"':''; ?>
-                        <option value="<?php echo $topicId; ?>"<?php echo $selected; ?>><?php echo $topic; ?></option>
-                        <?php
-                     }
-                 }else{ ?>
-                    <option value="0" >General Inquiry</option>
-                <?php } ?>
+            if($topics=Topic::getPublicHelpTopics()) {
+                foreach($topics as $id =>$name) {
+                    echo sprintf('<option value="%d" %s>%s</option>',
+                            $id, ($info['topicId']==$id)?'selected="selected"':'', $name);
+                }
+            } else { ?>
+                <option value="0" >General Inquiry</option>
+            <?php } ?>
         </select>
         <font class="error">*&nbsp;<?php echo $errors['topicId']; ?></font>
     </div>
@@ -58,35 +75,41 @@ $info=($_POST && $errors)?Format::htmlchars($_POST):array();
         <textarea id="message" cols="60" rows="8" name="message"><?php echo $info['message']; ?></textarea>
     </div>
     <?php if(($cfg->allowOnlineAttachments() && !$cfg->allowAttachmentsOnlogin())
-            || ($cfg->allowAttachmentsOnlogin() && ($thisuser && $thisuser->isValid()))) { ?>
+            || ($cfg->allowAttachmentsOnlogin() && ($thisclient && $thisclient->isValid()))) { ?>
      <div>
-        <label for="attachment">Attachments:</label>
-        <input id="attachment" type="file" name="attachment"><font class="error">&nbsp;<?php echo $errors['attachment']; ?></font>
+        <label for="attachments">Attachments:</label>
+        <span id="uploads"></span>
+        <input type="file" class="multifile" name="attachments[]" id="attachments" size="30" value="" />
+        <font class="error">&nbsp;<?php echo $errors['attachments']; ?></font>
     </div>                                                                
     <?php } ?>
     <?php
-    if($cfg && $cfg->allowPriorityChange()) {
-      $sql='SELECT priority_id,priority_desc FROM '.TICKET_PRIORITY_TABLE.' WHERE ispublic=1 ORDER BY priority_urgency DESC';
-      if(($res=db_query($sql)) && db_num_rows($res)) {?>
-      <div>
+    if($cfg->allowPriorityChange() && ($priorities=Priority::getPriorities())) { ?>
+    <div>
         <label for="priority">Ticket Priority:</label>
         <select id="priority" name="priorityId">
-              <?php
+            <?php
                 if(!$info['priorityId'])
-                    $info['priorityId']=$cfg->getDefaultPriorityId(); //use system's default priority.
-                while($row=db_fetch_array($res)){ 
-                    $selected=$info['priorityId']==$row['priority_id']?'selected="selected"':'';
-                    ?>
-                    <option value="<?php echo $row['priority_id']; ?>" <?php echo $selected; ?> ><?php echo $row['priority_desc']; ?></option>
-              <?php } ?>
+                    $info['priorityId'] = $cfg->getDefaultPriorityId(); //System default.
+                foreach($priorities as $id =>$name) {
+                    echo sprintf('<option value="%d" %s>%s</option>',
+                                    $id, ($info['priorityId']==$id)?'selected="selected"':'', $name);
+                        
+                }
+            ?>
+
+                
+                
         </select>
+        
         <font class="error">&nbsp;<?php echo $errors['priorityId']; ?></font>
-     </div>
+        
+    </div>
     <?php
-      }
-    } ?>
+    }
+    ?>
     <?php
-    if($cfg && $cfg->enableCaptcha() && (!$thisuser || !$thisuser->isValid())) {
+    if($cfg && $cfg->enableCaptcha() && (!$thisclient || !$thisclient->isValid())) {
         if($_POST && $errors && !$errors['captcha'])
             $errors['captcha']='Please re-enter the text again';
         ?>
@@ -101,7 +124,7 @@ $info=($_POST && $errors)?Format::htmlchars($_POST):array();
     <?php
     } ?>
     <br>
-    <p>
+    <p style="padding-left:150px;">
         <input type="submit" value="Create Ticket">
         <input type="reset" value="Reset">
         <input type="button" value="Cancel" onClick='window.location.href="index.php"'>
diff --git a/include/client/tickets.inc.php b/include/client/tickets.inc.php
new file mode 100644
index 000000000..a36021716
--- /dev/null
+++ b/include/client/tickets.inc.php
@@ -0,0 +1,172 @@
+<?php
+if(!defined('OSTCLIENTINC') || !is_object($thisclient) || !$thisclient->isValid() || !$cfg->showRelatedTickets()) die('Access Denied');
+
+$qstr='&'; //Query string collector
+$status=null;
+if(isset($_REQUEST['status'])) { //Query string status has nothing to do with the real status used below.
+    $qstr.='status='.urlencode($_REQUEST['status']);
+    //Status we are actually going to use on the query...making sure it is clean!
+    switch(strtolower($_REQUEST['status'])) {
+     case 'open':
+     case 'closed':
+        $status=strtolower($_REQUEST['status']);
+        break;
+     default:
+        $status=''; //ignore
+    }
+} elseif($thisclient->getNumOpenTickets()) {
+    $status='open'; //Defaulting to open
+}
+
+$sortOptions=array('id'=>'ticketID', 'name'=>'ticket.name', 'subject'=>'ticket.subject',
+                    'email'=>'ticket.email', 'status'=>'ticket.status', 'dept'=>'dept_name','date'=>'ticket.created');
+$orderWays=array('DESC'=>'DESC','ASC'=>'ASC');
+//Sorting options...
+$order_by=$order=null;
+$sort=($_REQUEST['sort'] && $sortOptions[strtolower($_REQUEST['sort'])])?strtolower($_REQUEST['sort']):'date';
+if($sort && $sortOptions[$sort])
+    $order_by =$sortOptions[$sort];
+
+$order_by=$order_by?$order_by:'ticket_created';
+if($_REQUEST['order'] && $orderWays[strtoupper($_REQUEST['order'])]) 
+    $order=$orderWays[strtoupper($_REQUEST['order'])];
+
+$order=$order?$order:'ASC';
+if($order_by && strpos($order_by,','))
+    $order_by=str_replace(','," $order,",$order_by);
+
+$x=$sort.'_sort';
+$$x=' class="'.strtolower($order).'" ';
+
+$qselect='SELECT ticket.ticket_id,ticket.ticketID,ticket.dept_id,isanswered, dept.ispublic, ticket.subject, ticket.name, ticket.email '.
+           ',dept_name,ticket. status, ticket.source, ticket.created ';
+
+$qfrom='FROM '.TICKET_TABLE.' ticket '
+      .' LEFT JOIN '.DEPT_TABLE.' dept ON (ticket.dept_id=dept.dept_id) ';
+
+$qwhere =' WHERE ticket.email='.db_input($thisclient->getEmail());
+
+if($status){
+    $qwhere.=' AND ticket.status='.db_input($status);
+}
+
+$search=($_REQUEST['a']=='search' && $_REQUEST['q']);
+if($search) {
+    $qstr.='&a='.urlencode($_REQUEST['a']).'&q='.urlencode($_REQUEST['q']);
+    if(is_numeric($_REQUEST['q'])) {
+        $qwhere.=" AND ticket.ticketID LIKE '$queryterm%'";
+    } else {//Deep search!
+        $queryterm=db_real_escape($_REQUEST['q'],false); //escape the term ONLY...no quotes.
+        $qwhere.=' AND ( '
+                ." ticket.subject LIKE '%$queryterm%'"
+                ." OR message.message LIKE '%$queryterm%'"
+                ." OR response.response LIKE '%$queryterm%'"
+                .' ) ';
+        $deep_search=true;
+        //Joins needed for search
+        $qfrom.=' LEFT JOIN '.TICKET_MESSAGE_TABLE.' message ON (ticket.ticket_id=message.ticket_id )'
+               .' LEFT JOIN '.TICKET_RESPONSE_TABLE.' response ON (ticket.ticket_id=response.ticket_id )';
+    }
+}
+
+$total=db_count('SELECT count(DISTINCT ticket.ticket_id) '.$qfrom.' '.$qwhere);
+$pageNav=new Pagenate($total,$page, PAGE_LIMIT);
+$pageNav->setURL('tickets.php',$qstr.'&sort='.urlencode($_REQUEST['sort']).'&order='.urlencode($_REQUEST['order']));
+
+//more stuff...
+$qselect.=' ,count(attach_id) as attachments ';
+$qfrom.=' LEFT JOIN '.TICKET_ATTACHMENT_TABLE.' attach ON  ticket.ticket_id=attach.ticket_id ';
+$qgroup=' GROUP BY ticket.ticket_id';
+
+$query="$qselect $qfrom $qwhere $qgroup ORDER BY $order_by $order LIMIT ".$pageNav->getStart().",".$pageNav->getLimit();
+//echo $query;
+$res = db_query($query);
+$showing=($res && db_num_rows($res))?$pageNav->showing():"";
+$showing.=($status)?(' '.ucfirst($status).' Tickets'):' All Tickets';
+if($search)
+    $showing="Search Results: $showing";
+
+$negorder=$order=='DESC'?'ASC':'DESC'; //Negate the sorting
+
+?>
+<h1>My Tickets</h1>
+<br>
+<form action="tickets.php" method="get" id="ticketSearchForm">
+    <input type="hidden" name="a"  value="search">
+    <input type="text" name="q" size="20" value="<?php echo Format::htmlchars($_REQUEST['q']); ?>">
+    <select name="status">
+        <option value="">&mdash; Any Status &mdash;</option>
+        <option value="open" <?php echo ($status=='open')?'selected="selected"':'';?>>Open</option>
+        <option value="closed" <?php echo ($status=='closed')?'selected="selected"':'';?>>Closed</option>
+    </select>
+    <input type="submit" value="Go">
+</form>
+<a class="refresh" href="<?php echo $_SERVER['REQUEST_URI']; ?>">Refresh</a>
+<table id="ticketTable" width="800" border="0" cellspacing="0" cellpadding="0">
+    <caption><?php echo $showing; ?></caption>
+    <thead>
+        <tr>
+            <th width="70" nowrap>
+                <a href="tickets.php?sort=ID&order=<?php echo $negorder; ?><?php echo $qstr; ?>" title="Sort By Ticket ID">Ticket #</a>
+            </th>
+            <th width="100">
+                <a href="tickets.php?sort=date&order=<?php echo $negorder; ?><?php echo $qstr; ?>" title="Sort By Date">Create Date</a>
+            </th>
+            <th width="80">
+                <a href="tickets.php?sort=status&order=<?php echo $negorder; ?><?php echo $qstr; ?>" title="Sort By Status">Status</a>
+            </th>
+            <th width="240">
+                <a href="tickets.php?sort=subj&order=<?php echo $negorder; ?><?php echo $qstr; ?>" title="Sort By Subject">Subject</a>
+            </th>
+            <th width="150">
+                <a href="tickets.php?sort=dept&order=<?php echo $negorder; ?><?php echo $qstr; ?>" title="Sort By Department">Department</a>
+            </th>
+            <th width="150">Phone Number</th>
+        </tr>
+    </thead>
+    <tbody>
+    <?php
+     if($res && ($num=db_num_rows($res))) {
+        $defaultDept=Dept::getDefaultDeptName(); //Default public dept.
+        while ($row = db_fetch_array($res)) {
+            $dept=$row['ispublic']?$row['dept_name']:$defaultDept;
+            $subject=Format::htmlchars(Format::truncate($row['subject'],40));
+            if($row['attachments'])
+                $subject.='  &nbsp;&nbsp;<span class="Icon file"></span>';
+
+            $ticketID=$row['ticketID'];
+            if($row['isanswered'] && !strcasecmp($row['status'],'open')) {
+                $subject="<b>$subject</b>";
+                $ticketID="<b>$ticketID</b>";
+            }
+            $phone=Format::phone($row['phone']);
+            if($row['phone_ext'])
+                $phone.=' '.$row['phone_ext'];
+            ?>
+            <tr id="<?php echo $row['ticketID']; ?>">
+                <td class="centered">
+                <a class="Icon <?php echo strtolower($row['source']); ?>Ticket" title="<?php echo $row['email']; ?>" 
+                    href="tickets.php?id=<?php echo $row['ticketID']; ?>"><?php echo $ticketID; ?></a>
+                </td>
+                <td>&nbsp;<?=Format::db_date($row['created'])?></td>
+                <td>&nbsp;<?=ucfirst($row['status'])?></td>
+                <td>
+                    <a href="tickets.php?id=<?php echo $row['ticketID']; ?>"><?php echo $subject; ?></a>
+                </td>
+                <td>&nbsp;<?=Format::truncate($dept,30)?></td>
+                <td><?php echo $phone; ?></td>
+            </tr>
+        <?php
+        }
+
+     } else {
+         echo '<tr><td colspan="7">Your query did not match any records</td></tr>';
+     }
+    ?>
+    </tbody>
+</table>
+<?php
+if($res && $num>0) { 
+    echo '<div>&nbsp;Page:'.$pageNav->getPageLinks().'&nbsp;</div>';
+}
+?>
diff --git a/include/client/view.inc.php b/include/client/view.inc.php
new file mode 100644
index 000000000..e720ed96b
--- /dev/null
+++ b/include/client/view.inc.php
@@ -0,0 +1,157 @@
+<?php
+if(!defined('OSTCLIENTINC') || !$thisclient || !$ticket || !$ticket->checkClientAccess($thisclient)) die('Access Denied!');
+
+$info=($_POST && $errors)?Format::htmlchars($_POST):array();
+
+$dept = $ticket->getDept();
+//Making sure we don't leak out internal dept names
+if(!$dept || !$dept->isPublic())
+    $dept = $cfg->getDefaultDept();
+
+?>
+<table width="800" cellpadding="1" cellspacing="0" border="0" id="ticketInfo">
+    <tr>
+        <td colspan="2" width="100%">
+            <h1>
+                Ticket #<?php echo $ticket->getExtId(); ?> &nbsp;
+                <a href="view.php?id=<?php echo $ticket->getExtId(); ?>" title="Reload"><span class="Icon refresh">&nbsp;</span></a>
+            </h1>
+        </td>
+    </tr> 
+    <tr>
+        <td width="50%">   
+            <table class="infoTable" cellspacing="1" cellpadding="3" width="100%" border="0">
+                <tr>
+                    <th width="100">Ticket Status:</th>
+                    <td><?php echo ucfirst($ticket->getStatus()); ?></td>
+                </tr>
+                <tr>
+                    <th>Department:</th>
+                    <td><?php echo Format::htmlchars($dept->getName()); ?></td>
+                </tr>
+                <tr>
+                    <th>Create Date:</th>
+                    <td><?php echo Format::db_datetime($ticket->getCreateDate()); ?></td>
+                </tr>
+           </table>
+       </td>
+       <td width="50%">
+           <table class="infoTable" cellspacing="1" cellpadding="3" width="100%" border="0">
+               <tr>
+                   <th width="100">Name:</th>
+                   <td><?php echo ucfirst($ticket->getName()); ?></td>
+               </tr>
+               <tr>
+                   <th width="100">Email:</th>
+                   <td><?php echo Format::htmlchars($ticket->getEmail()); ?></td>
+               </tr>
+               <tr>
+                   <th>Phone:</th>
+                   <td><?php echo $ticket->getPhoneNumber(); ?></td>
+               </tr>
+            </table>
+       </td>
+    </tr>
+</table>
+<br>
+<h2>Subject:<?php echo Format::htmlchars($ticket->getSubject()); ?></h2>
+<br>
+<span class="Icon thread">Ticket Thread</span>
+<div id="ticketThread">
+<?php    
+if($ticket->getThreadCount() && ($messages = $ticket->getMessages())) {
+     
+    foreach($messages as $message) {?>
+    
+        <table class="message" cellspacing="0" cellpadding="1" width="800" border="0">
+        
+            <tr><th><?php echo Format::db_datetime($message['created']); ?></th></tr>
+            
+            <tr><td><?php echo Format::display($message['message']); ?></td></tr>
+            
+            <?php
+            
+            if($message['attachments'] && ($links=$ticket->getAttachmentsLinks($message['msg_id'],'M'))) { ?>
+            
+                <tr><td class="info"><?php echo $links; ?></td></tr>
+                
+            <?php
+            
+            } ?>
+            
+        </table>
+        <?php
+        if($message['responses'] && ($responses=$ticket->getResponses($message['msg_id']))) {
+           foreach($responses as $resp) {
+               $staff=$cfg->hideStaffName()?'staff':Format::htmlchars($resp['staff_name']);
+               ?>
+               <table class="response" cellspacing="0" cellpadding="1" width="100%" border="0">
+                <tr>
+                    <th><?php echo Format::db_datetime($resp['created']);?>&nbsp;-&nbsp;<?php echo $staff; ?></th>
+                </tr>
+                <tr><td><?php echo Format::display($resp['response']); ?></td></tr>
+                <?php
+                if($resp['attachments'] && ($links=$ticket->getAttachmentsLinks($resp['response_id'],'R'))) {?>
+                 <tr><td class="info"><?php echo $links; ?></td></tr>
+                <?php
+                 }?>
+                </table>
+            <?
+           }
+       }
+    }
+}
+?>
+</div>
+<div class="clear" style="padding-bottom:10px;"></div>
+<?php if($errors['err']) { ?>
+    <div id="msg_error"><?php echo $errors['err']; ?></div>
+<?php }elseif($msg) { ?>
+    <div id="msg_notice"><?php echo $msg; ?></div>
+<?php }elseif($warn) { ?>
+    <div id="msg_warning"><?php echo $warn; ?></div>
+<?php } ?>
+<form id="reply" action="tickets.php?id=<?php echo $ticket->getExtId(); ?>#reply" name="reply" method="post" enctype="multipart/form-data">
+    <h2>Post a Reply</h2>
+    <input type="hidden" name="id" value="<?php echo $ticket->getExtId(); ?>">
+    <input type="hidden" name="a" value="reply">
+    <table border="0" cellspacing="0" cellpadding="3" width="800">
+        <tr>
+            <td width="160">
+                <label>Message:</label>
+            </td>
+            <td width="640">
+                <?php
+                if($ticket->isClosed()) {
+                    $msg='<b>Ticket will be reopened on message post</b>';
+                } else {
+                    $msg='To best assist you, please be specific and detailed';
+                }
+                ?>
+                <span id="msg"><em><?php echo $msg; ?> </em></span><font class="error">*&nbsp;<?php echo $errors['message']; ?></font><br/>
+                <textarea name="message" id="message" cols="50" rows="9" wrap="soft"><?php echo $info['message']; ?></textarea>
+            </td>
+        </tr>
+        <?php
+        if($cfg->allowOnlineAttachments()) { ?>
+        <tr>
+            <td width="160">
+                <label for="attachment">Attachments:</label>
+            </td>
+            <td width="640" id="reply_form_attachments" class="attachments">
+                <div class="uploads">
+                </div>
+                <div class="file_input">
+                    <input type="file" name="attachments[]" size="30" value="" />
+                </div>
+            </td>
+        </tr>
+        <?php
+        } ?>
+    </table>
+    <p style="padding-left:165px;">
+        <input type="submit" value="Post Reply">
+        <input type="reset" value="Reset">
+        <input type="button" value="Cancel" onClick="history.go(-1)">
+    </p>
+</form>
diff --git a/include/staff/tickets.inc.php b/include/staff/tickets.inc.php
index ea3a59ced..d0b27690e 100644
--- a/include/staff/tickets.inc.php
+++ b/include/staff/tickets.inc.php
@@ -180,8 +180,8 @@ if(!$order_by && $showanswered) {
 }elseif(!$order_by && !strcasecmp($status,'closed')){
     $order_by='ticket.closed, ticket.created'; //No priority sorting for closed tickets.
 }
-$order_by =$order_by?$order_by:'priority_urgency,effective_date,ticket.created';
-$order=$order?$order:'DESC';
+$order_by =$order_by?$order_by:'priority_urgency, effective_date, ticket.created';
+$order=$order?$order:'ASC';
 
 if($order_by && strpos($order_by,','))
     $order_by=str_replace(','," $order,",$order_by);
@@ -351,7 +351,7 @@ $basic_display=!isset($_REQUEST['advance_search'])?true:false;
 <div class="clear"></div>
 <div style="margin-bottom:20px">
 <form action="tickets.php" method="POST" name='tickets' onSubmit="return checkbox_checker(this,1,0);">
- <a class="refresh" href="">Refresh</a>
+ <a class="refresh" href="<?php echo $_SERVER['REQUEST_URI']; ?>">Refresh</a>
  <input type="hidden" name="a" value="mass_process" >
  <input type="hidden" name="status" value="<?php echo $status; ?>" >
  <table class="list" border="0" cellspacing="1" cellpadding="2" width="940">
diff --git a/index.php b/index.php
index 95bdfa55d..ac4fe04a0 100644
--- a/index.php
+++ b/index.php
@@ -26,7 +26,7 @@ require(CLIENTINC_DIR.'header.inc.php');
 
     <div id="new_ticket">
         <h3>Open A New Ticket</h3>
-        <form method="link" action="open.php">  
+        <form method="get" action="open.php">  
             <div>Please provide as much detail as possible so we can best assist you. To update a previously submitted ticket, please login.</div>
             <input type="submit" value="Open a New Ticket">
         </form>
@@ -34,7 +34,7 @@ require(CLIENTINC_DIR.'header.inc.php');
 
     <div id="check_status">
         <h3>Check Ticket Status</h3>
-        <form class="status_form" action="login.php" method="get">
+        <form class="status_form" action="view.php" method="get">
             <div>We provide archives and history of all your current and past support requests complete with responses.</div>
             <input type="submit" value="Check Ticket Status">
         </form>
@@ -44,9 +44,8 @@ require(CLIENTINC_DIR.'header.inc.php');
 <?php
 if($cfg && $cfg->isKnowledgebaseEnabled()){ 
     //FIXME: provide ability to feature or select random FAQs ??
-    ?>
-<br>
-Be pure to browse our <a href="kb/index.php">Frequently Asked Questions (FAQs)</a>, before opening a ticket.
+?>
+<p>Be sure to browse our <a href="kb/index.php">Frequently Asked Questions (FAQs)</a>, before opening a ticket.</p>
 </div>
 <?php
 } ?>
diff --git a/js/osticket.js b/js/osticket.js
index fd04ff48c..a809e6f2f 100644
--- a/js/osticket.js
+++ b/js/osticket.js
@@ -1,79 +1 @@
-jQuery(function($) {
-    var max_uploads = 5;
-    var current_reply_uploads = 0;
-    var current_note_uploads = 0;
-
-    function parse_upload(elem) {
-        var new_input = elem.clone();
-        var filename = elem.val();
-        if(filename != '') {
-            var container = elem.parent().parent();
-            var form_type = container.attr('id');
-            elem.blur().hide();
-            $('.uploads', container).append('<div><label><input type="checkbox" name="uploads[]" value="' + filename + '" checked="checked"> ' + filename.replace('C:\\', '').replace('fakepath\\', '') + '</label></div>');
-            if(form_type=='reply_form_attachments') {
-                current_reply_uploads++;
-                if(current_reply_uploads < max_uploads) {
-                    elem.after(new_input.val('').blur());
-                } 
-            } else {
-                current_note_uploads++;
-                if(current_note_uploads < max_uploads) {
-                    elem.after(new_input.val('').blur());
-                } 
-            }
-        }
-    }
-
-    if($.browser.msie) {
-        $('.attachments').delegate('input[type=file]', 'click', function() {
-            var elem = $(this);
-            setTimeout(function() {
-                parse_upload(elem);
-                elem.blur();
-            }, 0);
-        });
-    } else {
-        $('.attachments').delegate('input[type=file]', 'change', function() {
-            var elem = $(this);
-            parse_upload(elem);
-        });
-    }
-
-    $('.uploads').delegate('.uploads input', 'click', function(e) {
-        e.preventDefault();
-        var elem = $(this);
-        elem.attr('checked', 'checked');
-        if(confirm("Are you sure you want to delete this attachment?")==true) {
-            var container = elem.parent().parent();
-            var cparent = container.parent().parent();
-            var form_type = cparent.attr('id');
-            var filename = elem.val();
-            $('input[type=file]', cparent).each(function() {
-                if($(this).val() == filename) {
-                    $(this).remove();
-                }
-            });
-            container.remove();
-            var new_input = $('input[type=file]:last', cparent).clone();
-            var last_elem = $('input[type=file]:last', cparent);
-            if(form_type=='reply_form_attachments') {
-                current_reply_uploads--;
-                if(current_reply_uploads < max_uploads) {
-                    if(last_elem.css('display')=='none') {
-                        last_elem.after(new_input.val('').show());
-                    }
-                } 
-            } else {
-                current_note_uploads--;
-                if(current_note_uploads < max_uploads) {
-                    if(last_elem.css('display')=='none') {
-                        last_elem.after(new_input.val('').show());
-                    }
-                } 
-            }
-        } else {
-            e.preventDefault();
-        }
-    });    
-});
\ No newline at end of file
+//Nothing for now...
diff --git a/login.php b/login.php
index 69a73c679..044d74644 100644
--- a/login.php
+++ b/login.php
@@ -1,6 +1,6 @@
 <?php
 /*********************************************************************
-    index.php
+    login.php
 
     Client Login 
 
@@ -41,9 +41,8 @@ if($_POST && (!empty($_POST['lemail']) && !empty($_POST['lticket']))):
         }
     }
     //See if we can fetch local ticket id associated with the ID given
-    if(!$errors && is_numeric($ticketID) && Validator::is_email($email) && ($tid=Ticket::getIdByExtId($ticketID))) {
+    if(!$errors && is_numeric($ticketID) && Validator::is_email($email) && ($ticket=Ticket::lookupByExtId($ticketID))) {
         //At this point we know the ticket is valid.
-        $ticket= new Ticket($tid);
         //TODO: 1) Check how old the ticket is...3 months max?? 2) Must be the latest 5 tickets?? 
         //Check the email given.
         if($ticket->getId() && strcasecmp($ticket->getEMail(),$email)==0){
@@ -61,7 +60,7 @@ if($_POST && (!empty($_POST['lemail']) && !empty($_POST['lticket']))):
             //Redirect tickets.php
             session_write_close();
             session_regenerate_id();
-            @header("Location: tickets.php");
+            @header("Location: tickets.php?id=".$ticket->getExtId());
             require_once('tickets.php'); //Just incase. of header already sent error.
             exit;
         }
diff --git a/open.php b/open.php
index a5d86d077..11d3a0a9d 100644
--- a/open.php
+++ b/open.php
@@ -19,22 +19,27 @@ $inc='open.inc.php';    //default include.
 $errors=array();
 if($_POST):
     $_POST['deptId']=$_POST['emailId']=0; //Just Making sure we don't accept crap...only topicId is expected.
-    if(!$thisuser && $cfg->enableCaptcha()){
+    if($thisclient) {
+        $_POST['name']=$thisclient->getName();
+        $_POST['email']=$thisclient->getEmail();
+    } elseif($cfg->enableCaptcha()) {
         if(!$_POST['captcha'])
             $errors['captcha']='Enter text shown on the image';
         elseif(strcmp($_SESSION['captcha'],md5($_POST['captcha'])))
             $errors['captcha']='Invalid - try again!';
     }
 
-    //FIXME: Allow logged in users to use diff email?
-    if($thisuser && strcasecmp($thisuser->getEmail(),$_POST['email']))
-        $errors['email']='Email mismatch.';
-
     //Ticket::create...checks for errors..
     if(($ticket=Ticket::create($_POST,$errors,SOURCE))){
         $msg='Support ticket request created';
-        if($thisclient && $thisclient->isValid()) //Logged in...simply view the newly created ticket.
+        //Logged in...simply view the newly created ticket.
+        if($thisclient && $thisclient->isValid()) {
+            if(!$cfg->showRelatedTickets())
+                $_SESSION['_client']['key']= $ticket->getExtId(); //Resetting login Key to the current ticket!
+            session_write_close();
+            session_regenerate_id();
             @header('Location: tickets.php?id='.$ticket->getExtId());
+        }
         //Thank the user and promise speedy resolution!
         $inc='thankyou.inc.php';
     }else{
diff --git a/secure.inc.php b/secure.inc.php
index f6664ab81..3096b3503 100644
--- a/secure.inc.php
+++ b/secure.inc.php
@@ -13,7 +13,7 @@
 
     vim: expandtab sw=4 ts=4 sts=4:
 **********************************************************************/
-if(!strcasecmp(basename($_SERVER['SCRIPT_NAME']),basename(__FILE__))) die('Kwaheri rafiki!');
+if(!strcasecmp(basename($_SERVER['SCRIPT_NAME']),basename(__FILE__))) die('Kwaheri!');
 if(!file_exists('client.inc.php')) die('Fatal Error.');
 require_once('client.inc.php');
 //User must be logged in!
diff --git a/tickets.php b/tickets.php
index 072abef7d..d4759ba52 100644
--- a/tickets.php
+++ b/tickets.php
@@ -16,59 +16,57 @@
 **********************************************************************/
 require('secure.inc.php');
 if(!is_object($thisclient) || !$thisclient->isValid()) die('Access denied'); //Double check again.
-
 require_once(INCLUDE_DIR.'class.ticket.php');
 $ticket=null;
-$inc='tickets.inc.php'; //Default page...show all tickets.
-//Check if any id is given...
-if(($id=$_REQUEST['id']?$_REQUEST['id']:$_POST['ticket_id']) && is_numeric($id)) {
-    //id given fetch the ticket info and check perm.
-    $ticket= new Ticket(Ticket::getIdByExtId((int)$id));
-    if(!$ticket or !$ticket->getEmail()) {
-        $ticket=null; //clear.
-        $errors['err']='Access Denied. Possibly invalid ticket ID';
-    }elseif(strcasecmp($thisclient->getEmail(),$ticket->getEmail())){
-        $errors['err']='Security violation. Repeated violations will result in your account being locked.';
-        $ticket=null; //clear.
-    }else{
-        //Everything checked out.
-        $inc='viewticket.inc.php';
+if($_REQUEST['id']) {
+    if(!($ticket=Ticket::lookupByExtId($_REQUEST['id']))) {
+        $errors['err']='Unknown or invalid ticket ID.';
+    }elseif(!$ticket->checkClientAccess($thisclient)) {
+        $errors['err']='Unknown or invalid ticket ID.'; //Using generic message on purpose!
+        $ticket=null;
     }
 }
+
 //Process post...depends on $ticket object above.
 if($_POST && is_object($ticket) && $ticket->getId()):
     $errors=array();
     switch(strtolower($_POST['a'])){
-    case 'postmessage':
-        if(strcasecmp($thisclient->getEmail(),$ticket->getEmail())) { //double check perm again!
+    case 'reply':
+        if(!$ticket->checkClientAccess($thisclient)) //double check perm again!
             $errors['err']='Access Denied. Possibly invalid ticket ID';
-            $inc='tickets.inc.php'; //Show the tickets.               
-        }
 
         if(!$_POST['message'])
             $errors['message']='Message required';
+
         //check attachment..if any is set
-        if($_FILES['attachment']['name']) {
-            if(!$cfg->allowOnlineAttachments()) //Something wrong with the form...user shouldn't have an option to attach
-                $errors['attachment']='File [ '.$_FILES['attachment']['name'].' ] rejected';
-            elseif(!$cfg->canUploadFileType($_FILES['attachment']['name']))
-                $errors['attachment']='Invalid file type [ '.$_FILES['attachment']['name'].' ]';
-            elseif($_FILES['attachment']['size']>$cfg->getMaxFileSize())
-                $errors['attachment']='File is too big. Max '.$cfg->getMaxFileSize().' bytes allowed';
+        $files=($cfg->allowOnlineAttachments() && $_FILES['attachments'])?Format::files($_FILES['attachments']):array();
+        if($files) {
+
+            foreach($files as $file) {
+                if(!$file['name']) continue;
+
+                if(!$cfg->canUploadFileType($file['name']))
+                    $errors['attachment']='Invalid file type [ '.$file['name'].' ]';
+                elseif($file['size']>$cfg->getMaxFileSize())
+                    $errors['attachment']='File '.$file['name'].'is too big. Max '.$cfg->getMaxFileSize().' bytes allowed';
+            }
         }
                     
         if(!$errors){
             //Everything checked out...do the magic.
             if(($msgid=$ticket->postMessage($_POST['message'],'Web'))) {
-                if($_FILES['attachment']['name'] && $cfg->canUploadFiles() && $cfg->allowOnlineAttachments())
-                    $ticket->uploadAttachment($_FILES['attachment'],$msgid,'M');
-                    
+                if($files && $cfg->allowOnlineAttachments())
+                    $ticket->uploadAttachments($files,$msgid,'M');
+
                 $msg='Message Posted Successfully';
-            }else{
+            } else {
                 $errors['err']='Unable to post the message. Try again';
             }
-        }else{
-            $errors['err']=$errors['err']?$errors['err']:'Error(s) occured. Please try again';
+
+        } elseif(!$errors['err']) {
+            print_r($errors);
+            $errors['err']='Error(s) occurred. Please try again';
+           
         }
         break;
     default:
@@ -76,6 +74,15 @@ if($_POST && is_object($ticket) && $ticket->getId()):
     }
     $ticket->reload();
 endif;
+$nav->setActiveNav('tickets');
+if($ticket && $ticket->checkClientAccess($thisclient)) {
+    $inc='view.inc.php';
+} elseif($cfg->showRelatedTickets() && $thisclient->getNumTickets()) {
+    $inc='tickets.inc.php';
+} else {
+    $nav->setActiveNav('new');
+    $inc='open.inc.php';
+}
 include(CLIENTINC_DIR.'header.inc.php');
 include(CLIENTINC_DIR.$inc);
 include(CLIENTINC_DIR.'footer.inc.php');
diff --git a/view.php b/view.php
index b8be15b04..984b04c30 100644
--- a/view.php
+++ b/view.php
@@ -1,4 +1,21 @@
 <?php
+/*********************************************************************
+    view.php
+
+    Ticket View.
+
+    Peter Rotich <peter@osticket.com>
+    Copyright (c)  2006-2010 osTicket
+    http://www.osticket.com
+
+    Released under the GNU General Public License WITHOUT ANY WARRANTY.
+    See LICENSE.TXT for details.
+
+    vim: expandtab sw=4 ts=4 sts=4:
+    $Id: $
+**********************************************************************/
+require('secure.inc.php');
+if(!is_object($thisclient) || !$thisclient->isValid()) die('Access denied'); //Double check again.
 //We are now using tickets.php but we need to keep view.php for backward compatibility
 require('tickets.php');
 ?>
-- 
GitLab