namespace academy\course; use core\db\structure\Column as C; use core\db\structure\eColumnType; use ui\form\structure\eInputType; use ui\Form; use ui\input\Input; use core\lang\structure\LangVariable as V; use ms\ms\structure\msModuleTable; use academy\course\lesson\structure\academyCourseLessonLang as Vars; class Lesson extends msModuleTable { static $self; static $table_name = 'academyCourseLesson'; static $controller = 'academy.course.lesson'; static $ID = 'id'; static $NAME = 'name'; static $SECTION = 'section'; static $COURSE = 'course'; static $CONTENT = 'content'; static $POS = 'pos'; static $SETTINGS = 'settings'; static $PROFILE = 'profile'; static $ACCOUNT = 'account'; static $CREATED = 'created'; static $UPDATED = 'updated'; static function getTitle(){return V::get(Vars::$MODULE_NAME);} static function getSystemLangValues():array{ return Vars::getArray(); } public function _update(\Where $w, array $values) { $values[self::$UPDATED] = time(); return parent::_update($w, $values); } static function getText($v){ return ($c = $v[self::$CONTENT])?$c:'
Введите описание
'; } static function getForm($values = [], $options = []) :array { return [ self::getCommonFormInputs(), [ Form::VIEW=>Form::ROW, Form::COLS => [ [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'col-12', Form::KEY_VALUE =>self::$NAME, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$NAME), Input::LABEL => $c, ], ], ] ], self::getCommonFormSubmits($values), ]; } 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::$NAME, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 1023, C::TH => V::get(Vars::$NAME), ]), new C([ C::VAR_NAME => &self::$SECTION, C::TYPE => eColumnType::INT, C::DEFAULT => 0, //C::TH => V::get(Vars::$COURSE), c::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$COURSE, C::TYPE => eColumnType::INT, C::DEFAULT => 0, //C::TH => V::get(Vars::$COURSE), c::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$POS, C::TYPE => eColumnType::INT, C::DEFAULT => time(), //C::TH => V::get(Vars::$COURSE), c::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$PROFILE, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::DEFAULT => PID, c::HIDDEN => true, //C::TH => V::get(Vars::$PROFILE), ]), new C([ C::VAR_NAME => &self::$CONTENT, C::TYPE => eColumnType::LONGTEXT, C::DEFAULT => '', c::HIDDEN => true, //C::TH => V::get(Vars::$CONTENT), ]), new C([ C::VAR_NAME => &self::$SETTINGS, C::TYPE => eColumnType::TEXT, C::DEFAULT => '{}', c::HIDDEN => true, //C::TH => V::get(Vars::$SETTINGS), ]), new C([ C::VAR_NAME => &self::$ACCOUNT, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::TH => V::get(Vars::$ACCOUNT), C::DEFAULT => intval(UID), c::HIDDEN=>true, c::FUNC_VALUE => function($v){ if($id = $v[self::$ACCOUNT]) { return \Account::getName( \Account::getByID($id) ); } else return '-'; }, ]), new C([ C::VAR_NAME => &self::$CREATED, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::TH => V::get(Vars::$CREATED), C::DEFAULT => time(), c::FUNC_VALUE => function($v){return self::formatDate($v[self::$CREATED]);}, c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$UPDATED, C::TYPE => eColumnType::INT, C::DEFAULT => time(), C::TH => V::get(Vars::$UPDATED), c::FUNC_VALUE => function($v){return self::formatDate($v[self::$UPDATED]);}, c::HIDDEN=>true, ]), ]; } } new Lesson(); ///