/** * Creates new post in this ticket. * WARNING: Data is not sent to Kayako unless you explicitly call create() on this method's result. * * @param kyUser|kyStaff $creator Creator (User or Staff) of new post. * @param string $contents Contents of new post. * @return kyTicketPost */ public function newPost($creator, $contents) { return kyTicketPost::createNew($this, $creator, $contents); }
/** * Creates new ticket post. * WARNING: Data is not sent to Kayako unless you explicitly call create() on this method's result. * * @param kyTicket $ticket Ticket in which to create the post. * @param kyUser|kyStaff $creator Creator (User or Staff) of new post. * @param string $contents Contents of new post. * @return kyTicketPost */ public static function createNew($ticket, $creator, $contents) { $new_ticket_post = new kyTicketPost(); $new_ticket_post->setTicket($ticket); $new_ticket_post->setCreator($creator); $new_ticket_post->setContents($contents); return $new_ticket_post; }
/** * Creates new attachment for ticket post with contents read from physical file. * WARNING: Data is not sent to Kayako unless you explicitly call create() on this method's result. * * @param kyTicketPost $ticket_post Ticket post. * @param string $file_path Path to file. * @param string $file_name Optional. Use to set filename other than physical file. * @return kyTicketAttachment */ public static function createNewFromFile($ticket_post, $file_path, $file_name = null) { $new_ticket_attachment = new kyTicketAttachment(); $new_ticket_attachment->setTicketId($ticket_post->getTicketId()); $new_ticket_attachment->setTicketPostId($ticket_post->getId()); $new_ticket_attachment->setContentsFromFile($file_path, $file_name); return $new_ticket_attachment; }
$_ticketContainer['priority'] = $_ticketObject->getPriority()->getTitle(); $_ticketContainer['prioritybgcolor'] = $_ticketObject->getPriority()->getBackgroundColor(); $_ticketContainer['userid'] = $_ticketObject->getUserId(); $_ticketContainer['tickettypeid'] = $_ticketObject->getTypeId(); $_ticketContainer['type'] = $_ticketObject->getType()->getTitle(); $_ticketContainer['userid'] = $_ticketObject->getUserId(); $_ticketContainer['fullname'] = $_ticketObject->getFullName(); $_ticketContainer['email'] = $_ticketObject->getEmail(); $_ticketContainer['ownerstaffid'] = $_ticketObject->getOwnerStaffId(); $_ticketContainer['owner'] = $_ticketObject->getOwnerStaffName(); $_ticketContainer['lastreplier'] = $_ticketObject->getLastReplier(); $_ticketContainer['subject'] = $_ticketObject->getSubject(); $_ticketContainer['dateline'] = $_ticketObject->getCreationTime(); $_ticketContainer['lastactivity'] = $_ticketObject->getLastActivity(); //Get ticket posts $_ticketPostObjectContainer = kyTicketPost::getAll($_ticketContainer['ticketid']); $_ticketPostContainer = array(); foreach ($_ticketPostObjectContainer as $_ticketPostObject) { $_ticketPost['ticketpostid'] = $_ticketPostObject->getId(); $_ticketPost['ticketid'] = $_ticketPostObject->getTicketId(); $_ticketPost['dateline'] = $_ticketPostObject->getDateline(); $_ticketPost['userid'] = $_ticketPostObject->getUserId(); $_ticketPost['fullname'] = $_ticketPostObject->getFullName(); $_ticketPost['email'] = $_ticketPostObject->getEmail(); $_ticketPost['emailto'] = $_ticketPostObject->getEmailTo(); $_ticketPost['subject'] = $_ticketPostObject->getSubject(); $_ticketPost['ipaddress'] = $_ticketPostObject->getIPAddress(); $_ticketPost['hasattachments'] = $_ticketPostObject->getHasAttachments(); $_ticketPost['creator'] = $_ticketPostObject->getCreatorType(); $_ticketPost['isthirdparty'] = $_ticketPostObject->getIsThirdParty(); $_ticketPost['ishtml'] = $_ticketPostObject->getIsHTML();
/** * Creates a new Ticket Post * * @param array $data * @param int $_ticketID * @param string $userEmail * * @return object $_ticketPost */ public function createTicketPost($data, $_ticketID, $userEmail) { $_User = Mage::getModel("client/user"); $_userDetails = $_User->getUser($userEmail); $_ticketObject = $this->getTicketDetails($_ticketID); $_ticketPost = kyTicketPost::createNew($_ticketObject, $_userDetails, $data['ticketmessage'])->create(); return $_ticketPost; }
$_ticketPriority['type'] = $_ticketPriorityObject->getType(); $_ticketPriority['frcolorcode'] = $_ticketPriorityObject->getForegroundColor(); $_ticketPriority['bgcolorcode'] = $_ticketPriorityObject->getBackgroundColor(); $_ticketPriority['displayicon'] = $_ticketPriorityObject->getDisplayIcon(); $_ticketPriority['uservisibilitycustom'] = $_ticketPriorityObject->getUserVisibilityCustom(); $_ticketPriorityContainer[$_ticketPriorityObject->getId()] = $_ticketPriority; } if (isset($_GET['aid'])) { $_ticketAttachment = kyTicketAttachment::get($_GET['tid'], $_GET['aid']); Download($_ticketAttachment->getFileName(), $_ticketAttachment->getContents()); } else { if ($_GET['action'] == 'reply') { $_user = kyUser::search($clientsdetails['email']); $_user = $_user[0]; $_ticketObject = kyTicket::get($_GET['ticketid']); $_ticketPost = kyTicketPost::createNew($_ticketObject, $_user, $_POST['replycontents'])->create(); //Save ticket post attachments foreach ($_FILES['ticketattachments']['tmp_name'] as $_key => $_ticketAttachment) { kyTicketAttachment::createNewFromFile($_ticketPost, $_ticketAttachment, $_FILES['ticketattachments']['name'][$_key])->create(); } header('Location: ' . WHMCS_URL . 'viewticket.php?ticketid=' . $_GET['ticketid']); } else { if ($_REQUEST['action'] == 'update') { require_once 'updateticket.php'; header('Location: ' . WHMCS_URL . 'viewticket.php?ticketid=' . $_GET['ticketid']); } else { require_once 'ticketview.php'; } } } $smarty->assign('_ticketPriorityContainer', $_ticketPriorityContainer);