744 lines
32 KiB
PHP
744 lines
32 KiB
PHP
<?
|
|
namespace shop;
|
|
|
|
use common\Gallery;
|
|
use common\gallery\Slide;
|
|
use common\Review;
|
|
use common\Seo;
|
|
use core\columns\structure\eFilterType;
|
|
use core\core\structure\eRowClick;
|
|
use core\db\structure\Column as C;
|
|
use core\db\structure\eColumnType;
|
|
use ModuleBZ\Layout\Row;
|
|
use ms\MS;
|
|
use ms\ms\structure\eTab;
|
|
use ms\ms\structure\eTabType;
|
|
use ms\ms\structure\msTo;
|
|
use shop\core\structure\shopModuleTable;
|
|
use shop\item\Growth;
|
|
use shop\item\structure\eShopItemPriceType;
|
|
use shop\item\Value;
|
|
use ui\form\structure\eInputType;
|
|
use ui\Form;
|
|
use ui\input\Input;
|
|
use core\lang\structure\LangVariable as V;
|
|
use shop\item\structure\shopItemLang as Vars;
|
|
use shop\category\Item as CategoryItem;
|
|
use common\Image;
|
|
use shop\item\price\Variant as PriceVariant;
|
|
use shop\item\price\Component as PriceComponent;
|
|
use shop\item\price\MultiComponent as PriceMultiComponent;
|
|
use shop\item\price\Filial as PriceFilial;
|
|
|
|
|
|
class Item extends shopModuleTable {
|
|
static $self;
|
|
static $table_name = 'shopItem';
|
|
static $controller = 'shop.item';
|
|
|
|
//static $easy_left_joins;
|
|
|
|
static $ID = 'id';
|
|
static $NAME = 'name';
|
|
static $PRICE = 'price';
|
|
static $PRICE_TYPE = 'price_type';
|
|
static $COMPONENT = 'component';
|
|
static $TEXT_ID = 'text_id';
|
|
static $IMAGE = 'image';
|
|
static $GALLERY = 'gallery';
|
|
static $ANNOTATION = 'annotation';
|
|
static $TEXT = 'text';
|
|
static $ARTICLE = 'article';
|
|
static $VIS = 'vis';
|
|
static $ID_1C = 'id_1c';
|
|
static $COMPONENT_MIN = 'component_min';
|
|
static $COMPONENT_MAX = 'component_max';
|
|
static $COMPONENT_DEFAULT = 'component_default';
|
|
static $COUNT = 'count';
|
|
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);
|
|
}
|
|
|
|
public static function installUniques() {
|
|
\DB::addIndex(self::$table_name,self::$COMPONENT);
|
|
\DB::addIndex(self::$table_name,self::$VIS);
|
|
\DB::addIndex(self::$table_name,self::$ACCOUNT);
|
|
\DB::addIndex(self::$table_name,self::$TEXT_ID);
|
|
\DB::addIndex(self::$table_name,self::$IMAGE);
|
|
\DB::addIndex(self::$table_name,self::$ID_1C);
|
|
}
|
|
|
|
|
|
public function _insert(array $values, array $options = array()) {
|
|
$res = parent::_insert($values, $options);
|
|
self::prepareItem($res->id);
|
|
return $res;
|
|
}
|
|
|
|
static function prepareItem($C){
|
|
if(is_numeric($C)) $C = self::getByID($C);
|
|
$id = $C[self::$ID];
|
|
if(!$C[self::$GALLERY]) {
|
|
$r = Gallery::insert([
|
|
Gallery::$TO => msTo::ITEM,
|
|
Gallery::$OID => $id,
|
|
]);
|
|
self::updateById($id, [Item::$GALLERY => $r->id]);
|
|
}
|
|
}
|
|
|
|
|
|
public static function getName($v, array $options = []): string { return $v?(string)$v[self::$NAME]:'-'; }
|
|
public static function getDescription($v, array $options = []): string { return $v?$v[self::$TEXT]:'-'; }
|
|
public static function getEditTitle($values = []): string { return self::getTitle().' '.self::getName($values); }
|
|
|
|
public static function getWindowTableRules() {
|
|
return [
|
|
\ModuleTable::COPY=>true,
|
|
\Query::WHERE=>new \Where(\Where::_operator(self::$ACCOUNT,'=',UID))
|
|
];
|
|
}
|
|
|
|
|
|
|
|
static function getGrowthPrices($item_id,$isAssocArray = true){
|
|
return Growth::select( [
|
|
\Query::WHERE=>new \Where(\Where::_operator(Growth::$ITEM,'=',$item_id)),
|
|
], $isAssocArray );
|
|
}
|
|
|
|
public static function afterUadd($values, $id, $result) {
|
|
$res = parent::afterUadd($values, $id, $result);
|
|
$C = self::getByID($id);
|
|
$upd = [];
|
|
if($C[self::$COMPONENT_MAX] < $C[self::$COMPONENT_MIN] ) $upd[self::$COMPONENT_MAX] = $C[self::$COMPONENT_MIN];
|
|
if($C[self::$COMPONENT_DEFAULT] < $C[self::$COMPONENT_MIN] ) $upd[self::$COMPONENT_DEFAULT] = $C[self::$COMPONENT_MIN];
|
|
if($upd) {
|
|
self::updateById($id,$upd);
|
|
}
|
|
|
|
if(isset($values['gallery'])) {
|
|
Gallery::setSlidesFromInput($C[self::$GALLERY], $values['gallery']);
|
|
}
|
|
if(isset($values['category'])){
|
|
$cat = $values['category'];
|
|
if($cat){
|
|
CategoryItem::setCategories($id,[$cat]);
|
|
}
|
|
}
|
|
|
|
if(isset($values[self::$TEXT_ID])){
|
|
$tid = $values[self::$TEXT_ID];
|
|
if($tid==""){
|
|
self::updateById($id,[
|
|
self::$TEXT_ID => translit($values[self::$NAME]),
|
|
]);
|
|
}
|
|
}
|
|
return $res;
|
|
}
|
|
|
|
|
|
public static function getEditTabs($values=[]) {
|
|
$id = $values[self::$ID];
|
|
self::prepareItem($values);
|
|
return
|
|
[
|
|
[
|
|
eTab::NAME=>'Редактировать товар',
|
|
eTab::TYPE=>eTabType::FORM,
|
|
eTab::CONTENT=>function($values=[]){
|
|
return self::_getForm($values, static::getFormOptions($values));
|
|
},
|
|
],
|
|
[
|
|
eTab::NAME => 'Категории, в которых расположен товар',
|
|
eTab::TYPE=>eTabType::TABLE,
|
|
eTab::CONTENT => function ($values) {
|
|
$id = $values[self::$ID];
|
|
$justData = boolval($values['justData']);
|
|
$o = [
|
|
\Query::COUNT=>0,
|
|
\Query::WHERE=>new \Where(
|
|
\Where::_operator(CategoryItem::$ITEM,'=',$id)
|
|
),
|
|
\ModuleTable::FORM_INIT_DATA=>[
|
|
CategoryItem::$ITEM => $id,
|
|
'react'=>$justData?1:0,
|
|
],
|
|
\ModuleTable::ROW_CLICK => eRowClick::OPEN_UADD,
|
|
\ModuleTable::TABLE_ID => self::$table_name.'_'.CategoryItem::$table_name.'_'.$id
|
|
];
|
|
|
|
return $justData ? CategoryItem::getTableData( $o ) : CategoryItem::drawTable( $o );
|
|
}
|
|
],
|
|
[
|
|
eTab::NAME=>'Фотографии',
|
|
eTab::TYPE=>eTabType::TABLE,
|
|
eTab::CONTENT=>function($values=[]){
|
|
$gallery_id = $values[self::$GALLERY];
|
|
$o = [
|
|
\ModuleTable::SORTABLE => true,
|
|
\Query::COUNT => 0,
|
|
\Query::SORT => [Slide::$POS=>'ASC'],
|
|
\ModuleTable::ROW_CLICK => eRowClick::CARD,
|
|
\Query::WHERE=>new \Where(\Where::_operator(Slide::$GALLERY,'=',$gallery_id)),
|
|
\ModuleTable::FORM_INIT_DATA=>[
|
|
Slide::$GALLERY => $gallery_id,
|
|
],
|
|
\ModuleTable::TABLE_ID => self::$table_name.'_'.Slide::$table_name.'_'.$gallery_id,
|
|
|
|
\ModuleTable::COLUMN_RENDER => [
|
|
Slide::$IMAGE => [
|
|
\ModuleTable::COLUMN_RENDER_IMAGE_WRAP => true,
|
|
\ModuleTable::COLUMN_RENDER_LINK_MODAL=>true,
|
|
],
|
|
]
|
|
];
|
|
|
|
return $values['justData'] ? Slide::getTableData( $o ) : Slide::drawTable( $o );
|
|
},
|
|
],
|
|
[
|
|
eTab::NAME=>'Свойства товара',
|
|
eTab::TYPE=>eTabType::TABLE,
|
|
eTab::CONTENT=>function($values=[]){
|
|
$id = $values[self::$ID];
|
|
$justData = boolval($values['justData']);
|
|
$init_data = [
|
|
Value::$ITEM => $id,
|
|
'react'=>$justData?1:0,
|
|
];
|
|
$o = [
|
|
\Query::WHERE=>new \Where(\Where::_operator(Value::$ITEM,'=',$id)),
|
|
\ModuleTable::FORM_INIT_DATA => $init_data,
|
|
\ModuleTable::TABLE_ID => self::$table_name.'_'.Value::$table_name.'_'.$id,
|
|
\ModuleTable::ROW_CLICK => eRowClick::OPEN_UADD,
|
|
];
|
|
|
|
return $justData ? Value::getTableData( $o ) : Value::drawTable( $o );
|
|
},
|
|
],
|
|
[
|
|
eTab::NAME => 'SEO',
|
|
eTab::TYPE=>eTabType::FORM,
|
|
eTab::CONTENT => function ($values = []) {
|
|
$id = $values[self::$ID];
|
|
return Seo::getFormTO(msTo::ITEM, $id);
|
|
},
|
|
],
|
|
[
|
|
eTab::NAME=>'Отзывы',
|
|
eTab::TYPE=>eTabType::TABLE,
|
|
eTab::CONTENT=>function($values=[]){
|
|
$id = $values[self::$ID];
|
|
|
|
$o = [
|
|
\ModuleTable::ROW_CLICK => eRowClick::CARD,
|
|
|
|
\Query::WHERE=>new \Where(\Where::_and([
|
|
\Where::_operator(Review::$TO,'=',msTo::ITEM),
|
|
\Where::_operator(Review::$OID,'=',$id),
|
|
])
|
|
),
|
|
\ModuleTable::FORM_INIT_DATA=>[
|
|
Review::$TO => msTo::ITEM,
|
|
Review::$OID => $id,
|
|
],
|
|
\ModuleTable::TABLE_ID => self::$table_name.'_'.Review::$table_name.'_'.$id,
|
|
|
|
|
|
\ModuleTable::COLUMN_RENDER =>[
|
|
Review::$IMAGE => [
|
|
\ModuleTable::COLUMN_RENDER_IMAGE_WRAP => true,
|
|
//\ModuleTable::COLUMN_RENDER_LINK_ID => $link_id,
|
|
//\ModuleTable::COLUMN_RENDER_LINK_CSS_CLASS => 'link',
|
|
//ModuleTable::COLUMN_RENDER_LINK_MODAL=>true,
|
|
],
|
|
/*
|
|
Review::$NAME=>[
|
|
\ModuleTable::COLUMN_RENDER_LINK_CSS_CLASS=>'link',
|
|
\ModuleTable::COLUMN_RENDER_LINK_MODAL=>true,
|
|
],
|
|
*/
|
|
]
|
|
];
|
|
return $values['justData'] ? Review::getTableData( $o ) : Review::drawTable( $o );
|
|
},
|
|
],
|
|
[
|
|
eTab::NAME => 'Варианты цены',
|
|
eTab::TYPE=>eTabType::TABLE,
|
|
eTab::CONTENT => function ($values = []) {
|
|
$id = $values[self::$ID];
|
|
$o = [
|
|
\Query::WHERE =>new \Where(\Where::_and([
|
|
\Where::_operator(PriceVariant::$ITEM,'=',$id),
|
|
\Where::_operator(PriceVariant::$ACCOUNT,'=',UID),
|
|
])),
|
|
\ModuleTable::FORM_INIT_DATA=>[
|
|
PriceVariant::$ITEM => $id,
|
|
],
|
|
\ModuleTable::TABLE_ID => self::$table_name.'_'.PriceVariant::$table_name.'_'.$id,
|
|
\ModuleTable::ROW_CLICK => eRowClick::CARD,
|
|
];
|
|
return $values['justData'] ? PriceVariant::getTableData( $o ) : PriceVariant::drawTable( $o );
|
|
},
|
|
],
|
|
[
|
|
eTab::NAME => 'Предложения компонента',
|
|
eTab::TYPE=>eTabType::TABLE,
|
|
eTab::CONTENT => function ($values = []) {
|
|
$id = $values[self::$ID];
|
|
$o = [
|
|
\Query::WHERE =>new \Where(\Where::_and([
|
|
\Where::_operator(PriceComponent::$ITEM,'=',$id),
|
|
\Where::_operator(PriceComponent::$ACCOUNT,'=',UID),
|
|
])),
|
|
\ModuleTable::FORM_INIT_DATA=>[
|
|
PriceComponent::$ITEM => $id,
|
|
],
|
|
\ModuleTable::TABLE_ID => self::$table_name.'_'.PriceComponent::$table_name.'_'.$id,
|
|
\ModuleTable::ROW_CLICK => eRowClick::CARD,
|
|
];
|
|
return $values['justData'] ? PriceComponent::getTableData( $o ) : PriceComponent::drawTable( $o );
|
|
},
|
|
],
|
|
[
|
|
eTab::NAME => 'Ростовые цены',
|
|
eTab::TYPE=>eTabType::TABLE,
|
|
eTab::CONTENT => function ($values = []) {
|
|
$id = $values[self::$ID];
|
|
$o = [
|
|
\Query::WHERE =>new \Where(\Where::_operator(Growth::$ITEM,'=',$id)),
|
|
\ModuleTable::FORM_INIT_DATA=>[
|
|
Growth::$ITEM => $id,
|
|
],
|
|
\ModuleTable::TABLE_ID => self::$table_name.'_'.Growth::$table_name.'_'.$id,
|
|
\ModuleTable::ROW_CLICK => eRowClick::CARD,
|
|
];
|
|
return $values['justData'] ? Growth::getTableData( $o ) : Growth::drawTable( $o );
|
|
},
|
|
],
|
|
[
|
|
eTab::NAME => 'Цены в филиалах',
|
|
eTab::TYPE=>eTabType::TABLE,
|
|
eTab::CONTENT => function ($values = []) {
|
|
$id = $values[self::$ID];
|
|
$o = [
|
|
\Query::WHERE =>new \Where(\Where::_operator(PriceFilial::$ITEM,'=',$id)),
|
|
\ModuleTable::FORM_INIT_DATA=>[
|
|
PriceFilial::$ITEM => $id,
|
|
],
|
|
\ModuleTable::TABLE_ID => self::$table_name.'_'.PriceFilial::$table_name.'_'.$id,
|
|
\ModuleTable::ROW_CLICK => eRowClick::CARD,
|
|
];
|
|
return $values['justData'] ? PriceFilial::getTableData( $o ) : PriceFilial::drawTable( $o );
|
|
},
|
|
],
|
|
[
|
|
eTab::NAME => 'Компоненты для суммы',
|
|
eTab::TYPE=>eTabType::TABLE,
|
|
eTab::CONTENT => function ($values = []) {
|
|
$id = $values[self::$ID];
|
|
$o = [
|
|
\Query::WHERE =>new \Where(\Where::_and([
|
|
\Where::_operator(PriceMultiComponent::$ITEM,'=',$id),
|
|
\Where::_operator(PriceMultiComponent::$ACCOUNT,'=',UID),
|
|
])),
|
|
\ModuleTable::FORM_INIT_DATA=>[
|
|
PriceMultiComponent::$ITEM => $id,
|
|
],
|
|
\ModuleTable::TABLE_ID => self::$table_name.'_'.PriceMultiComponent::$table_name.'_'.$id,
|
|
\ModuleTable::ROW_CLICK => eRowClick::CARD,
|
|
];
|
|
return $values['justData'] ? PriceMultiComponent::getTableData( $o ) : PriceMultiComponent::drawTable( $o );
|
|
},
|
|
],
|
|
];
|
|
}
|
|
|
|
static function formatForEcommerce($item,$count=1){
|
|
return [
|
|
'id' => intval($item[self::$ID]),
|
|
'price' => $item['price'],
|
|
'name' => self::getName($item),
|
|
'quantity' => $count,
|
|
];
|
|
}
|
|
|
|
|
|
|
|
|
|
static function getForm($values = [], $options = []) :array {
|
|
return [
|
|
self::getCommonFormInputs(),
|
|
[
|
|
Form::VIEW=>Form::ROW,
|
|
Form::COLS => [
|
|
[
|
|
Form::VIEW => Form::INPUT,
|
|
Form::COL_CLASSES => 'c',
|
|
Form::KEY_VALUE => self::$IMAGE,
|
|
Form::TYPE => eInputType::IMAGE,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$IMAGE),
|
|
Input::LABEL => $c,
|
|
Input::SRC => ($c = $values[self::$IMAGE]) ? Image::imageResize(Image::getByID($c)[Image::$URL],600,0,100) : '',
|
|
],
|
|
],
|
|
]
|
|
],
|
|
[
|
|
Form::VIEW=>Form::ROW,
|
|
Form::COLS => [
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::KEY_VALUE =>'category',
|
|
Form::TYPE =>eInputType::HIDDEN,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$NAME),
|
|
Input::VALUE => $values['category'],
|
|
],
|
|
],
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$NAME,
|
|
Form::TYPE =>eInputType::TEXT,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$NAME),
|
|
Input::LABEL => $c,
|
|
],
|
|
],
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$TEXT_ID,
|
|
Form::TYPE =>eInputType::TEXT,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$TEXT_ID),
|
|
Input::LABEL => $c,
|
|
input::VALUE=> ($c = $values[self::$TEXT_ID])?$c:'',
|
|
],
|
|
],
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$VIS,
|
|
Form::TYPE =>eInputType::CHECKBOX,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$VIS),
|
|
Input::LABEL => ' ',
|
|
Input::VALUE => 1,
|
|
Input::CHECKED => boolval($values[self::$VIS]),
|
|
],
|
|
],
|
|
]
|
|
],
|
|
[
|
|
Form::VIEW=>Form::ROW,
|
|
Form::COLS => [
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$PRICE_TYPE,
|
|
Form::TYPE =>eInputType::SELECT,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$PRICE_TYPE),
|
|
Input::LABEL => $c,
|
|
Input::OPTIONS => eShopItemPriceType::getArray(),
|
|
Input::VALUE => $values[self::$PRICE_TYPE] ? : (UID==3 ? eShopItemPriceType::GROWTH : null),
|
|
],
|
|
],
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$PRICE,
|
|
Form::TYPE =>eInputType::TEXT,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$PRICE),
|
|
Input::LABEL => $c,
|
|
],
|
|
],
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$COMPONENT,
|
|
Form::TYPE =>eInputType::SELECT_SEARCH,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$COMPONENT),
|
|
Input::LABEL => $c,
|
|
Input::OPTIONS => Component::getNameList([
|
|
'zero'=>true,
|
|
\Query::WHERE => new \Where(\Where::_operator(Component::$ACCOUNT,'=',UID))
|
|
]),
|
|
],
|
|
],
|
|
]
|
|
],
|
|
[
|
|
Form::VIEW=>Form::ROW,
|
|
Form::COLS => [
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$COMPONENT_MIN,
|
|
Form::TYPE =>eInputType::TEXT,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$COMPONENT_MIN),
|
|
Input::LABEL => $c,
|
|
],
|
|
],
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$COMPONENT_DEFAULT,
|
|
Form::TYPE =>eInputType::TEXT,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$COMPONENT_DEFAULT),
|
|
Input::LABEL => $c,
|
|
],
|
|
],
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$COMPONENT_MAX,
|
|
Form::TYPE =>eInputType::TEXT,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$COMPONENT_MAX),
|
|
Input::LABEL => $c,
|
|
],
|
|
],
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$COUNT,
|
|
Form::TYPE =>eInputType::TEXT,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$COUNT),
|
|
Input::LABEL => $c,
|
|
],
|
|
],
|
|
]
|
|
],
|
|
[
|
|
Form::VIEW=>Form::ROW,
|
|
Form::COLS => [
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c c-1-3',
|
|
Form::KEY_VALUE =>self::$ARTICLE,
|
|
Form::TYPE =>eInputType::TEXT,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$ARTICLE),
|
|
Input::LABEL => $c,
|
|
],
|
|
],
|
|
]
|
|
],
|
|
[
|
|
Form::VIEW=>Form::ROW,
|
|
Form::COLS => [
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c ',
|
|
Form::KEY_VALUE =>self::$TEXT,
|
|
Form::TYPE =>eInputType::TEXTAREA,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$TEXT),
|
|
Input::LABEL => $c,
|
|
],
|
|
],
|
|
[
|
|
Form::VIEW =>Form::INPUT,
|
|
Form::COL_CLASSES =>'c ',
|
|
Form::KEY_VALUE =>self::$ANNOTATION,
|
|
Form::TYPE =>eInputType::TEXTAREA,
|
|
Form::INPUT_OPT => [
|
|
Input::PLACEHOLDER => $c = V::get(Vars::$ANNOTATION),
|
|
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::$IMAGE,
|
|
C::TYPE => eColumnType::INT,
|
|
C::TH => V::get(Vars::$IMAGE),
|
|
C::HIDDEN => false,
|
|
C::FUNC_VALUE => function($v){
|
|
$img = Image::getByID($v[self::$IMAGE]);
|
|
return '<img src="'.Image::imageResize($img[Image::$URL],50,50,100,['crop'=>'center']).'"/>';
|
|
},
|
|
C::FUNC_VALUE_DATA => function($v){
|
|
$img = Image::getByID($v[self::$IMAGE]);
|
|
return Image::imageResize($img[Image::$URL],50,50,100,['crop'=>'center']);
|
|
},
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$NAME,
|
|
C::TYPE => eColumnType::VARCHAR,
|
|
C::LENGTH => 1023,
|
|
C::TH => V::get(Vars::$NAME),
|
|
C::FILTER_TYPE => eFilterType::TEXT,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$ANNOTATION,
|
|
C::TYPE => eColumnType::TEXT,
|
|
C::HIDDEN => true,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$TEXT,
|
|
C::TYPE => eColumnType::LONGTEXT,
|
|
C::HIDDEN => true,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$TEXT_ID,
|
|
C::TYPE => eColumnType::VARCHAR,
|
|
C::LENGTH => 1023,
|
|
C::TH => V::get(Vars::$TEXT_ID),
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$ID_1C,
|
|
C::TYPE => eColumnType::VARCHAR,
|
|
C::LENGTH => 63,
|
|
C::TH => V::get(Vars::$ID_1C),
|
|
C::HIDDEN => true,
|
|
C::DEFAULT => '',
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$ARTICLE,
|
|
C::TYPE => eColumnType::VARCHAR,
|
|
C::LENGTH => 63,
|
|
C::TH => V::get(Vars::$ARTICLE),
|
|
C::HIDDEN => true,
|
|
C::DEFAULT => '',
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$PRICE,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::TH => V::get(Vars::$PRICE),
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$COMPONENT_MIN,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::TH => V::get(Vars::$COMPONENT_MIN),
|
|
C::HIDDEN => true,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$COMPONENT_MAX,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::TH => V::get(Vars::$COMPONENT_MAX),
|
|
C::HIDDEN => true,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$COMPONENT_DEFAULT,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::TH => V::get(Vars::$COMPONENT_DEFAULT),
|
|
C::HIDDEN => true,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$PRICE_TYPE,
|
|
C::TYPE => eColumnType::INT,
|
|
C::DEFAULT => 1,
|
|
C::COL_DEFAULT => 1,
|
|
C::LENGTH => 11,
|
|
C::TH => V::get(Vars::$PRICE_TYPE),
|
|
C::HIDDEN => true,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$COMPONENT,
|
|
C::TYPE => eColumnType::INT,
|
|
C::DEFAULT => 0,
|
|
C::LENGTH => 11,
|
|
C::TH => V::get(Vars::$COMPONENT),
|
|
C::HIDDEN => true,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$COUNT,
|
|
C::TYPE => eColumnType::DOUBLE,
|
|
C::DEFAULT => 0,
|
|
C::TH => V::get(Vars::$COUNT),
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$GALLERY,
|
|
C::TYPE => eColumnType::INT,
|
|
C::HIDDEN => true,
|
|
]),
|
|
new C([
|
|
C::VAR_NAME => &self::$VIS,
|
|
C::TYPE => eColumnType::TINYINT,
|
|
C::LENGTH => 1,
|
|
C::DEFAULT => 0,
|
|
C::TH => V::get(Vars::$VIS),
|
|
C::FUNC_VALUE => function($v){
|
|
return MS::getBoolValText($v[self::$VIS]);
|
|
},
|
|
C::FUNC_VALUE_DATA => function($v){
|
|
return MS::getBoolValText($v[self::$VIS]);
|
|
},
|
|
]),
|
|
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 Item();
|
|
|
|
|
|
///
|