1{if $invalidTicketId}
2 {include file="$template/includes/alert.tpl" type="danger" title=$LANG.thereisaproblem msg=$LANG.supportticketinvalid textcenter=true}
3{else}
4 {if $closedticket}
5 {include file="$template/includes/alert.tpl" type="warning" msg=$LANG.supportticketclosedmsg textcenter=true}
6 {/if}
7
8 {if $errormessage}
9 {include file="$template/includes/alert.tpl" type="error" errorshtml=$errormessage}
10 {/if}
11{/if}
12
13{if !$invalidTicketId}
14 <div class="panel panel-info panel-collapsable{if !$postingReply} panel-collapsed{/if} hidden-print">
15 {if !$closedticket}<div class="panel-heading" id="ticketReply">
16 <div class="collapse-icon pull-right">
17 <i class="fas fa-{if !$postingreply}plus{else}minus{/if}"></i>
18 </div>
19 <h3 class="panel-title">
20 <i class="fas fa-pencil-alt"></i> {$LANG.supportticketsreply}
21 </h3>
22 </div>{/if}
23 <div class="panel-body{if !$postingReply} panel-body-collapsed{/if}">
24
25 <form method="post" action="{$smarty.server.PHP_SELF}?tid={$tid}&c={$c}&postreply=true" enctype="multipart/form-data" role="form" id="frmReply">
26
27 <div class="row">
28 <div class="form-group col-sm-4">
29 <label for="inputName">{$LANG.supportticketsclientname}</label>
30 <input class="form-control" type="text" name="replyname" id="inputName" value="{$replyname}"{if $loggedin} disabled="disabled"{/if}>
31 </div>
32 <div class="form-group col-sm-5">
33 <label for="inputEmail">{$LANG.supportticketsclientemail}</label>
34 <input class="form-control" type="text" name="replyemail" id="inputEmail" value="{$replyemail}"{if $loggedin} disabled="disabled"{/if}>
35 </div>
36 </div>
37
38 <div class="form-group">
39 <label for="inputMessage">{$LANG.contactmessage}</label>
40 <textarea name="replymessage" id="inputMessage" rows="12" class="form-control markdown-editor" data-auto-save-name="ctr{$tid}">{$replymessage}</textarea>
41 </div>
42
43 <div class="row form-group">
44 <div class="col-sm-12">
45 <label for="inputAttachments">{$LANG.supportticketsticketattachments}</label>
46 </div>
47 <div class="col-sm-9">
48 <input type="file" name="attachments[]" id="inputAttachments" class="form-control" />
49 <div id="fileUploadsContainer"></div>
50 </div>
51 <div class="col-sm-3">
52 <button type="button" class="btn btn-default btn-block" onclick="extraTicketAttachment()">
53 <i class="fas fa-plus"></i> {$LANG.addmore}
54 </button>
55 </div>
56 <div class="col-xs-12 ticket-attachments-message text-muted">
57 {$LANG.supportticketsallowedextensions}: {$allowedfiletypes} ({lang key="maxFileSize" fileSize="$uploadMaxFileSize"})
58 </div>
59 </div>
60
61 <div class="form-group text-center">
62 <input class="btn btn-primary" type="submit" name="save" value="{$LANG.supportticketsticketsubmit}" />
63 <input class="btn btn-default" type="reset" value="{$LANG.cancel}" onclick="jQuery('#ticketReply').click()" />
64 </div>
65
66 </form>
67
68 </div>
69 </div>
70 <div class="panel panel-info visible-print-block">
71 <div class="panel-heading">
72 <h3 class="panel-title">
73 {$LANG.ticketinfo}
74 </h3>
75 </div>
76 <div class="panel-body container-fluid">
77 <div class="row">
78 <div class="col-md-2 col-xs-6">
79 <b>{$LANG.supportticketsticketid}</b><br />{$tid}
80 </div>
81 <div class="col-md-4 col-xs-6">
82 <b>{$LANG.supportticketsticketsubject}</b><br />{$subject}
83 </div>
84 <div class="col-md-2 col-xs-6">
85 <b>{$LANG.supportticketspriority}</b><br />{$urgency}
86 </div>
87 <div class="col-md-4 col-xs-6">
88 <b>{$LANG.supportticketsdepartment}</b><br />{$department}
89 </div>
90 </div>
91 </div>
92 </div>
93
94 {foreach $descreplies as $reply}
95 <div class="ticket-reply markdown-content{if $reply.admin} staff{/if}">
96 <div class="date">
97 {$reply.date}
98 </div>
99 <div class="user">
100 <i class="fas fa-user"></i>
101 <span class="name">
102 {$reply.requestor.name}
103 <span class="label requestor-type-{$reply.requestor.type_normalised}">
104 {if $reply.requestor.type_normalised eq 'operator'}
105 {lang key='support.requestor.operator'}
106 {elseif $reply.requestor.type_normalised eq 'owner'}
107 {lang key='support.requestor.owner'}
108 {elseif $reply.requestor.type_normalised eq 'authorizeduser'}
109 {lang key='support.requestor.authorizeduser'}
110 {elseif $reply.requestor.type_normalised eq 'registereduser'}
111 {lang key='support.requestor.registereduser'}
112 {elseif $reply.requestor.type_normalised eq 'subaccount'}
113 {lang key='support.requestor.subaccount'}
114 {elseif $reply.requestor.type_normalised eq 'guest'}
115 {lang key='support.requestor.guest'}
116 {/if}
117 </span>
118 </span>
119 <span class="type">
120 {if $reply.admin}
121 {$LANG.supportticketsstaff}
122 {else}
123 {$reply.requestor.email}
124 {/if}
125 </span>
126 </div>
127 <div class="message">
128 {$reply.message}
129 {if $reply.ipaddress}
130 <hr>
131 {lang key='support.ipAddress'}: {$reply.ipaddress}
132 {/if}
133 {if $reply.id && $reply.admin && $ratingenabled}
134 <div class="clearfix">
135 {if $reply.rating}
136 <div class="rating-done">
137 {for $rating=1 to 5}
138 <span class="star{if (5 - $reply.rating) < $rating} active{/if}"></span>
139 {/for}
140 <div class="rated">{$LANG.ticketreatinggiven}</div>
141 </div>
142 {else}
143 <div class="rating" ticketid="{$tid}" ticketkey="{$c}" ticketreplyid="{$reply.id}">
144 <span class="star" rate="5"></span>
145 <span class="star" rate="4"></span>
146 <span class="star" rate="3"></span>
147 <span class="star" rate="2"></span>
148 <span class="star" rate="1"></span>
149 </div>
150 {/if}
151 </div>
152 {/if}
153 </div>
154 {if $reply.attachments}
155 <div class="attachments">
156 <strong>{$LANG.supportticketsticketattachments} ({$reply.attachments|count})</strong>
157 {if $reply.attachments_removed}({lang key='support.attachmentsRemoved'}){/if}
158 <ul>
159 {foreach $reply.attachments as $num => $attachment}
160 {if $reply.attachments_removed}
161 <li>
162 <i class="far fa-file-minus"></i>
163 {$attachment}
164 </li>
165 {else}
166 <li>
167 <i class="far fa-file"></i>
168 <a href="dl.php?type={if $reply.id}ar&id={$reply.id}{else}a&id={$id}{/if}&i={$num}">
169 {$attachment}
170 </a>
171 </li>
172 {/if}
173
174 {/foreach}
175 </ul>
176 </div>
177 {/if}
178 </div>
179 {/foreach}
180{/if}
181