$id, 'title' => trim((string)$v[self::$NAME]), 'old' => number_format($v[self::$PRICE],"2",".",""), 'price' => number_format($price,"2",".",""), 'description' => trim((string)$v[self::$DESCRIPTION]), 'type' => $type, 'bought' => Profile::hasAccessToProduct($type), 'image' => Image::format($v[self::$IMAGE],$options), 'css_class' => self::getImgCssClass($v), ]; } public static function getFormInputs(\ModuleBZ\Form &$form, array $data, $C, bool $isEdit) { $img = null; if($c = $C[self::$IMAGE]) $img = Image::getByID($c); $form ->addInput((new ImagePicker()) ->setName(self::$IMAGE) ->setLabel(V::get(Vars::$IMAGE)) ->setUploadUrl(\Site::sectionUrl(substr(Image::UPLOAD_URL_PROFILE,1),true)) // TODO: Удалить //->setAjaxData(['token'=>1]) ->setSrc($img?$img[Image::$URL]:'') ->setValue($C[self::$IMAGE]) ) ->addRow((new Row()) ->addColumn(((new Text()) ->setName(self::$NAME) ->setValue($C[self::$NAME]) ->setClassAll('c-1-3') ->setLabel(V::get(Vars::$NAME)) ->setPlaceholder(V::get(Vars::$NAME)) )) ->addColumn(((new Text()) ->setName(self::$PRICE) ->setValue($C[self::$PRICE]) ->setClassAll('c-1-3') ->setLabel(V::get(Vars::$PRICE)) ->setPlaceholder(1000) )) ->addColumn(((new Select()) ->setName(self::$TYPE) ->setValue(intval($C[self::$TYPE])) ->setClassAll('c-1-3') ->setLabel(V::get(Vars::$TYPE)) ->setOptions(eVcardBuyAccess::getNameList()) )) ) ->addInput((new Textarea()) ->setName(self::$DESCRIPTION) ->setLabel(V::get(Vars::$DESCRIPTION)) ->setValue($C[self::$DESCRIPTION]) ) ; } 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::$IMAGE, C::TYPE => eColumnType::INT, C::DEFAULT => 0, C::TH => V::get(Vars::$IMAGE), ]), 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::$VIS, C::TYPE => eColumnType::TINYINT, C::DEFAULT => 0, //C::TH => V::get(Vars::$VIS), ]), new C([ C::VAR_NAME => &self::$PRICE, C::TYPE => eColumnType::DOUBLE, C::DEFAULT => 0, C::TH => V::get(Vars::$PRICE), ]), new C([ C::VAR_NAME => &self::$DESCRIPTION, C::TYPE => eColumnType::TEXT, C::TH => V::get(Vars::$DESCRIPTION), c::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$PORTAL, C::TYPE => eColumnType::INT, C::DEFAULT => intval(\Site::$portal_id), c::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$TYPE, C::TYPE => eColumnType::INT, C::DEFAULT => 0, C::TH => V::get(Vars::$TYPE), ]), new C([ C::VAR_NAME => &self::$POS, C::TYPE => eColumnType::INT, C::DEFAULT => time(), c::HIDDEN => true, ]), 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, 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 Product(); ///