218 lines
7.0 KiB
PHP
218 lines
7.0 KiB
PHP
<?
|
|
namespace themes\merakomis;
|
|
|
|
use core\db\structure\Column as C;
|
|
use core\db\structure\eColumnType;
|
|
use core\lang\structure\LangVariable as V;
|
|
use ModuleBZ\Form\Input\Select;
|
|
use ModuleBZ\Layout\Column;
|
|
use ms\ms\structure\msModuleTable;
|
|
use common\Image;
|
|
use ModuleBZ\Form\Input\ImagePicker;
|
|
use ModuleBZ\Form\Input\Switcher;
|
|
use ModuleBZ\Form\Input\Text;
|
|
use ModuleBZ\Form\Input\Textarea;
|
|
use ModuleBZ\Layout\Row;
|
|
use themes\merakomis\input\Save as InputSave;
|
|
use themes\merakomis\structure\merakomisModuleTable;
|
|
use themes\merakomis\variable\structure\lang as Vars;
|
|
|
|
|
|
class Variable extends merakomisModuleTable {
|
|
static $self;
|
|
static $cache = [];
|
|
static $table_name = 'tMerakomisVariable';
|
|
static $controller = 'themes.merakomis.variable';
|
|
|
|
static $ID = 'id';
|
|
static $YEAR = 'year';
|
|
static $K1 = 'k1';
|
|
static $K2 = 'k2';
|
|
static $MROT = 'mrot';
|
|
static $FOND1 = 'fond1';
|
|
static $FOND2 = 'fond2';
|
|
static $FOND3 = 'fond3';
|
|
|
|
static function getTitle(){return V::get(Vars::$MODULE_NAME);}
|
|
static function getSystemLangValues():array{ return Vars::getArray(); }
|
|
|
|
|
|
static $CACHE_VARIABLES;
|
|
|
|
static function getAllVariables(){
|
|
if(isset(self::$CACHE_VARIABLES)){ return self::$CACHE_VARIABLES;}
|
|
$res = [];
|
|
$a = Variable::getAll();
|
|
foreach ($a as $v){
|
|
$res[$v[Variable::$YEAR]] = $v;
|
|
}
|
|
return self::$CACHE_VARIABLES = $res;
|
|
}
|
|
|
|
public static function getFormInfo($data)
|
|
{
|
|
$res = parent::getFormInfo($data); // TODO: Change the autogenerated stub
|
|
$res['title'] = 'Редактор переменных';
|
|
return $res;
|
|
}
|
|
|
|
static function getFormInputs(\ModuleBZ\Form &$form, array $data, $C, bool $isEdit) {
|
|
|
|
$options = [];
|
|
$r = self::select(['count'=>0]);
|
|
$exclude = [];
|
|
while($l = \DB::fetch($r)) {
|
|
if($C and $C[self::$YEAR]==$l[self::$YEAR]) continue;
|
|
$exclude[] = $l[self::$YEAR];
|
|
}
|
|
|
|
$year = date('Y');
|
|
for ($i=$year;$i>=2020;$i--) {
|
|
if(in_array($i,$exclude)) continue;
|
|
$options[] = ['id'=>$i,'title'=>$i];
|
|
}
|
|
|
|
|
|
$form
|
|
->addRow((new Row())
|
|
->addColumn((new Column())->setClassAll('c-40 ')->addRow((new Row())))
|
|
->addColumn(
|
|
(new Column())->setClassAll('c-20 ')
|
|
->addRow((new Row())
|
|
->addColumn(((new Select())
|
|
->setName(self::$YEAR)
|
|
->setValue(intval($C[self::$YEAR]))
|
|
->setClassAll('c-100')
|
|
->setLabel($c = V::get(Vars::$YEAR))
|
|
->setPlaceholder($c)
|
|
->setOptions($options)
|
|
))
|
|
->addColumn(((new Text())
|
|
->setName(self::$K1)
|
|
->setValue($C[self::$K1])
|
|
->setClassAll('c-100')
|
|
->setLabel($c = V::get(Vars::$K1))
|
|
->setPlaceholder($c)
|
|
))
|
|
->addColumn(((new Text())
|
|
->setName(self::$K2)
|
|
->setValue($C[self::$K2])
|
|
->setClassAll('c-100')
|
|
->setLabel($c = V::get(Vars::$K2))
|
|
->setPlaceholder($c)
|
|
))
|
|
/*
|
|
->addColumn(((new Text())
|
|
->setName(self::$MROT)
|
|
->setValue($C[self::$MROT])
|
|
->setClassAll('c-100')
|
|
->setLabel($c = V::get(Vars::$MROT))
|
|
->setPlaceholder($c)
|
|
))
|
|
->addColumn(((new Text())
|
|
->setName(self::$FOND1)
|
|
->setValue($C[self::$FOND1])
|
|
->setClassAll('c-100')
|
|
->setLabel($c = V::get(Vars::$FOND1))
|
|
->setPlaceholder($c)
|
|
))
|
|
->addColumn(((new Text())
|
|
->setName(self::$FOND2)
|
|
->setValue($C[self::$FOND2])
|
|
->setClassAll('c-100')
|
|
->setLabel($c = V::get(Vars::$FOND2))
|
|
->setPlaceholder($c)
|
|
))
|
|
->addColumn(((new Text())
|
|
->setName(self::$FOND3)
|
|
->setValue($C[self::$FOND3])
|
|
->setClassAll('c-100')
|
|
->setLabel($c = V::get(Vars::$FOND3))
|
|
->setPlaceholder($c)
|
|
))
|
|
*/
|
|
)->addRow((new Row())
|
|
->addColumn(((new InputSave())->setClassAll('c-100')->setName('save')))
|
|
)
|
|
)
|
|
)
|
|
;
|
|
}
|
|
|
|
static function columnInfo() : array {
|
|
return [
|
|
new C([
|
|
C::VAR_NAME =>&self::$ID,
|
|
C::TYPE =>eColumnType::INT,
|
|
C::AUTO_INCREMENT =>true,
|
|
C::PRIMARY =>true,
|
|
C::DEFAULT =>0,
|
|
C::HIDDEN =>true,
|
|
C::TH =>V::get(Vars::$ID),
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$YEAR,
|
|
C::TYPE => eColumnType::INT,
|
|
C::TH => V::get(Vars::$YEAR_TH),
|
|
]),
|
|
|
|
new C([
|
|
C::VAR_NAME => &self::$K1,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::LENGTH => '10,2',
|
|
C::TH => V::get(Vars::$K1_TH),
|
|
]),
|
|
|
|
new C([
|
|
C::VAR_NAME => &self::$K2,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::LENGTH => '10,2',
|
|
C::TH => V::get(Vars::$K2_TH),
|
|
]),
|
|
|
|
new C([
|
|
C::VAR_NAME => &self::$MROT,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::LENGTH => '10,2',
|
|
C::TH => V::get(Vars::$MROT_TH),
|
|
C::HIDDEN => true,
|
|
]),
|
|
|
|
new C([
|
|
C::VAR_NAME => &self::$FOND1,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::LENGTH => '10,2',
|
|
C::TH => V::get(Vars::$FOND1_TH),
|
|
C::HIDDEN => true,
|
|
]),
|
|
|
|
new C([
|
|
C::VAR_NAME => &self::$FOND2,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::LENGTH => '10,2',
|
|
C::TH => V::get(Vars::$FOND2_TH),
|
|
C::HIDDEN => true,
|
|
]),
|
|
|
|
new C([
|
|
C::VAR_NAME => &self::$FOND3,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::LENGTH => '10,2',
|
|
C::TH => V::get(Vars::$FOND3_TH),
|
|
C::HIDDEN => true,
|
|
]),
|
|
|
|
|
|
];
|
|
}
|
|
|
|
}
|
|
new Variable();
|
|
|
|
|
|
///
|
|
|
|
|
|
|
|
///
|