intval($v[self::$ID]), 'title' => trim((string)$v[self::$NAME]), 'color' => trim((string)$v[self::$COLOR]), 'color_bg' => trim((string)$v[self::$COLOR_BG]), 'pos' => intval($v[self::$POS]), 'archive' => boolval($v[self::$ARCHIVE]), ]; } static function getByProfile($pid,$isAssoc = true){ $pid = intval($pid); return self::select([ \Query::WHERE => new \Where( \Where::_operator(self::$PROFILE,'=',$pid) ), \Query::SORT => [self::$POS=>'ASC'], ],$isAssoc); } static function getMy(){ return self::getByProfile(PID); } static function getMyFormatted(){ $res = []; $a = self::getMy(); foreach ($a as $v){ $res[] = self::format($v); } return $res; } static function archiveByID($id){ $id = intval($id); self::updateById($id,[ self::$ARCHIVE => 1, ]); $a = Action::getByCategory($id); foreach ($a as $v){ Action::archiveByID($v[Action::$ID]); } } static function unzipByID($id){ $id = intval($id); self::updateById($id,[ self::$ARCHIVE => 0, ]); $a = Action::getByCategory($id); foreach ($a as $v){ Action::unzipByID($v[Action::$ID]); } } static function removeByID($id) { $id = intval($id); self::deleteByID($id); $a = Action::getByCategory($id); foreach ($a as $v){ Action::removeByID($v[Action::$ID]); } } public static function getFormInputs(\ModuleBZ\Form &$form, array $data, $C, bool $isEdit) { $form ->addRow((new Row()) ->addColumn((new Text()) ->setClassAll('c-100') ->setPlaceholder('Введите название категории') ->setValue($C?$C[self::$NAME]:'') ->setName(self::$NAME) ) ) ->addRow((new Row()) ->addColumn((new ColorPicker()) ->setClassAll('c-50') ->setLabel('Цвета фона категории') ->setValue($C?$C[self::$COLOR_BG]:'#F0F0F0') ->setName(self::$COLOR_BG) ) ->addColumn((new ColorPicker()) ->setClassAll('c-50') ->setLabel('Цвет текст категории') ->setValue($C?$C[self::$COLOR]:'') ->setName(self::$COLOR) ) ) ; } 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::$COLOR, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 31, ]), new C([ C::VAR_NAME => &self::$COLOR_BG, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 31, ]), new C([ C::VAR_NAME => &self::$PORTAL, C::TYPE => eColumnType::INT, C::DEFAULT => intval(\Site::$portal_id), ]), new C([ C::VAR_NAME => &self::$PROFILE, C::TYPE => eColumnType::VARCHAR, C::DEFAULT => intval(PID), ]), new C([ C::VAR_NAME => &self::$POS, C::TYPE => eColumnType::VARCHAR, C::DEFAULT => time(), ]), new C([ C::VAR_NAME => &self::$ARCHIVE, C::TYPE => eColumnType::TINYINT, C::DEFAULT => 0, ]), new C([ C::VAR_NAME => &self::$ACCOUNT, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::TH => V::get(Vars::$ACCOUNT), C::DEFAULT => intval(\Site::$owner_id), c::HIDDEN=>true, ]), 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 Category(); ///