Tag Archive: пример

Access Control Yii2 + анонимная функция

В Yii2 появилась возможность повесить свою бизнес логику в виде анонимной функции для контроля доступа к странице. Теперь вы можете делать какие-то действия и возвращать либо true либо false для доступа к странице. Сделать это можно следующим образом: public function…
Read more

Шаблоны ActiveForm в Yii2

Шаблон формы ActiveForm в Yii2 с возможностью задания шаблона вывода полей, списков из базы данных, списков из готового массива значений. <?php $form = \yii\widgets\ActiveForm::begin([ ‘fieldConfig’ => [ ‘template’ => «<div> {label} </div> <div>{input} {error}</div>\n», ‘labelOptions’=>[‘class’ => ‘control-label’], ], ]); ?>…
Read more

Создание ZIP архива с паролем в PHP

Следующая функция может запаковать в ZIP архив файл и установить пароль. Для создания ZIP архива используется встроенный архиватор ZIP Linux системы. Также у PHP скрипта должно быть разрешение на работу функции shell_exec. function createZip($fileName,$fileText,$zipFileName,$zipPassword) { $file = file_put_contents($fileName,$fileText); shell_exec(‘zip -P…
Read more

CSRF защита входных данных и ее отключение в Yii2

По умолчанию в Yii2 используется защита от межсайтовой подделки запроса. То есть вы не сможете отправить POST запрос без согласия самого Yii2 (т.е токена который создается при отправке формы). Но бывают случаи когда POST запросы необходимо принимать (как пример входящие…
Read more

Динамическое изменение классов таблицы CGridView

Для изменения класса строк таблицы в CGridview yii1 можно воспользоваться следующим шаблоном: ‘rowCssClassExpression’ => function($row, $data) { // $row — номер строки // $data — модель данных if($data->amount > 0){ return ‘success’; } return ‘none’; }, Данный обработчик возвращает название…
Read more

Динамическая загрузка value в select по Ajax

Удобный шаблон для подгрузки необходимых данных в input type select: <script> function loadSubCats(select) { var catSelect = jQuery(‘#subcategory_id’); jQuery.getJSON(‘ajax.php’, { id:select.value}, function(subcatList){ catSelect.html(»); // очищаем список jQuery.each(subcatList, function(i){ catSelect.append(‘<option value=»‘ + this + ‘»>’ + this + ‘</option>’); }); });…
Read more

YiiMailer шаблон отсылки сообщений

Самое удобное расширение для yii по отправке сообщений. Сам YiiMailer можете поставить через Composer. Пример: $mail = new YiiMailer(); $mail->setFrom(Yii::app()->params[‘supportEmail’], ‘Компания’); $mail->setTo($model->email); $mail->setSubject(‘Наша тема’); $mail->setAttachment($PDFFile); $mail->setBody($message); $mail->send();