Example #1
0
 function display($tpl = null)
 {
     $autologin = FSS_Input::getCmd('login');
     if ($autologin != "") {
         FSS_Helper::AutoLogin($autologin);
     }
     if (!FSS_Permission::auth("fss.ticket.view", "com_fss.support_user") && !FSS_Permission::auth("fss.ticket.open", "com_fss.support_user")) {
         return FSS_Helper::NoPerm();
     }
     $session = JFactory::getSession();
     $user = JFactory::getUser();
     $this->userid = $user->get('id');
     $this->ticket = null;
     $this->assign('tmpl', '');
     $what = FSS_Input::getCmd('what');
     $layout = FSS_Input::getCmd('layout');
     $this->ticket_view = FSS_Input::getCmd('tickets');
     if (!$this->ticket_view && FSS_Settings::get('support_simple_userlist_tabs')) {
         $this->ticket_view = "all";
     }
     // reset the login and password
     if ($what == "reset") {
         $session->clear('ticket_email');
         $session->clear('ticket_reference');
         $session->clear('ticket_name');
         $session->clear('ticket_pass');
     }
     if ($what == "unreg_passlist") {
         return $this->Unreg_Passlist();
     }
     if ($what == "addccuser") {
         return $this->AddCCUser();
     }
     if ($what == "removeccuser") {
         return $this->RemoveCCUser();
     }
     if ($what == "pickccuser") {
         return $this->PickCCUser();
     }
     // should we display the edit field screen
     if ($what == 'editfield') {
         return $this->EditField();
     }
     // save an edited field and continue what we were doing afterwards
     if ($what == 'savefield') {
         if ($this->SaveField()) {
             return;
         }
     }
     FSS_Helper::AddSCEditor();
     // check for product search ajax display
     if (FSS_Input::getString('prodsearch') != "") {
         return $this->searchProducts();
     }
     if (FSS_Input::getString('deptsearch') != "") {
         return $this->searchDepartments();
     }
     // page to hunt for unregistered ticket
     if ($what == "find") {
         return $this->findTicket();
     }
     // save status changes
     if ($what == "statuschange") {
         return $this->saveStatusChanges();
     }
     // save any replys
     if ($what == 'savereply') {
         return $this->saveReply();
     }
     // save any replys
     if ($what == 'messages') {
         return $this->showMessages();
     }
     // process any file downloads
     $fileid = FSS_Input::getInt('fileid');
     if ($fileid > 0) {
         $ticketid = FSS_Input::GetInt('ticketid');
         if ($what == 'attach_thumb') {
             return SupportHelper::attachThumbnail($ticketid, $fileid, true);
         } else {
             return SupportHelper::attachDownload($ticketid, $fileid, true);
         }
     }
     $this->count = $this->get('TicketCount');
     // handle opening ticket
     if ($layout == "open") {
         return $this->doOpenTicket();
     }
     // handel ticket reply
     if ($layout == "reply") {
         return $this->doUserReply();
     }
     // display ticket list / ticket
     return $this->doDisplayTicket();
 }