Ошибку typeerror аргумент 1 принят к приложение\контроллеры\пользователь\SecurityController::getUserEvent() должен быть экземпляр dektrium\пользователь\модели\Пользователь, экземпляр приложения\модели\пользователя, данные, называется в /применения/mamp/htdocs в/строительного/контроллеры/пользователей/SecurityController.php в строке 153
app\models\User
должна быть dektrium\user\models\User
//.......
'user' => [
'identityClass' => dektrium\user\models\User',
//...
],
//.......
public function behaviors()
{
return [
'access' => [
'class' => \yii\filters\AccessControl::className(),
'rules' => [
// allow authenticated users
[
'allow' => true,
'matchCallback' => function ($rule, $action) {
if (Yii::$app->user->id == 1){
return false;
} else {
return true;
}
}
],
// everything else is denied
],
],
];
}
public function actionDownloadMultiple()
{
$error = "";
if(isset($_POST['createpdf']))
{
$post = $_POST;
$file_folder = "files/"; // папка с файлами
if(extension_loaded('zip'))
{
if(isset($post['files']) and count($post['files']) > 0)
{
// проверяем выбранные файлы
$zip = new ZipArchive(); // подгружаем библиотеку zip
$zip_name = time().".zip"; // имя файла
if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE)
{
$error .= "* К сожалению, создание ZIP не удалось";
}
foreach($post['files'] as $file)
{
$zip->addFile($file_folder.$file); // добавляем файлы в zip архив
}
$zip->close();
if(file_exists($zip_name))
{
// отдаём файл на скачивание
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="'.$zip_name.'"');
readfile($zip_name);
// удаляем zip файл если он существует
unlink($zip_name);
}
}
else
$error .= "* Пожалуйста, выберите файлы";
}
else
$error .= "* У вас нет расширения ZIP";
}
}
15 мая 2018, то такой код подойдет
<?= Yii::$app->formatter->asDate($item->date, 'long')?>
мая
<?= Yii::$app->formatter->asDate($item->date, 'php:M')?>
<?= Yii::$app->formatter->asDate($item->date, 'php:d.M H:i')?>
'language' => 'ru-RU',
'timeZone' => 'Europe/Moscow',
$query = new Query();
$query->select(['profile.user_id as id, CONCAT_WS(" ", profile.last_name, profile.name, profile.middle_name) AS text'])
->from('profile')
->leftJoin('user','profile.user_id = user.id','user.id = 10')
->leftJoin('auth_assignment','auth_assignment.user_id = profile.user_id')
->where('CONCAT_WS(" ", last_name, name, middle_name) LIKE :search')
->params([':search' => '%' . $search . '%'])
->orderBy(['last_name' => 'SORT_ASC', 'name' => 'SORT_ASC', 'middle_name' => 'SORT_ASC'])
->andWhere(['auth_assignment.item_name'=>'organizer'])
->andWhere(['user.status'=>\common\models\User::STATUS_ACTIVE])
->limit(20);
$command = $query->createCommand();
$data = $command->queryAll();
/**
* @return string User full name
*/
public function getFullName()
{
return $this->name . ' ' . $this->surname;
}
return ArrayHelper::map(self::find()->all(), 'id', 'fullName');
// "kartik-v/yii2-widget-select2"
var $hasSelect2 = $(widgetOptionsRoot.widgetItem).find('[data-krajee-select2]');
if ($hasSelect2.length > 0) {
$hasSelect2.each(function() {
var id = $(this).attr('id');
var configSelect2 = eval($(this).attr('data-krajee-select2'));
if ($(this).data('select2')) {
$(this).select2('destroy');
}
var configDepdrop = $(this).data('depdrop');
if (configDepdrop) {
configDepdrop = $.extend(true, {}, configDepdrop);
$(this).removeData().off();
$(this).unbind();
_restoreKrajeeDepdrop($(this));
}
var s2LoadingFunc = typeof initSelect2Loading != 'undefined' ? initSelect2Loading : initS2Loading;
var s2OpenFunc = typeof initSelect2DropStyle != 'undefined' ? initSelect2Loading : initS2Loading;
$.when($('#' + id).select2(configSelect2)).done(s2LoadingFunc(id, '.select2-container--krajee'));
var kvClose = 'kv_close_' + id.replace(/\-/g, '_');
$('#' + id).on('select2:opening', function(ev) {
s2OpenFunc(id, kvClose, ev);
});
$('#' + id).on('select2:unselect', function() {
window[kvClose] = true;
});
if (configDepdrop) {
var loadingText = (configDepdrop.loadingText) ? configDepdrop.loadingText : 'Loading ...';
initDepdropS2(id, loadingText);
}
});
}
/*
// "kartik-v/yii2-widget-select2"
var $hasSelect2 = $(widgetOptionsRoot.widgetItem).find('[data-krajee-select2]');
if ($hasSelect2.length > 0) {
$hasSelect2.each(function() {
var id = $(this).attr('id');
var configSelect2 = eval($(this).attr('data-krajee-select2'));
$(this).select2('destroy');
$.when($('#' + id).select2(configSelect2)).done(initS2Loading(id));
$('#' + id).on('select2-open', function() {
initS2Open(id)
});
if ($(this).attr('data-krajee-depdrop')) {
$(this).on('depdrop.beforeChange', function(e,i,v) {
var configDepdrop = eval($(this).attr('data-krajee-depdrop'));
var loadingText = (configDepdrop.loadingText)? configDepdrop.loadingText : 'Loading ...';
$('#' + id).select2('data', {text: loadingText});
});
$(this).on('depdrop.change', function(e,i,v,c) {
$('#' + id).select2('val', $('#' + id).val());
});
}
});
}
*/