$request = Yii::$app->request;
$model = UsersMessageManagement::find()->one();
- $startDate = $request->get('start_date', date('Y-m-d'));
- $endDate = $request->get('end_date', date('Y-m-d', strtotime('+7 days')));
+ $month = $request->get('month', date('m'));
+ $year = $request->get('year', date('Y'));
+
+ $startDate = date('Y-m-d', strtotime("$year-$month-01"));
+ $endDate = date('Y-m-t', strtotime($startDate)); // Последний день месяца
$dates = [];
$currentDate = strtotime($startDate);
'whatsapp' => [$this->generateLink($formattedDate, 'whatsapp', 'generate-excel'),
$this->generateLink($formattedDate, 'whatsapp', 'view-kogort-users')],
'call' => [$this->generateLink($formattedDate, 'call', 'generate-excel'),
- $this->generateLink($formattedDate, 'call', 'view-kogort-users') ],
-
+ $this->generateLink($formattedDate, 'call', 'view-kogort-users')],
];
$currentDate = strtotime('+1 day', $currentDate);
}
return $this->render('index', [
'model' => $model,
'links' => $dates,
- 'startDate' => $startDate,
- 'endDate' => $endDate,
+ 'month' => $month,
+ 'year' => $year,
]);
}
{
$request = Yii::$app->request;
+ $month = $request->get('month', date('m'));
+ $year = $request->get('year', date('Y'));
- $startDate = $request->get('start_date', date('Y-m-d'));
- $endDate = $request->get('end_date', date('Y-m-d', strtotime('+7 days')));
+ $startDate = date('Y-m-d', strtotime("$year-$month-01"));
+ $endDate = date('Y-m-t', strtotime($startDate)); // Последний день месяца
$dates = [];
$currentDate = strtotime($startDate);
'whatsapp' => [$this->generateLink($formattedDate, 'whatsapp', 'generate-excel'),
$this->generateLink($formattedDate, 'whatsapp', 'view-kogort-users')],
'call' => [$this->generateLink($formattedDate, 'call', 'generate-excel'),
- $this->generateLink($formattedDate, 'call', 'view-kogort-users') ],
-
+ $this->generateLink($formattedDate, 'call', 'view-kogort-users')],
];
$currentDate = strtotime('+1 day', $currentDate);
}
-
//var_dump($dates); die();
return $this->render('export-kogort', [
'links' => $dates,
- 'startDate' => $startDate,
- 'endDate' => $endDate,
+ 'month' => $month,
+ 'year' => $year,
]);
}
$response->format = \yii\web\Response::FORMAT_RAW;
- $response->headers->add('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
- $response->headers->add('Content-Disposition', 'attachment; filename="users-' . $type . '-' . $date . '.xlsx"');
- $response->headers->add('Cache-Control', 'max-age=0');
+ $response->headers->set('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
+ $response->headers->set('Content-Disposition', 'attachment; filename="users-' . $type . '-' . $date . '.xlsx"');
+ $response->headers->set('Cache-Control', 'max-age=0');
$response->headers->add('Pragma', 'public');
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save('php://output');
Yii::$app->end();
+ return null;
}
public function actionViewKogortUsers($date, $type)
*/
class UsersMessageManagement extends \yii\db\ActiveRecord
{
+
+ const TYPE_TARGET = 'target';
+ const TYPE_WHATSAPP = 'whatsapp';
+ const TYPE_CALL = 'call';
/**
* {@inheritdoc}
*/
<?php
use yii\helpers\Html;
use yii\helpers\Url;
+use yii\widgets\ActiveForm;
/** @var array $links */
-/** @var string $startDate */
-/** @var string $endDate */
-
+/** @var string $month */
+/** @var string $year */
+/* @var $model UsersMessageManagement */
?>
+<div class="row mb-3">
+ <div class="col-4 col-lg-offset-8">
+ <?php $form2 = ActiveForm::begin([
+ 'id' => 'month-year-form',
+ 'options' => ['class' => 'row align-items-center g-3'],
+ ]);
+
+ ?>
+
+ <div class="col">
+ <?= $form2->field($model, 'month', [
+ 'options' => ['class' => 'form-group'],
+ ])->dropDownList(\yii_app\helpers\DateHelper::MONTH_NUMBER_NAMES, [
+ 'class' => 'form-control',
+ 'prompt' => 'Выберите месяц',
+ ])->label(false) ?>
+ </div>
- <form method="get" class="mb-4">
- <div class="row g-3">
- <div class="col">
- <label for="start_date" class="form-label">Начальная дата</label>
- <input type="date" name="start_date" id="start_date" class="form-control" value="<?= Html::encode($startDate) ?>">
- </div>
- <div class="col">
- <label for="end_date" class="form-label">Конечная дата</label>
- <input type="date" name="end_date" id="end_date" class="form-control" value="<?= Html::encode($endDate) ?>">
- </div>
- <div class="col-auto">
- <label class="form-label d-block"> </label>
- <button type="submit" class="btn btn-primary">Показать</button>
- </div>
+ <div class="col">
+ <?= $form2->field($model, 'year', [
+ 'options' => ['class' => 'form-group'],
+ ])->dropDownList(range(((int)$year - 3), ((int)$year + 3)), [
+ 'class' => 'form-control',
+ 'prompt' => 'Выберите год',
+ ])->label(false) ?>
</div>
- </form>
+
+ <div class="col-auto">
+ <?= Html::submitButton('Показать', ['class' => 'btn btn-primary']) ?>
+ </div>
+
+ <?php ActiveForm::end(); ?>
+ </div>
+</div>
+
<table class="table table-bordered table-striped">
<thead class="table-light">
<tr>
<td><?= Html::encode($date) ?></td>
<td >
- <a href="<?= Url::to($columns['target'][0]) ?>" target="_blank" download="users-target-<?= $date ?>.xlsx">
- СкаÑ\87аÑ\82Ñ\8c EXCEL
+ <a href="<?= Url::to($columns['target'][0]) ?>" class="btn btn-link" target="_blank" download="users-target-<?= $date ?>.xlsx">
+ ТаÑ\80геÑ\82-<?= $date ?>.xlsx
</a>
- <a href="<?= Url::to($columns['target'][1]) ?>" target="_blank" class="btn btn-outline-primary">
+ <a href="<?= Url::to($columns['target'][1]) ?>" target="_blank" class="btn btn-link">
Посмотреть
</a>
</td>
<td >
- <a href="<?= Url::to($columns['whatsapp'][0]) ?>" target="_blank" download="users-whatsapp-<?= $date ?>.xlsx">
- Скачать EXCEL
+ <a href="<?= Url::to($columns['whatsapp'][0]) ?>" class="btn btn-link" target="_blank" download="users-whatsapp-<?= $date ?>.xlsx">
+ Whatsapp-<?= $date ?>.xlsx
</a>
- <a href="<?= Url::to($columns['whatsapp'][1]) ?>" target="_blank" class="btn btn-outline-primary">
+ <a href="<?= Url::to($columns['whatsapp'][1]) ?>" class="btn btn-link" target="_blank" class="btn btn-link">
Посмотреть
</a>
</td>
<td >
- <a href="<?= Url::to($columns['call'][0]) ?>" target="_blank" download="users-call-<?= $date ?>.xlsx">
- СкаÑ\87аÑ\82Ñ\8c EXCEL
+ <a href="<?= Url::to($columns['call'][0]) ?>" class="btn btn-link" target="_blank" download="users-call-<?= $date ?>.xlsx">
+ Ð\97вонок-<?= $date ?>.xlsx
</a>
- <a href="<?= Url::to($columns['call'][1]) ?>" target="_blank" class="btn btn-outline-primary">
+ <a href="<?= Url::to($columns['call'][1]) ?>" target="_blank" class="btn btn-link">
Посмотреть
</a>
</td>
/* @var $model UsersMessageManagement */
/** @var array $links */
-/** @var string $startDate */
-/** @var string $endDate */
+/** @var string $month */
+/** @var string $year */
$this->registerJsFile('/js/users-message-management/index.js', ['position' => \yii\web\View::POS_END]);
<h1>Настройка управления рассылками клиентам</h1>
- <?php $form = ActiveForm::begin(); ?>
+ <?php $form = ActiveForm::begin(['id' => 'main-settings-form']); ?>
<ul class="nav1 br-7 border">
<li class="nav-item1">
<div id="unloadingTab">
<?= $this->render('_export', [
'links' => $links,
- 'startDate' => $startDate,
- 'endDate' => $endDate,
+ 'month' => $month,
+ 'year' => $year,
+ 'model' => $model,
]) ?>
</div>
</div>