return [
'language' => 'ru', // указать русский язык
'components' => [
ListView::widget([
'sorter' => [
'class' => CustomLinkSorter::class,
],
Этот модуль позволяет запускать виртуальные хосты от имени пользователя. Кроме всего прочего, это позволяет не задумываться о выставлении дополнительных прав на те, или иные папки и файлы на ваших сайтах.
apachectl -t -D DUMP_MODULES
sudo apt-get install libapache2-mpm-itk && sudo service apapche2 restart
<IfModule mpm_itk_module>
AssignUserId your_user_name your_user_groupe
</IfModule>
$form->field($mod, 'testDrop')->dropDownList([0 => '1', 1 => '2', 2 => '3'], [
'options' => [
1 => ['selected' => true] // Меняя цифру можно установить какой-либо элемент массива по умолчанию
]
]);
$form->field($model, 'id_shop')->dropDownList(ArrayHelper::map(/*********/), [
'options' => [
2 => ['selected' => true] // Если, конечно, такой id есть в базе
]
]);
return $this->redirect('index', ['model' => $model);
'pluginOptions' => [
// остальные настройки
'deleteUrl' => Url::to(['delete-img']), // укажите реальный путь к действию удаления изображений.
'initialPreviewAsData' => true,
'overwriteInitial'=>false,
'initialPreview' => !$model->isNewRecord ? $model->imagesLinks : [],
'initialPreviewConfig' => !$model->isNewRecord ? $model->imagesLinksData : [],
// остальные настройки.
]
public function getImagesLinks()
{
$path = ArrayHelper::getColumn(UploadsFiles::find()->all(), 'pathImg');
return $path;
}
public function getImagesLinksData()
{
$files = UploadsFiles::find()->all();
return ArrayHelper::toArray($files,[
UploadsFiles::class => [
'caption' => 'file',
'key' => 'id'
]
]);
}
// getPathImg() возвращает путь к изображению, используется в getImagesLinks()
public function getPathImg()
{
return Url::home(true) . 'uploads/' . $this->file;
}
$this->registerJs('
// #uploadsfiles-imagesfile - id Вашего FileInput
$("#uploadsfiles-imagesfile").on("fileuploaded", function(event, data, previewId, index) {
input.fileinput("destroy").fileinput({
multiple: true,
showUpload: false,
showRemove: false,
initialPreviewAsData: true,
overwriteInitial: false,
uploadUrl: "' . Url::to(['upload-img']) . '", // подставить реальный путь к действию
deleteUrl: "' . Url::to(['delete-img']) . '", // подставить реальный путь к действию
initialPreview: data.response.initialPreview,
initialPreviewConfig: data.response.initialPreviewData,
})
input.closest("form").find("button").attr("disabled", false)
console.log(data);
});
', View::POS_END);
public function actionUploadImg()
{
$model = new UploadsFiles();
if(Yii::$app->request->isAjax){
$model->imagesFile = UploadedFile::getInstance($model, 'imagesFile');
if($model->upload()){
$model->load(Yii::$app->request->post());
$model->saveImg();
$answer['initialPreview'] = $model->getImagesLinks();
$answer['initialPreviewData'] = $model->getImagesLinksData();
return json_encode($answer);
}
}
return false;
}
public function actionDeleteImg()
{
if(Yii::$app->request->isAjax){
$model = UploadsFiles::find()->where('id=:id', [':id' => Yii::$app->request->post('key')])->one();
FileHelper::unlink('uploads/' . $model->file);
$model->delete();
return Json::encode('Delete');
}
return false;
}
public $filename;
$model = new Image();
$model->filename;
'main' => [
'class' => 'app\modules\main\MainModule',
'layout' => 'main.php',
'layoutPath' => '@app/modules/main/views/layouts',
'params' => [
'test' => 'test1',
'test2' => 'test22'
]
],
// Если указали в классе модуля public $filename
$main = Yii::$app->getModule('main');
echo $main->filename;
// Если указали параметром в конфигурационном файле.
$main = Yii::$app->getModule('main');
echo $main->params['test'];
Yii::$app->controller->module->id
Yii::$app->controller->id
return $this->redirect(['admin', 'modalErrorOplata' => $modalErrorOplata]);
->andWhere(['not exists', $sub])
->andWhere(['not in', 'id', $sub])
$sub = Transaction::find()
->where(['>', 'amount', 0])
->andWhere(['brand_id' => $brand])
->andWhere(['between', 'created_at', $start_date, $end_date])
->column();
'components' => [
'testComponent' => [
'class' => 'app\components\TestComponent',
'name' => 'testComponent'
]
]
class TestComponent extends Component
{
public $name;
public function create()
{
$config = ArrayHelper::getValue(Yii::$app->components, Yii::$app->testComponent->name, []);
return Yii::createObject($config);
}
}
Yii::$app->testComponent->className()
// В ActiveForm
$form->field($model, 'password',[
'errorOptions' => [
'encode' => false,
]
])->passwordInput()
// В модели
$this->addError('password', UsersModule::t('module', 'ERROR_WRONG_USERNAME_OR_PASSWORD', ['link' => Html::tag('a','test')]));
$str = "XXXX 6653";
$pattern = "#(\w+)\s(\d+)#";
$replacement = "$2 $1";
echo preg_replace($pattern, $replacement, $str);
function parse ($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($curl);
return $result;
}
echo parse('https://sofifa.com/');