class Sort extends \yii\data\Sort
{
/**
* @inheritdoc
*/
public function getOrders($recalculate = false): array
{
$orders = [];
$request = Yii::$app->getRequest();
$params = $request->getQueryParams();
if (isset($params[$this->sortParam])) {
$sortParams = explode(',', $params[$this->sortParam]);
foreach ($sortParams as $rawField) {
$field = explode(':', ltrim($rawField, '-'));
$sort = 'ASC';
if (($rawField{0} == '-')) {
$sort = 'DESC';
}
if (in_array($field[0], array_keys($this->attributes)) && !empty($field[1])) {
$value = (int) $field[1];
$orders[] = (new Expression("$field[0] = $value $sort"));
}
}
}
$orders = ArrayHelper::merge(
$orders,
parent::getOrders($recalculate)
);
return $orders;
}
}
public function beforeAction($action)
{
if (!parent::beforeAction($action))
{
return false;
}
if (!Yii::$app->user->isGuest)
{
return true;
}
else
{
Yii::$app->getResponse()->redirect(Yii::$app->getHomeUrl());
//для перестраховки вернем false
return false;
}
}
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'language' => 'ru',
'timezone' => 'Asia/Yekaterinburg',
'modules' => [
'user' => [
'class' => 'amnah\yii2\user\Module',
],
'video' => [
'class' => 'app\modules\video\Module',
'as access' => [ // if you need to set access
'class' => 'yii\filters\AccessControl',
'rules' => [
[
'allow' => true,
'roles' => ['@'] // all auth users
],
]
],
],
],
<?php
use yii\db\Migration;
class m160322_045630_add_catalog_data extends Migration {
public function safeUp()
{
Yii::$app->db->createCommand()->batchInsert('country', ['name'], [
['Австралия'],
['Австрия'],
['Азербайджан'],
['Албания'],
])->execute();
}
public function safeDown()
{
Yii::$app->db->createCommand()->delete('country', ['in', 'name', ['Австралия', 'Австрия', 'Азербайджан', 'Албания']]
)->execute();
}
<script>
var input = document.getElementById("id[13]");
var ca = document.getElementById("id[11]");
var si = document.getElementById("id[12]");
input.disabled = true;
ca.onblur = function () {
this.value = (this.value.replace(',', "."));
if (isNaN(this.value)) { // введено не число
// показать ошибку
this.className = "error";
error.innerHTML = 'Вы ввели не число. Исправьте, пожалуйста.'
}
else {
if (!isNaN(si.value)) {
input.value = ((parseFloat(ca.value) || 0) / (parseFloat(si.value) || 0)).toFixed(3);
}
}
};
si.onblur = function () {
this.value = (this.value.replace(',', "."));
if (isNaN(this.value)) { // введено не число
// показать ошибку
this.className = "error";
error.innerHTML = 'Вы ввели не число. Исправьте, пожалуйста.'
}
else {
if (!isNaN(ca.value)) {
input.value = ((parseFloat(ca.value) || 0) / (parseFloat(this.value) || 0)).toFixed(3);
}
}
};
si.onfocus = function () {
if (this.className == 'error') { // сбросить состояние "ошибка", если оно есть
this.className = "";
error.innerHTML = "";
}
};
ca.onfocus = function () {
if (this.className == 'error') { // сбросить состояние "ошибка", если оно есть
this.className = "";
error.innerHTML = "";
}
};
</script>
'<_m>/<_c>/<_a>' => '<_m>/<_c>/<_a>'
<?php
Yii::app()->clientScript->registerScript('register_script_name', "
$('#editButton').click(function(){
document.getElementById('started').value=''; this.blur(); return false;
});
", CClientScript::POS_READY);
echo CHtml::button('Очистить', array('title' => "Edit", 'id' => "editButton"));
?>
<?php if (empty($master)) echo $form->textArea($model, 'act_end', array('rows' => 6, 'cols' => 50));
Yii::app()->getClientScript()->registerScript('myscript','$("#Engine_act_end").keyup(function() {
document.getElementById(\'Engine_reclaimed\').style.display="block";
});');
?>
<div class="row" >
<?php if (empty($master)) echo $form->labelEx($model, 'reclaimed'); ?>
<?php
if (empty($master))
echo $form->checkBox($model, 'reclaimed', array(
'template' => '{input} {labelTitle}',
'class' => 'chclass',
// 'visible' => 'FALSE',
'onchange' => 'javascript:'
. 'if(this.checked)'
. ' document.getElementById("Engine_recovered").value= new Date().toLocaleDateString() +" "+ new Date().toLocaleTimeString();'
. 'else document.getElementById("Engine_recovered").value="";'
)
);
?>
<?php if (empty($master)) echo $form->error($model, 'reclaimed'); ?>
</div>
<script type='text/javascript'>
document.getElementById('Engine_reclaimed').style.display = 'none';
</script>
<?php
namespace app\controllers;
use Yii;
use yii\web\Controller;
use app\models\UploadForm;
use yii\web\UploadedFile;
class UploadController extends Controller
{
public function actionIndex()
{
$model = new UploadForm();
if (Yii::$app->request->isPost) {
$model->file = UploadedFile::getInstance($model, 'file');
if ($model->file && $model->validate()) {
$model->file->saveAs('uploads/' . $model->file->baseName . '.' . $model->file->extension);
}
}
return $this->render('index', ['model' => $model]);
}
}