mirror of
https://github.com/openvk/openvk
synced 2024-11-13 10:39:24 +03:00
Support: Comb the code
Also, now clicking on the name of the support agent does not display "false". There should be no other visible changes
This commit is contained in:
parent
6c23be8b2b
commit
f7fbda1e3c
4 changed files with 308 additions and 324 deletions
|
@ -31,6 +31,7 @@ final class SupportPresenter extends OpenVKPresenter
|
|||
$tickets = $this->tickets->getTicketsByuId($this->user->id);
|
||||
if($tickets)
|
||||
$this->template->tickets = $tickets;
|
||||
|
||||
if($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
if(!empty($this->postParam("name")) && !empty($this->postParam("text"))) {
|
||||
$this->assertNoCSRF();
|
||||
|
@ -111,11 +112,11 @@ final class SupportPresenter extends OpenVKPresenter
|
|||
if(!$ticket || $ticket->isDeleted() != 0 || $ticket->getUserId() !== $this->user->id && !$this->hasPermission('openvk\Web\Models\Entities\TicketReply', 'write', 0)) {
|
||||
$this->notFound();
|
||||
} else {
|
||||
header("HTTP/1.1 302 Found");
|
||||
if($ticket->getUserId() !== $this->user->id && $this->hasPermission('openvk\Web\Models\Entities\TicketReply', 'write', 0))
|
||||
header("Location: /support/tickets");
|
||||
$this->redirect("/support/tickets");
|
||||
else
|
||||
header("Location: /support");
|
||||
$this->redirect("/support");
|
||||
|
||||
$ticket->delete();
|
||||
}
|
||||
}
|
||||
|
@ -182,13 +183,12 @@ final class SupportPresenter extends OpenVKPresenter
|
|||
if(!empty($this->postParam("text")) && !empty($this->postParam("status"))) {
|
||||
$ticket->setType($this->postParam("status"));
|
||||
$ticket->save();
|
||||
|
||||
$this->assertNoCSRF();
|
||||
|
||||
$comment = new TicketComment;
|
||||
$comment->setUser_id($this->user->id);
|
||||
$comment->setUser_type(1);
|
||||
$comment->setText($this->postParam("text"));
|
||||
$comment->setTicket_id($id);
|
||||
$comment->setTicket_Id($id);
|
||||
$comment->setCreated(time());
|
||||
$comment->save();
|
||||
} elseif(empty($this->postParam("text"))) {
|
||||
|
|
|
@ -6,138 +6,129 @@
|
|||
{/block}
|
||||
|
||||
{block content}
|
||||
<div class="post-author">
|
||||
<a href="#" style="font-size:13px;">
|
||||
<b>
|
||||
{$ticket->getName()}
|
||||
</b>
|
||||
</a>
|
||||
<br></b>{_author}: <a href="/id{$ticket->getUser()->getId()}">{$ticket->getUser()->getFullName()}</a> | {$ticket->getUser()->getRegistrationIP()} | {_status}: {$ticket->getStatus()}.
|
||||
</div>
|
||||
<div class="text" style="padding-top: 10px;border-bottom: #ECECEC solid 1px;">
|
||||
{$ticket->getText()|noescape}
|
||||
<br></br>
|
||||
</div>
|
||||
<div style="padding-top: 5px;">
|
||||
{$ticket->getTime()} |
|
||||
<a href="/support/delete/{$id}?hash={$csrfToken}">{_delete}</a>
|
||||
</div><br/>
|
||||
<div>
|
||||
<form action="/al_comments/create/support/reply/{$id}" method="post" style="margin:0;">
|
||||
<textarea name="text" id="answer_text" style="width: 100%;resize: vertical;"></textarea>
|
||||
<div>
|
||||
<!-- padding to fix <br/> bug -->
|
||||
</div>
|
||||
<input type="hidden" name="hash" value="{$csrfToken}" />
|
||||
<br />
|
||||
<div style="float: left;">
|
||||
<input type="submit" value="{_write}" class="button">
|
||||
<select name="status" style="width: unset;">
|
||||
<option value="1">{_support_status_1}</option>
|
||||
<option value="2">{_support_status_2}</option>
|
||||
<option value="0">{_support_status_0}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div n:if="!is_null($fastAnswers)" style="float: right;">
|
||||
<a class="button" href="javascript:showSupportFastAnswerDialog(fastAnswers)">{_fast_answers}</a>
|
||||
</div>
|
||||
<br />
|
||||
</form>
|
||||
</div>
|
||||
<br/>
|
||||
<p n:if="!$comments">{_no_comments}</p>
|
||||
{var $printedSupportGreeting = false}
|
||||
<table n:foreach="$comments as $comment" border="0" style="font-size: 11px;" class="post">
|
||||
<tbody>
|
||||
<tr>
|
||||
{if $comment->getUType() === 0}
|
||||
<td width="54" valign="top">
|
||||
<img src="{$comment->getUser()->getAvatarUrl()}" width="50">
|
||||
</td>
|
||||
{else}
|
||||
<td width="54" valign="top">
|
||||
<img
|
||||
src="{$comment->getAvatar()}"
|
||||
style="max-width: 50px; filter: hue-rotate({$comment->getColorRotation()}deg);" />
|
||||
</td>
|
||||
{/if}
|
||||
<td width="645" valign="top">
|
||||
{if $comment->getUType() === 0}
|
||||
<div class="post-author">
|
||||
<a href="{$comment->getUser()->getURL()}"><b>
|
||||
{$comment->getUser()->getFullName()}
|
||||
</b></a> {($comment->getUser()->isFemale() ? tr("post_writes_f") : tr("post_writes_m"))}<br>
|
||||
<a href="#" class="date">{$comment->getTime()}</a>
|
||||
<div class="post-author">
|
||||
<a href="#" style="font-size: 13px;"><b>{$ticket->getName()}</b></a><br />
|
||||
{_author}: <a href="/id{$ticket->getUser()->getId()}">{$ticket->getUser()->getFullName()}</a> | {$ticket->getUser()->getRegistrationIP()} | {_status}: {$ticket->getStatus()}.
|
||||
</div>
|
||||
<div class="text" style="padding-top: 10px; border-bottom: #ECECEC solid 1px;">
|
||||
{$ticket->getText()|noescape}
|
||||
<br /><br />
|
||||
</div>
|
||||
<div style="padding-top: 5px;">
|
||||
{$ticket->getTime()} |
|
||||
<a href="/support/delete/{$id}?hash={$csrfToken}">{_delete}</a>
|
||||
</div>
|
||||
<br />
|
||||
<div>
|
||||
<form action="/al_comment/create/support/reply/{$id}" method="post" style="margin: 0;">
|
||||
<textarea name="text" id="answer_text" style="width: 100%; resize: vertical;"></textarea>
|
||||
<br />
|
||||
<input type="hidden" name="hash" value="{$csrfToken}" />
|
||||
<br />
|
||||
<div style="float: left;">
|
||||
<input type="submit" value="{_write}" class="button" />
|
||||
<select name="status" style="width: unset;">
|
||||
<option value="1">{_support_status_1}</option>
|
||||
<option value="2">{_support_status_2}</option>
|
||||
<option value="0">{_support_status_0}</option>
|
||||
</select>
|
||||
</div>
|
||||
{elseif ($comment->getUType() === 1)}
|
||||
<div class="post-author">
|
||||
<a href="javascript:false">
|
||||
<b>
|
||||
{$comment->getAuthorName()}
|
||||
</b>
|
||||
</a>
|
||||
{if $thisUser->getChandlerUser()->can("write")->model('openvk\Web\Models\Entities\TicketReply')->whichBelongsTo(0)}
|
||||
<a href="{$comment->getUser()->getURL()}">
|
||||
<span class="nobold">
|
||||
{var lastName = $comment->getUser()->getLastName()}
|
||||
{if empty(trim($lastName))}
|
||||
({$comment->getUser()->getFirstName()})
|
||||
{else}
|
||||
({$comment->getUser()->getFirstName()} {iconv_substr($lastName, 0, 1)}.)
|
||||
{/if}
|
||||
</span>
|
||||
</a>
|
||||
{/if}
|
||||
{_post_writes_m}<br>
|
||||
<a href="#" class="date">{$comment->getTime()}</a>
|
||||
<div n:if="!is_null($fastAnswers)" style="float: right;">
|
||||
<a class="button" href="javascript:showSupportFastAnswerDialog(fastAnswers)">{_fast_answers}</a>
|
||||
</div>
|
||||
{/if}
|
||||
<div class="post-content" id="{$comment->getId()}">
|
||||
<div class="text" id="text{$comment->getId()}">
|
||||
{if $comment->getUType() === 1 && !$printedSupportGreeting}
|
||||
{var $printedSupportGreeting = true}
|
||||
{tr("support_greeting_hi", $ticket->getUser()->getFullName())}
|
||||
<br/>
|
||||
<br/>
|
||||
<br />
|
||||
</form>
|
||||
</div>
|
||||
<br />
|
||||
<p n:if="!$comments">{_no_comments}</p>
|
||||
{var $printedSupportGreeting = false}
|
||||
<table n:foreach="$comments as $comment" border="0" style="font-size: 11px;" class="post">
|
||||
<tbody>
|
||||
<tr>
|
||||
{if $comment->getUType() === 0}
|
||||
<td width="54" valign="top">
|
||||
<img src="{$comment->getUser()->getAvatarUrl()}" width="50" />
|
||||
</td>
|
||||
{else}
|
||||
<td width="54" valign="top">
|
||||
<img
|
||||
src="{$comment->getAvatar()}"
|
||||
style="max-width: 50px; filter: hue-rotate({$comment->getColorRotation()}deg);" />
|
||||
</td>
|
||||
{/if}
|
||||
<td width="645" valign="top">
|
||||
{if $comment->getUType() === 0}
|
||||
<div class="post-author">
|
||||
<a href="{$comment->getUser()->getURL()}"><b>
|
||||
{$comment->getUser()->getFullName()}
|
||||
</b></a> {($comment->getUser()->isFemale() ? tr("post_writes_f") : tr("post_writes_m"))}<br />
|
||||
<a href="#" class="date">{$comment->getTime()}</a>
|
||||
</div>
|
||||
{elseif ($comment->getUType() === 1)}
|
||||
<div class="post-author">
|
||||
<a><b>{$comment->getAuthorName()}</b></a>
|
||||
{if $thisUser->getChandlerUser()->can("write")->model('openvk\Web\Models\Entities\TicketReply')->whichBelongsTo(0)}
|
||||
<a href="{$comment->getUser()->getURL()}">
|
||||
<span class="nobold">
|
||||
{var lastName = $comment->getUser()->getLastName()}
|
||||
{if empty(trim($lastName))}
|
||||
({$comment->getUser()->getFirstName()})
|
||||
{else}
|
||||
({$comment->getUser()->getFirstName()} {iconv_substr($lastName, 0, 1)}.)
|
||||
{/if}
|
||||
</span>
|
||||
</a>
|
||||
{/if}
|
||||
{_post_writes_m}<br />
|
||||
<a href="#" class="date">{$comment->getTime()}</a>
|
||||
</div>
|
||||
{/if}
|
||||
<div class="post-content" id="{$comment->getId()}">
|
||||
<div class="text" id="text{$comment->getId()}">
|
||||
{if $comment->getUType() === 1 && !$printedSupportGreeting}
|
||||
{var $printedSupportGreeting = true}
|
||||
{tr("support_greeting_hi", $ticket->getUser()->getFullName())}
|
||||
<br />
|
||||
<br />
|
||||
|
||||
{$comment->getText()|noescape}
|
||||
<br/>
|
||||
<br/>
|
||||
{$comment->getText()|noescape}
|
||||
<br />
|
||||
<br />
|
||||
|
||||
{tr("support_greeting_regards", OPENVK_ROOT_CONF["openvk"]["appearance"]["name"])|noescape}
|
||||
{else}
|
||||
{$comment->getText()|noescape}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{if $comment->getUType() === 0}
|
||||
<div class="post-menu">
|
||||
<a href="/support/comment/{$comment->getId()}/delete">{_delete}</a>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $comment->getUType() === 1 && !is_null($comment->isLikedByUser())}
|
||||
<div class="post-menu">
|
||||
<strong>
|
||||
{if $comment->isLikedByUser()}
|
||||
{_support_good_answer_agent}
|
||||
{else}
|
||||
{_support_bad_answer_agent}
|
||||
{tr("support_greeting_regards", OPENVK_ROOT_CONF["openvk"]["appearance"]["name"])|noescape}
|
||||
{else}
|
||||
{$comment->getText()|noescape}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{if $comment->getUType() === 0}
|
||||
<div class="post-menu">
|
||||
<a href="/support/comment/{$comment->getId()}/delete">{_delete}</a>
|
||||
</div>
|
||||
{/if}
|
||||
</strong>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{if $comment->getUType() === 1 && !is_null($comment->isLikedByUser())}
|
||||
<div class="post-menu">
|
||||
<strong>
|
||||
{if $comment->isLikedByUser()}
|
||||
{_support_good_answer_agent}
|
||||
{else}
|
||||
{_support_bad_answer_agent}
|
||||
{/if}
|
||||
</strong>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<script>
|
||||
const fastAnswers = [
|
||||
{foreach $fastAnswers as $answer}
|
||||
{$answer},
|
||||
{/foreach}
|
||||
];
|
||||
</script>
|
||||
<script>
|
||||
const fastAnswers = [
|
||||
{foreach $fastAnswers as $answer}
|
||||
{$answer},
|
||||
{/foreach}
|
||||
];
|
||||
</script>
|
||||
{/block}
|
||||
|
|
|
@ -6,63 +6,68 @@
|
|||
{/block}
|
||||
|
||||
{block content}
|
||||
{var isMain = $mode === 'faq'}
|
||||
{var isNew = $mode === 'new'}
|
||||
{var isList = $mode === 'list'}
|
||||
|
||||
{var isMain = $mode === 'faq'}
|
||||
{var isNew = $mode === 'new'}
|
||||
{var isList = $mode === 'list'}
|
||||
|
||||
{if $thisUser}
|
||||
<div class="tabs">
|
||||
<div n:attr="id => ($isMain ? 'activetabs' : 'ki')" class="tab">
|
||||
<a n:attr="id => ($isMain ? 'act_tab_a' : 'ki')" href="/support">{_support_faq}</a>
|
||||
</div>
|
||||
<div n:attr="id => ($isList ? 'activetabs' : 'ki')" class="tab">
|
||||
<a n:attr="id => ($isList ? 'act_tab_a' : 'ki')" href="/support?act=list">{_support_list}</a>
|
||||
</div>
|
||||
<div n:attr="id => ($isNew ? 'activetabs' : 'ki')" class="tab">
|
||||
<a n:attr="id => ($isNew ? 'act_tab_a' : 'ki')" href="/support?act=new">{_support_new}</a>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
{if $isNew}
|
||||
<div class="new">
|
||||
<form action="/support" method="post" style="margin:0;">
|
||||
<center><input name="name" style="width: 80%;resize: vertical;" placeholder="{_support_new_title}"></center><br>
|
||||
<center><textarea name="text" style="width: 80%;resize: vertical;" placeholder="{_support_new_content}"></textarea></center><br>
|
||||
<input type="hidden" name="hash" value="{$csrfToken}" />
|
||||
<center><input type="submit" value="{_write}" class="button" style="margin-left:70%;"></center><br>
|
||||
</form>
|
||||
</div>
|
||||
{/if}{/if}
|
||||
|
||||
{if $isMain}
|
||||
<h4>{_support_faq}</h4><br>
|
||||
<div class="faq">
|
||||
<div id="faqhead">{_support_faq_title}</div>
|
||||
<div id="faqcontent">{_support_faq_content}</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $isList}
|
||||
<table n:foreach="$tickets as $ticket" border="0" style="font-size:11px;width: 610px;" class="post">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="54" valign="top">
|
||||
<center><img src="/assets/packages/static/openvk/img/note_icon.png" alt="{_support_ticket}" style="margin-top: 17px;"></center>
|
||||
</td>
|
||||
<td width="345" valign="top">
|
||||
<div class="post-author">
|
||||
<a href="/support/view/{$ticket->getId()}">
|
||||
<b>{$ticket->getName()}</b>
|
||||
</a>
|
||||
{if $thisUser}
|
||||
<div class="tabs">
|
||||
<div n:attr="id => ($isMain ? 'activetabs' : 'ki')" class="tab">
|
||||
<a n:attr="id => ($isMain ? 'act_tab_a' : 'ki')" href="/support">{_support_faq}</a>
|
||||
</div>
|
||||
<div class="post-content" style="padding: 4px;font-size: 11px;">
|
||||
{_status}: {$ticket->getStatus()}
|
||||
<div n:attr="id => ($isList ? 'activetabs' : 'ki')" class="tab">
|
||||
<a n:attr="id => ($isList ? 'act_tab_a' : 'ki')" href="/support?act=list">{_support_list}</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
<div n:attr="id => ($isNew ? 'activetabs' : 'ki')" class="tab">
|
||||
<a n:attr="id => ($isNew ? 'act_tab_a' : 'ki')" href="/support?act=new">{_support_new}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
{if $isNew}
|
||||
<div class="new">
|
||||
<form action="/support" method="post" style="margin:0;">
|
||||
<center>
|
||||
<input name="name" style="width: 80%; resize: vertical;" placeholder="{_support_new_title}" /><br /><br />
|
||||
<textarea name="text" style="width: 80%; resize: vertical;" placeholder="{_support_new_content}"></textarea><br /><br />
|
||||
<input type="hidden" name="hash" value="{$csrfToken}" />
|
||||
<input type="submit" value="{_write}" class="button" style="margin-left: 70%;" /><br /><br />
|
||||
</center>
|
||||
</form>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
{if $isMain}
|
||||
<h4>{_support_faq}</h4><br />
|
||||
<div class="faq">
|
||||
<div id="faqhead">{_support_faq_title}</div>
|
||||
<div id="faqcontent">{_support_faq_content}</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $isList}
|
||||
<table n:foreach="$tickets as $ticket" border="0" style="font-size: 11px; width: 610px;" class="post">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="54" valign="top">
|
||||
<center>
|
||||
<img src="/assets/packages/static/openvk/img/note_icon.png" alt="{_support_ticket}" style="margin-top: 17px;" />
|
||||
</center>
|
||||
</td>
|
||||
<td width="345" valign="top">
|
||||
<div class="post-author">
|
||||
<a href="/support/view/{$ticket->getId()}">
|
||||
<b>{$ticket->getName()}</b>
|
||||
</a>
|
||||
</div>
|
||||
<div class="post-content" style="padding: 4px; font-size: 11px;">
|
||||
{_status}: {$ticket->getStatus()}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
{/block}
|
||||
|
|
|
@ -6,144 +6,132 @@
|
|||
{/block}
|
||||
|
||||
{block content}
|
||||
<script>
|
||||
function markAnswer(id, mark) {
|
||||
let url = "/support/comment/" + id + "/rate/" + mark + "?hash=" + {urlencode($csrfToken)};
|
||||
$.ajax(url, {
|
||||
error: errorHandler,
|
||||
success: success(id, mark)
|
||||
});
|
||||
}
|
||||
<script>
|
||||
function markAnswer(id, mark) {
|
||||
let url = "/support/comment/" + id + "/rate/" + mark + "?hash=" + {urlencode($csrfToken)};
|
||||
$.ajax(url, {
|
||||
error: errorHandler,
|
||||
success: success(id, mark)
|
||||
});
|
||||
}
|
||||
|
||||
function success(id, mark) {
|
||||
if(mark == 1)
|
||||
document.getElementById("markText-" + id).innerHTML = {_support_good_answer_user};
|
||||
else
|
||||
document.getElementById("markText-" + id).innerHTML = {_support_bad_answer_user};
|
||||
function success(id, mark) {
|
||||
if(mark == 1)
|
||||
document.getElementById("markText-" + id).innerHTML = {_support_good_answer_user};
|
||||
else
|
||||
document.getElementById("markText-" + id).innerHTML = {_support_bad_answer_user};
|
||||
|
||||
document.getElementById("markLinks-" + id).remove();
|
||||
}
|
||||
document.getElementById("markLinks-" + id).remove();
|
||||
}
|
||||
|
||||
function errorHandler(id, mark) {
|
||||
document.getElementById("markText-" + id).innerHTML = {_error};
|
||||
}
|
||||
</script>
|
||||
{if $ticket->isDeleted() == 0 }
|
||||
<div class="post-author">
|
||||
<a href="#" style="font-size:13px;">
|
||||
<b>
|
||||
{$ticket->getName()}
|
||||
</b>
|
||||
</a>
|
||||
<br></b>{_status}: {$ticket->getStatus()}
|
||||
</div>
|
||||
<div class="text" style="padding-top: 10px;border-bottom: #ECECEC solid 1px;">
|
||||
{$ticket->getText()|noescape}
|
||||
<br></br>
|
||||
</div>
|
||||
<div style="padding-top: 5px;">
|
||||
{$ticket->getTime()} |
|
||||
<a href="/support/delete/{$id}?hash={$csrfToken}">{_delete}</a>
|
||||
</div>
|
||||
{if $ticket->getType() !== 2}
|
||||
<br>
|
||||
<div>
|
||||
<form action="/al_comments/create/support/{$id}" method="post" style="margin:0;">
|
||||
<textarea name="text" style="width: 100%;resize: vertical;"></textarea>
|
||||
<div>
|
||||
<!-- padding to fix <br/> bug -->
|
||||
</div>
|
||||
<input type="hidden" name="hash" value="{$csrfToken}" />
|
||||
<br>
|
||||
<input type="submit" value="{_write}" class="button">
|
||||
</form>
|
||||
function errorHandler(id, mark) {
|
||||
document.getElementById("markText-" + id).innerHTML = {_error};
|
||||
}
|
||||
</script>
|
||||
|
||||
{if $ticket->isDeleted() == 0}
|
||||
<div class="post-author">
|
||||
<a href="#" style="font-size:13px;"><b>{$ticket->getName()}</b></a>
|
||||
<br />{_status}: {$ticket->getStatus()}
|
||||
</div>
|
||||
{/if}
|
||||
</br>
|
||||
<p n:if="!$comments">{_no_comments}</p>
|
||||
{var $printedSupportGreeting = false}
|
||||
<table n:foreach="$comments as $comment" border="0" style="font-size: 11px;" class="post">
|
||||
<tbody>
|
||||
<tr>
|
||||
{if $comment->getUType() === 0}
|
||||
<td width="54" valign="top">
|
||||
<img src="{$comment->getUser()->getAvatarUrl()}" width="50">
|
||||
</td>
|
||||
{else}
|
||||
<td width="54" valign="top">
|
||||
<img
|
||||
src="{$comment->getAvatar()}"
|
||||
style="max-width: 50px; filter: hue-rotate({$comment->getColorRotation()}deg);" />
|
||||
</td>
|
||||
{/if}
|
||||
<td width="645" valign="top">
|
||||
{if $comment->getUType() === 0}
|
||||
<div class="post-author">
|
||||
<a href="{$comment->getUser()->getURL()}"><b>
|
||||
{$comment->getUser()->getFullName()}
|
||||
</b></a> {($comment->getUser()->isFemale() ? tr("post_writes_f") : tr("post_writes_m"))}<br>
|
||||
<a href="#" class="date">{$comment->getTime()}</a>
|
||||
<div class="text" style="padding-top: 10px; border-bottom: #ECECEC solid 1px;">
|
||||
{$ticket->getText()|noescape}
|
||||
<br /></br>
|
||||
</div>
|
||||
<div style="padding-top: 5px;">
|
||||
{$ticket->getTime()} |
|
||||
<a href="/support/delete/{$id}?hash={$csrfToken}">{_delete}</a>
|
||||
</div>
|
||||
{if $ticket->getType() !== 2}
|
||||
<br />
|
||||
<div>
|
||||
<form action="/al_comments/create/support/{$id}" method="post" style="margin:0;">
|
||||
<textarea name="text" style="width: 100%;resize: vertical;"></textarea><br />
|
||||
<input type="hidden" name="hash" value="{$csrfToken}" /><br />
|
||||
<input type="submit" value="{_write}" class="button" />
|
||||
</form>
|
||||
</div>
|
||||
{elseif ($comment->getUType() === 1)}
|
||||
<div class="post-author">
|
||||
<a href="javascript:false">
|
||||
<b>
|
||||
{$comment->getAuthorName()}
|
||||
</b>
|
||||
</a>
|
||||
{_post_writes_m}<br>
|
||||
<a href="#" class="date">{$comment->getTime()}</a>
|
||||
</div>
|
||||
{/if}
|
||||
<div class="post-content" id="{$comment->getId()}">
|
||||
<div class="text" id="text{$comment->getId()}">
|
||||
{if $comment->getUType() === 1 && !$printedSupportGreeting}
|
||||
{var $printedSupportGreeting = true}
|
||||
{tr("support_greeting_hi", $ticket->getUser()->getFullName())}
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
{$comment->getText()|noescape}
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
{tr("support_greeting_regards", OPENVK_ROOT_CONF["openvk"]["appearance"]["name"])|noescape}
|
||||
{else}
|
||||
{$comment->getText()|noescape}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{if $comment->getUType() === 0}
|
||||
<div class="post-menu">
|
||||
<a href="/support/comment/{$comment->getId()}/delete">{_delete}</a>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $comment->getUType() === 1}
|
||||
<div class="post-menu">
|
||||
{var isLikedByUser = $comment->isLikedByUser()}
|
||||
<strong id="markText-{$comment->getId()}">
|
||||
{if !is_null($isLikedByUser)}
|
||||
{if $comment->isLikedByUser()}
|
||||
{_support_good_answer_user}
|
||||
{else}
|
||||
{_support_bad_answer_user}
|
||||
{/if}
|
||||
<br />
|
||||
<p n:if="!$comments">{_no_comments}</p>
|
||||
{var $printedSupportGreeting = false}
|
||||
<table n:foreach="$comments as $comment" border="0" style="font-size: 11px;" class="post">
|
||||
<tbody>
|
||||
<tr>
|
||||
{if $comment->getUType() === 0}
|
||||
<td width="54" valign="top">
|
||||
<img src="{$comment->getUser()->getAvatarUrl()}" width="50" />
|
||||
</td>
|
||||
{else}
|
||||
<td width="54" valign="top">
|
||||
<img
|
||||
src="{$comment->getAvatar()}"
|
||||
style="max-width: 50px; filter: hue-rotate({$comment->getColorRotation()}deg);" />
|
||||
</td>
|
||||
{/if}
|
||||
<td width="645" valign="top">
|
||||
{if $comment->getUType() === 0}
|
||||
<div class="post-author">
|
||||
<a href="{$comment->getUser()->getURL()}"><b>{$comment->getUser()->getFullName()}</b></a>
|
||||
{($comment->getUser()->isFemale() ? tr("post_writes_f") : tr("post_writes_m"))}<br />
|
||||
<a href="#" class="date">{$comment->getTime()}</a>
|
||||
</div>
|
||||
{elseif ($comment->getUType() === 1)}
|
||||
<div class="post-author">
|
||||
<a><b>{$comment->getAuthorName()}</b></a>
|
||||
{_post_writes_m}<br />
|
||||
<a href="#" class="date">{$comment->getTime()}</a>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
</strong>
|
||||
<div id="markLinks-{$comment->getId()}">
|
||||
{if is_null($isLikedByUser)}
|
||||
<a onClick="markAnswer({$comment->getId()}, 1)">{_support_rate_good_answer}</a>
|
||||
|
|
||||
<a onClick="markAnswer({$comment->getId()}, 2)">{_support_rate_bad_answer}</a>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
<div class="post-content" id="{$comment->getId()}">
|
||||
<div class="text" id="text{$comment->getId()}">
|
||||
{if $comment->getUType() === 1 && !$printedSupportGreeting}
|
||||
{var $printedSupportGreeting = true}
|
||||
{tr("support_greeting_hi", $ticket->getUser()->getFullName())}
|
||||
<br />
|
||||
<br />
|
||||
|
||||
{$comment->getText()|noescape}
|
||||
<br />
|
||||
<br />
|
||||
|
||||
{tr("support_greeting_regards", OPENVK_ROOT_CONF["openvk"]["appearance"]["name"])|noescape}
|
||||
{else}
|
||||
{$comment->getText()|noescape}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{if $comment->getUType() === 0}
|
||||
<div class="post-menu">
|
||||
<a href="/support/comment/{$comment->getId()}/delete">{_delete}</a>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $comment->getUType() === 1}
|
||||
<div class="post-menu">
|
||||
{var isLikedByUser = $comment->isLikedByUser()}
|
||||
<strong id="markText-{$comment->getId()}">
|
||||
{if !is_null($isLikedByUser)}
|
||||
{if $comment->isLikedByUser()}
|
||||
{_support_good_answer_user}
|
||||
{else}
|
||||
{_support_bad_answer_user}
|
||||
{/if}
|
||||
{/if}
|
||||
</strong>
|
||||
<div id="markLinks-{$comment->getId()}">
|
||||
{if is_null($isLikedByUser)}
|
||||
<a onClick="markAnswer({$comment->getId()}, 1)">{_support_rate_good_answer}</a>
|
||||
|
|
||||
<a onClick="markAnswer({$comment->getId()}, 2)">{_support_rate_bad_answer}</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
{/block}
|
||||
|
|
Loading…
Reference in a new issue