<?php

use yii\helpers\Html;
use yii\widgets\ActiveForm;

/** @var yii\web\View $this */
/** @var manager\models\CommentsFilter $model */
/** @var yii\widgets\ActiveForm $form */

if (Yii::$app->request->isGet){
		if($uid1 = Yii::$app->request->get('uid1')){
			$model->uid1 = $uid1;
		}
		if($uid2 = Yii::$app->request->get('uid2')){
			$model->uid2 = $uid2;
		}
		if($name = Yii::$app->request->get('ntext')){
			$model->fname = $name;
		}
}
?>

<div class="comments-filter-form">

    <?php $form = ActiveForm::begin(); ?>


<div class="card">
    <div class="card-header" id="heading1">
      <h2 class="mb-0">
          Название фильтра
      </h2>
    </div>
      <div class="card-body">
            <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?>
      </div>
</div>


<div class="accordion" id="accordion1">
<div class="card">
    <div class="card-header" id="heading1">
      <h2 class="mb-0">
        <button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapse1" aria-expanded="true" aria-controls="collapse1">
          1. По пользователю
        </button>
      </h2>
    </div>
    <div id="collapse1" class="collapse <?=($model->uid1 == '' && $model->uid2 == '')?'':'show'?>" aria-labelledby="heading1" data-parent="#accordion1">
      <div class="card-body">
            <?= $form->field($model, 'uid1')->textInput(['maxlength' => true]) ?>

			<?= $form->field($model, 'uid2')->textInput(['maxlength' => true]) ?>
      </div>
      	<div class="card-footer text-center">
			Указывать или <b>IP</b> или <b>UA</b>, если заполнить оба поля будет фильтроватся пользователь с этим <b>IP</b> и <b>UA</b> - узкополосный фильтр. <b>UA</b> - указывается в шифрованом виде.
		</div>
    </div>
</div>

<div class="card">
    <div class="card-header" id="heading2">
      <h2 class="mb-0">
        <button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapse2" aria-expanded="true" aria-controls="collapse2">
          2. По тексту коментария
        </button>
      </h2>
    </div>
    <div id="collapse2" class="collapse <?=($model->ftext == '')?'':'show'?>" aria-labelledby="heading2" data-parent="#accordion1">
      <div class="card-body">
			<?= $form->field($model, 'ftext')->textarea(['rows' => 6])->label('Фильтр для коментария') ?>
	  </div>
    </div>
	<div class="card-footer text-center">
		Для фильтра можно использовать регулярные выражения типа: .* - любое количество любых символов, _ - любой символ, \s - пробел, <a href="https://htmlweb.ru/php/php_regexp.php" class="small-box-footer">подробнее <i class="fas fa-arrow-circle-right"></i></a><br>
		\sдура.* - соответствует дура, дурак, дурачина и.т.п, при этом Амадура не попадёт в фильтр, так как необходим пробел перед "д"
	</div>
</div>
<div class="card">
    <div class="card-header" id="heading3">
      <h2 class="mb-0">
        <button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapse3" aria-expanded="true" aria-controls="collapse3">
          3. По нику коментария
        </button>
      </h2>
    </div>
    <div id="collapse3" class="collapse <?=($model->fname == '')?'':'show'?>" aria-labelledby="heading3" data-parent="#accordion1">
      <div class="card-body">
			<?= $form->field($model, 'fname')->textarea(['rows' => 6])->label('Фильтр для имени') ?>
	  </div>
    </div>
</div>

    <?= $form->field($model, 'active')->dropDownList([ 'Y' => 'Y', 'N' => 'N', ], ['prompt' => '']) ?>
</div>
    <div class="form-group">
        <?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?>
    </div>

    <?php ActiveForm::end(); ?>
	<div class="callout callout-warning">
		<h5><i class="icon fas fa-info"></i> Описание действия фильтров</h5>
		<p>Фильтры применяются последовательно согласно форме - вначале проверяется <b><b>IP</b></b>, затем <b>UA</b>, и т.д. пока не встретися совпадение. Если заполнены <b><b>IP</b></b> и <b>UA</b>, то отфильтруется только при полном совпадении <b><b>IP</b></b> и <b>UA</b>.</p>
	</div>
</div>
