Server IP : 184.154.167.98 / Your IP : 13.59.130.154 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 8.2.26 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/puertode/public_html/mesa/include/client/ |
Upload File : |
<?php if(!defined('OSTCLIENTINC') || !$thisclient || !$ticket || !$ticket->checkUserAccess($thisclient)) die('Access Denied!'); $info=($_POST && $errors)?Format::htmlchars($_POST):array(); $type = array('type' => 'viewed'); Signal::send('object.view', $ticket, $type); $dept = $ticket->getDept(); if ($ticket->isClosed() && !$ticket->isReopenable()) $warn = sprintf(__('%s is marked as closed and cannot be reopened.'), __('This ticket')); //Making sure we don't leak out internal dept names if(!$dept || !$dept->isPublic()) $dept = $cfg->getDefaultDept(); if ($thisclient && $thisclient->isGuest() && $cfg->isClientRegistrationEnabled()) { ?> <div id="msg_info"> <i class="icon-compass icon-2x pull-left"></i> <strong><?php echo __('Looking for your other tickets?'); ?></strong><br /> <a href="<?php echo ROOT_PATH; ?>login.php?e=<?php echo urlencode($thisclient->getEmail()); ?>" style="text-decoration:underline"><?php echo __('Sign In'); ?></a> <?php echo sprintf(__('or %s register for an account %s for the best experience on our help desk.'), '<a href="account.php?do=create" style="text-decoration:underline">','</a>'); ?> </div> <?php } ?> <table width="800" cellpadding="1" cellspacing="0" border="0" id="ticketInfo"> <tr> <td colspan="2" width="100%"> <h1> <a href="tickets.php?id=<?php echo $ticket->getId(); ?>" title="<?php echo __('Reload'); ?>"><i class="refresh icon-refresh"></i></a> <b> <?php $subject_field = TicketForm::getInstance()->getField('subject'); echo $subject_field->display($ticket->getSubject()); ?> </b> <small>#<?php echo $ticket->getNumber(); ?></small> <div class="pull-right"> <a class="action-button" href="tickets.php?a=print&id=<?php echo $ticket->getId(); ?>"><i class="icon-print"></i> <?php echo __('Print'); ?></a> <?php if ($ticket->hasClientEditableFields() // Only ticket owners can edit the ticket details (and other forms) && $thisclient->getId() == $ticket->getUserId()) { ?> <a class="action-button" href="tickets.php?a=edit&id=<?php echo $ticket->getId(); ?>"><i class="icon-edit"></i> <?php echo __('Edit'); ?></a> <?php } ?> </div> </h1> </td> </tr> <tr> <td width="50%"> <table class="infoTable" cellspacing="1" cellpadding="3" width="100%" border="0"> <thead> <tr><td class="headline" colspan="2"> <?php echo __('Basic Ticket Information'); ?> </td></tr> </thead> <tr> <th width="100"><?php echo __('Ticket Status');?>:</th> <td><?php echo ($S = $ticket->getStatus()) ? $S->getLocalName() : ''; ?></td> </tr> <tr> <th><?php echo __('Department');?>:</th> <td><?php echo Format::htmlchars($dept instanceof Dept ? $dept->getName() : ''); ?></td> </tr> <tr> <th><?php echo __('Create Date');?>:</th> <td><?php echo Format::datetime($ticket->getCreateDate()); ?></td> </tr> </table> </td> <td width="50%"> <table class="infoTable" cellspacing="1" cellpadding="3" width="100%" border="0"> <thead> <tr><td class="headline" colspan="2"> <?php echo __('User Information'); ?> </td></tr> </thead> <tr> <th width="100"><?php echo __('Name');?>:</th> <td><?php echo mb_convert_case(Format::htmlchars($ticket->getName()), MB_CASE_TITLE); ?></td> </tr> <tr> <th width="100"><?php echo __('Email');?>:</th> <td><?php echo Format::htmlchars($ticket->getEmail()); ?></td> </tr> <tr> <th><?php echo __('Phone');?>:</th> <td><?php echo $ticket->getPhoneNumber(); ?></td> </tr> </table> </td> </tr> <tr> <td colspan="2"> <!-- Custom Data --> <?php $sections = $forms = array(); foreach (DynamicFormEntry::forTicket($ticket->getId()) as $i=>$form) { // Skip core fields shown earlier in the ticket view $answers = $form->getAnswers()->exclude(Q::any(array( 'field__flags__hasbit' => DynamicFormField::FLAG_EXT_STORED, 'field__name__in' => array('subject', 'priority'), Q::not(array('field__flags__hasbit' => DynamicFormField::FLAG_CLIENT_VIEW)), ))); // Skip display of forms without any answers foreach ($answers as $j=>$a) { if ($v = $a->display()) $sections[$i][$j] = array($v, $a); } // Set form titles $forms[$i] = $form->getTitle(); } foreach ($sections as $i=>$answers) { ?> <table class="custom-data" cellspacing="0" cellpadding="4" width="100%" border="0"> <tr><td colspan="2" class="headline flush-left"><?php echo $forms[$i]; ?></th></tr> <?php foreach ($answers as $A) { list($v, $a) = $A; ?> <tr> <th><?php echo $a->getField()->get('label'); ?>:</th> <td><?php echo $v; ?></td> </tr> <?php } ?> </table> <?php } ?> </td> </tr> </table> <br> <?php $email = $thisclient->getUserName(); $clientId = TicketUser::lookupByEmail($email)->getId(); $ticket->getThread()->render(array('M', 'R', 'user_id' => $clientId), array( 'mode' => Thread::MODE_CLIENT, 'html-id' => 'ticketThread') ); if ($blockReply = $ticket->isChild() && $ticket->getMergeType() != 'visual') $warn = sprintf(__('This Ticket is Merged into another Ticket. Please go to the %s%d%s to reply.'), '<a href="tickets.php?id=', $ticket->getPid(), '" style="text-decoration:underline">Parent</a>'); ?> <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 } if ((!$ticket->isClosed() || $ticket->isReopenable()) && !$blockReply) { ?> <form id="reply" action="tickets.php?id=<?php echo $ticket->getId(); ?>#reply" name="reply" method="post" enctype="multipart/form-data"> <?php csrf_token(); ?> <h2><?php echo __('Post a Reply');?></h2> <input type="hidden" name="id" value="<?php echo $ticket->getId(); ?>"> <input type="hidden" name="a" value="reply"> <div> <p><em><?php echo __('To best assist you, we request that you be specific and detailed'); ?></em> <font class="error">* <?php echo $errors['message']; ?></font> </p> <textarea name="<?php echo $messageField->getFormName(); ?>" id="message" cols="50" rows="9" wrap="soft" class="<?php if ($cfg->isRichTextEnabled()) echo 'richtext'; ?> draft" <?php list($draft, $attrs) = Draft::getDraftAndDataAttrs('ticket.client', $ticket->getId(), $info['message']); echo $attrs; ?>><?php echo $draft ?: $info['message']; ?></textarea> <?php if ($messageField->isAttachmentsEnabled()) { print $attachments->render(array('client'=>true)); } ?> </div> <?php if ($ticket->isClosed() && $ticket->isReopenable()) { ?> <div class="warning-banner"> <?php echo __('Ticket will be reopened on message post'); ?> </div> <?php } ?> <p style="text-align:center"> <input type="submit" value="<?php echo __('Post Reply');?>"> <input type="reset" value="<?php echo __('Reset');?>"> <input type="button" value="<?php echo __('Cancel');?>" onClick="history.go(-1)"> </p> </form> <?php } ?> <script type="text/javascript"> <?php // Hover support for all inline images $urls = array(); foreach (AttachmentFile::objects()->filter(array( 'attachments__thread_entry__thread__id' => $ticket->getThreadId(), 'attachments__inline' => true, )) as $file) { $urls[strtolower($file->getKey())] = array( 'download_url' => $file->getDownloadUrl(['type' => 'H']), 'filename' => $file->name, ); } ?> showImagesInline(<?php echo JsonDataEncoder::encode($urls); ?>); </script>