116 lines
3.1 KiB
PHP
116 lines
3.1 KiB
PHP
<?
|
|
namespace core;
|
|
|
|
use core\core\Rule;
|
|
use \core\db\structure\Column as C;
|
|
use \core\db\structure\eColumnType;
|
|
use core\lang\structure\eLangCode;
|
|
|
|
new Lang();
|
|
class Lang extends \ModuleTable {
|
|
// Название таблицы
|
|
static $table_name = 'lang';
|
|
// Ссылка на самого себя
|
|
static $self;
|
|
// Значение $TO
|
|
static $to = \To::LANG;
|
|
|
|
// Переменные столбцов
|
|
static $ID = 'id';
|
|
static $TEXT_ID = 'text_id';
|
|
static $VIS = 'vis';
|
|
static $IMG = 'img';
|
|
static $MAIN = 'main';
|
|
static $POS = 'pos';
|
|
|
|
|
|
// Мультиязычные значения столбцов
|
|
static $NAME = 1;
|
|
static $translates = [];
|
|
|
|
static $group = \Groups::LANG;
|
|
static $rules = Rule::READ_RULES;
|
|
|
|
public function __construct() {
|
|
self::$translates = [
|
|
self::$NAME=>'',
|
|
];
|
|
parent::__construct();
|
|
}
|
|
|
|
|
|
static $depends = [
|
|
'core\lang\structure\LangVariable',
|
|
'core\lang\structure\LangValue',
|
|
'core\lang\structure\Translate',
|
|
];
|
|
|
|
public static function afterInstall() {
|
|
parent::afterInstall(); // TODO: Change the autogenerated stub
|
|
}
|
|
|
|
static function beforeCreateRules(){
|
|
self::add([
|
|
self::$TEXT_ID=>eLangCode::RU,
|
|
self::$MAIN=>1,
|
|
self::$VIS=>1,
|
|
]);
|
|
self::add([
|
|
self::$TEXT_ID=>eLangCode::EN,
|
|
self::$MAIN=>0,
|
|
self::$VIS=>0,
|
|
]);
|
|
}
|
|
|
|
static function add($values){
|
|
$res = new \stdClass();
|
|
$res->e = 0;
|
|
$res->m = '';
|
|
$row = self::getByTextID($values[ self::$TEXT_ID ]);
|
|
if(!$row) {
|
|
$r = self::insert($values);
|
|
$res->id = $r->id;
|
|
}
|
|
return $res;
|
|
}
|
|
|
|
|
|
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,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME =>&self::$TEXT_ID,
|
|
C::TYPE =>eColumnType::VARCHAR,
|
|
C::LENGTH =>15,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME =>&self::$VIS,
|
|
C::TYPE =>eColumnType::TINYINT,
|
|
C::LENGTH =>1,
|
|
C::DEFAULT =>0,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME =>&self::$IMG,
|
|
C::TYPE =>eColumnType::VARCHAR,
|
|
C::LENGTH =>255,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME =>&self::$MAIN,
|
|
C::TYPE =>eColumnType::TINYINT,
|
|
C::LENGTH =>1,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME =>&self::$POS,
|
|
C::TYPE =>eColumnType::INT,
|
|
C::DEFAULT =>time(),
|
|
]),
|
|
];
|
|
}
|
|
}
|