1
0
Fork 0
mirror of https://github.com/janickiy/yii2-nomer synced 2025-03-09 15:39:59 +00:00

add files to project

This commit is contained in:
janickiy 2020-02-05 06:34:26 +03:00
commit 5cac498444
3729 changed files with 836998 additions and 0 deletions

126
views/feedback/index.php Normal file
View file

@ -0,0 +1,126 @@
<?php
/* @var $this \yii\web\View */
/* @var $model \app\models\Ticket */
/* @var $ticketsDataProvider \yii\data\ActiveDataProvider */
/* @var $ticketsClosedDataProvider \yii\data\ActiveDataProvider */
use yii\grid\ActionColumn;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\helpers\Url;
use \app\models\Ticket;
$this->title = \Yii::$app->name . ' - обратная связь';
?>
<div class="breadcrumbs">
<ul class="breadcrumb">
<?php if (\Yii::$app->devicedetect->isMobile() || \Yii::$app->devicedetect->isTablet()): ?>
<li><?= Html::a('Главная', Url::home()) ?></li>
<li>Обратная связь</li>
<?php else: ?>
<li><?= Html::a('Главная', Url::home()) ?></li>
<li>Обратная связь</li>
<?php endif; ?>
</ul>
</div>
<div class="page-content">
<div class="cont clfix">
<h1>Обратная связь</h1>
<?php if (\Yii::$app->getUser()->isGuest): ?>
<h2>Что бы с нами связаться, вам нужно авторизоваться!</h2>
<p align="center"><a href="#signup" class="button" style="width: 300px">Войти</a></p>
<?php else: ?>
<p style="text-align: center"><?= Html::a("Создать запрос", ["feedback/new"], ["class" => "newticket"]); ?></p>
<br>
<?php if (!$ticketsDataProvider->getTotalCount() && !$ticketsClosedDataProvider->getTotalCount()): ?>
<p class="qiwi-descr"><span>У вас ещё нет ниодного тикета.</span></p>
<?php endif; ?>
<?php if ($ticketsDataProvider->getTotalCount()): ?>
<?= \yii\grid\GridView::widget([
"dataProvider" => $ticketsDataProvider,
"tableOptions" => [
"class" => "tickets"
],
"rowOptions" => function ($model, $key, $index, $grid) {
return ["onclick" => "location.href='" . Url::toRoute(["feedback/view", "id" => $model->id]) . "'", "class" => "ticketRow"];
},
"layout" => "{items}\n{summary}\n{pager}",
"caption" => "Открытые запросы",
"columns" => [
"id",
"tm_create",
[
'attribute' => 'subject_id',
'content' => function (Ticket $model) {
return Ticket::SUBJECTS[$model->subject_id];
}
],
[
'attribute' => 'subject',
'content' => function (Ticket $model) {
return $model->subject;
}
],
[
'attribute' => 'status',
'content' => function (Ticket $model) {
if(in_array($model->status, [6,7])) {
$model->status = 1;
}
return ArrayHelper::getValue(Ticket::STATUSES, $model->status);
}
]
]
]); ?>
<br/>
<?php endif; ?>
<?php if ($ticketsClosedDataProvider->getTotalCount()): ?>
<?= \yii\grid\GridView::widget([
"dataProvider" => $ticketsClosedDataProvider,
"tableOptions" => [
"class" => "tickets"
],
"layout" => "{items}\n{summary}\n{pager}",
"caption" => "Закрытые запросы",
"rowOptions" => function ($model, $key, $index, $grid) {
return ["onclick" => "location.href='" . Url::toRoute(["feedback/view", "id" => $model->id]) . "'", "class" => "ticketRow"];
},
"columns" => [
"id",
"tm_create",
[
'attribute' => 'subject_id',
'content' => function (Ticket $model) {
return Ticket::SUBJECTS[$model->subject_id];
}
],
[
'attribute' => 'subject',
'content' => function (Ticket $model) {
return $model->subject;
}
],
[
'attribute' => 'status',
'content' => function (Ticket $model) {
return ArrayHelper::getValue(Ticket::STATUSES, $model->status);
}
]
]
]); ?>
<?php endif; ?>
<?php endif; ?>
<?php if ($success = \Yii::$app->session->getFlash("success", false)): ?>
<p><?= $success; ?></p>
<?php else: ?>
<?php endif; ?>
</div>
</div>

76
views/feedback/new.php Normal file
View file

@ -0,0 +1,76 @@
<?php
/* @var $this \yii\web\View */
/* @var $ticket \app\models\Ticket */
/* @var $ticketsDataProvider \yii\data\ActiveDataProvider */
use yii\grid\ActionColumn;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\ActiveForm;
$this->title = \Yii::$app->name.' - обратная связь';
$onChange = <<<JS
var subject = document.querySelector('[name="subject"]');
var textarea = document.getElementById('contactform-message');
if (subject.selectedIndex === 1) {
textarea.value = (textarea.value + '\\n\\nСопсоб пополнения:\\nДата платежа:\\nВремя платежа:').trim();
}
JS;
?>
<div class="breadcrumbs">
<ul class="breadcrumb">
<?php if(\Yii::$app->devicedetect->isMobile() || \Yii::$app->devicedetect->isTablet()): ?>
<li><?= Html::a('Главная', Url::home()) ?></li>
<li><?= Html::a('Обратная связь', Url::toRoute(["feedback/index"])) ?></li>
<li>Новый запрос</li>
<?php else: ?>
<li><?= Html::a('Главная', Url::home()) ?></li>
<li><?= Html::a('Обратная связь', Url::toRoute(["feedback/index"])) ?></li>
<li>Новый запрос</li>
<?php endif; ?>
</ul>
</div>
<div class="page-content">
<div class="cont clfix">
<h1>Обратная связь / Новый запрос</h1>
<?php $form = ActiveForm::begin(); ?>
<?=$form->field($ticket, "subject_id")->dropDownList(\app\models\Ticket::SUBJECTS); ?>
<?=$form->field($ticket, "subject")->textInput(); ?>
<?=$form->field($ticket, "text")->textarea(["rows" => 8]); ?>
<?=$form->field($ticket, 'reCaptcha', ['template' => '{input}{error}'])->widget(\himiklab\yii2\recaptcha\ReCaptcha::className()) ?>
<input class="ticket" value="Создать запрос" type="submit">
<?php ActiveForm::end(); ?>
<?php if($success = \Yii::$app->session->getFlash("success", false)): ?>
<p><?=$success;?></p>
<?php else: ?>
<?php endif; ?>
</div>
</div>
<?php if(false):?><script><?php endif; ?>
<?php ob_start(); ?>
var messageInput = $('#<?=Html::getInputId($ticket, "text");?>');
$('#<?=Html::getInputId($ticket, "subject_id");?>').on('change', function() {
if (this.selectedIndex === 1) {
if(messageInput.val() === '') {
messageInput.val("Сопсоб пополнения:\nДата платежа:\nВремя платежа:");
}
}
if (this.selectedIndex === 3) {
if(messageInput.val() === '') {
$.alert({
theme: 'material',
title: 'Внимание!',
content: 'Сожалеем, но чтобы удалить номер из нашей базы, вам нужно подтвердить владение им. Также предупреждаем вас, что Удаление номера у нас не даст вам анонимности, т.к. мы всю информацию берем из открытых источников и она останется там!',
});
}
}
});
<?php $js = ob_get_contents(); ob_end_clean(); $this->registerJs($js); ?>

104
views/feedback/view.php Normal file
View file

@ -0,0 +1,104 @@
<?php
/* @var $this \yii\web\View */
/* @var $ticket \app\models\Ticket */
/* @var $ticketsDataProvider \yii\data\ActiveDataProvider */
/* @var $comments \yii\data\ActiveDataProvider */
use app\models\Ticket;
use yii\grid\ActionColumn;
use yii\grid\GridView;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\ActiveForm;
if(in_array($ticket->status, [6, 8])) {
$ticket->status = 1;
}
$this->title = \Yii::$app->name.' - обратная связь';
?>
<div class="breadcrumbs">
<ul class="breadcrumb">
<?php if(\Yii::$app->devicedetect->isMobile() || \Yii::$app->devicedetect->isTablet()): ?>
<li><?= Html::a('Главная', Url::home()) ?></li>
<li><?=Html::a("Обратная связь", ["feedback/index"]);?></li>
<li>Запрос #<?=$ticket->id;?></li>
<?php else: ?>
<li><?= Html::a('Главная', Url::home()) ?></li>
<li><?=Html::a("Обратная связь", ["feedback/index"]);?></li>
<li>Запрос #<?=$ticket->id;?></li>
<?php endif; ?>
</ul>
</div>
<div class="page-content">
<div class="cont clfix">
<h1>Обратная связь / Запрос #<?=$ticket->id;?></h1>
<table class="tickets">
<tr>
<th>Раздел</th>
<th>Дата</th>
<th>Тема</th>
<th>Статус</th>
</tr>
<tr>
<td><?=ArrayHelper::getValue(Ticket::SUBJECTS, $ticket->subject_id);?></td>
<td><?=$ticket->tm_create;?></td>
<td><?=$ticket->subject;?></td>
<td><?=ArrayHelper::getValue(Ticket::STATUSES, $ticket->status);?></td>
</tr>
</table>
<br />
<div class="clientticketreplyheader">
<table>
<tr><td style="padding: 5px; font-size: 13px;"><strong style="font-weight: bold"><?=$ticket->user->email;?></strong><br>Клиент</td><td></td></tr>
</table>
</div>
<div class="clientticketreply">
<?=nl2br($ticket->text);?>
</div>
<br />
<?php foreach ($comments as $c): ?>
<?php if(ArrayHelper::getValue($c, "user.is_admin", false)): ?>
<div class="adminticketreplyheader">
<table style="width: 100%">
<tr><td style="padding: 5px; font-size: 13px;"><strong style="font-weight: bold">Администратор</strong></td><td style="padding: 5px; font-size: 13px; text-align: right;"><?=$c->tm_create;?></td></tr>
</table>
</div>
<div class="adminticketreply">
<?=nl2br($c->text);?>
</div>
<?php else: ?>
<div class="clientticketreplyheader">
<table style="width: 100%">
<tr><td style="padding: 5px; font-size: 13px;"><strong style="font-weight: bold"><?=$ticket->user->email;?></strong><br>Клиент</td><td style="padding: 5px; font-size: 13px; text-align: right;"><?=$c->tm_create;?></td></tr>
</table>
</div>
<div class="clientticketreply">
<?=nl2br($c->text);?>
</div>
<?php endif; ?>
<br />
<?php endforeach; ?>
<?php if($ticket->status != 4): ?>
<?=Html::a("Если проблема решена, нажмите для закрытия тикета", ["feedback/close", "id" => $ticket->id], ["class" => "closeticket"]);?>
<br /><br />
<?php $form = ActiveForm::begin([
"action" => ["feedback/comment", "id" => $ticket->id]
]); ?>
<?= $form->field($comment, "text")->textarea(["rows" => 10]); ?>
<input value="Добавить" type="submit" class="ticket">
<?php ActiveForm::end(); ?>
<?php else: ?>
<?=Html::a("Переоткрыть тикет", ["feedback/reopen", "id" => $ticket->id], ["class" => "closeticket"]);?>
<?php endif; ?>
</div>
</div>