viewticket.inc.php
<?php
//Note that ticket is initiated in tickets.php.
if(!defined('OSTSCPINC') || !@$thisuser->isStaff() || !is_object($ticket) ) die('Invalid path');
if(!$ticket->getId() or (!$thisuser->canAccessDept($ticket->getDeptId()) and $thisuser->getId()!=$ticket->getStaffId())) die('Access Denied');
$info=($_POST && $errors)?Format:($_POST)(); //Re-use the post info on error...savekeyboards.org
//Auto-lock the ticket if locking is enabled..if locked already simply renew it.
if($cfg->getLockTime() && !$ticket->acquireLock())
$warn.='Unable to obtain a lock on the ticket';
//We are ready baby...lets roll. Akon rocks!
$dept = $ticket->getDept(); //Dept
$staff = $ticket->getStaff(); //Assiged staff.
$lock = $ticket->getLock(); //Ticket lock obj
$id=$ticket->getId(); //Ticket ID.
if($staff)
$warn.=' Ticket is assigned to '.$staff->getName().'';
if(!$errors && ($lock && $lock->getStaffId()!=$thisuser->getId()))
$errors='This ticket is currently locked by another staff member!';
if(!$errors && ($emailBanned=BanList:($ticket->getEmail())))
$errors='Email is in banlist! Must be removed before any reply/response';
if($ticket->isOverdue())
$warn.=' Marked overdue!';
?>
Ticket #<?=$ticket->getExtId()?> " title="Reload">
<? if($thisuser->canEditTickets() || ($thisuser->isManager() && $dept->getId()==$thisuser->getDeptId())) { ?>
&a=edit" title="Edit Ticket" class="Icon editTicket">Edit Ticket
<?}?>
Status:
<?=$ticket->getStatus()?>
Priority:
<?=$ticket->getPriority()?>
Department:
<?=Format:($ticket->getDeptName())?>
Create Date:
<?=Format:($ticket->getCreateDate())?>
Name:
<?=Format:($ticket->getName())?>
Email:
<?php
echo $ticket->getEmail();
if(($related=$ticket->getRelatedTicketsCount())) {
echo sprintf(' (%d)',
urlencode($ticket->getEmail()),$related);
}
?>
Phone:
<?=Format:($ticket->getPhoneNumber())?>
Source:
<?=$ticket->getSource()?>
Subject: <?=Format:($ticket->getSubject())?>
Assigned Staff:
<?=$staff?Format:($staff->getName()):'- unassigned -'?>
Last Response:
<?=Format:($ticket->getLastResponseDate())?>
<?php
if($ticket->isOpen()){ ?>
Due Date:
<?=Format:($ticket->getDueDate())?>
<?php
}else { ?>
Close Date:
<?=Format:($ticket->getCloseDate())?>
<?php
}
?>
Help Topic:
<?
$ht=$ticket->getHelpTopic();
echo Format:($ht?$ht:'N/A');
?>
IP Address:
<?=$ticket->getIP()?>
Last Message:
<?=Format:($ticket->getLastMessageDate())?>
<?if($errors && $_POST=='process') {?>
<?=$errors?>
<?}elseif($msg && $_POST=='process' || $_POST=='update' ) {?>
<?=$msg?>
<?}elseif($warn) {?>
<?=$warn?>
<?}?>
<?
//Ticket adminstrative options...admin,managers and staff with manage perm allowed.
if($thisuser->canManageTickets() || $thisuser->isManager()){ ?>
' method=post class="inline" >
"/>
Action:
onChange="this.form.ticket_priority.disabled=strcmp(this.options.value,'change_priority','reopen','overdue')?false;">
Select Action
>Change Priority
<?if(!$ticket->isoverdue()){ ?>
>Mark Overdue
<?}?>
<?if($ticket->isAssigned()){ ?>
>Release (unassign)
<?}?>
<?if($thisuser->canCloseTickets()){
//if you can close a ticket...reopening it is given.
if($ticket->isOpen()){?>
>Close Ticket
<?}else{?>
>Reopen Ticket
<?}
}?>
<?php
if($thisuser->canManageBanList()) {
if(!$emailBanned) {?>
Ban Email <?=$ticket->isOpen()?'& Close':''?>
<?}else{?>
Un-Ban Email
<?}
}?>
<?if($thisuser->canDeleteTickets()){ //oooh...fear the deleters! ?>
Delete Ticket
<?}?>
Priority:
>
-Unchanged-
<?
$priorityId=$ticket->getPriorityId();
$resp=db_query('SELECT priority_id,priority_desc FROM '.TICKET_PRIORITY_TABLE);
while($row=db_fetch_array($resp)){ ?>
" <?=$priorityId==$row?'disabled':''?> ><?=$row?>
<?}?>
<?}?>
<?
//Internal Notes