id); $cart = Cart::getByID($C[self::$CART]); if($order_id = intval($cart[Cart::$ORDER])){ Order::remath($order_id); } return $res; } public static function installUniques() { \DB::addIndex(self::$table_name,self::$CART); \DB::addIndex(self::$table_name,self::$ITEM); \DB::addIndex(self::$table_name,self::$GROWTH); \DB::addIndex(self::$table_name,self::$COMPONENT); \DB::addIndex(self::$table_name,self::$COMPONENT_PRICE_ID); } public static function afterUadd($values, $id, $result) { if( $cart_id = intval($values[self::$CART])) { $cart = Cart::getByID($cart_id); if($order_id = intval($cart[Cart::$ORDER])){ Order::remath($order_id); } } parent::afterUadd($values, $id, $result); // TODO: Change the autogenerated stub } static function total($v){ return $v[self::$COUNT] * $v[self::$PRICE]; } static function getForm($values = [], $options = []) :array { return [ self::getCommonFormInputs(), [ Form::VIEW =>Form::INPUT, Form::KEY_VALUE =>self::$CART, Form::TYPE =>eInputType::HIDDEN, ], [ Form::VIEW=>Form::ROW, Form::COLS => [ [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-3', Form::KEY_VALUE =>self::$ITEM, Form::TYPE =>eInputType::SELECT_AJAX, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$ITEM), Input::LABEL => $c, Input::OPTIONS => ShopItem::getNameListById( intval( $values[self::$ITEM] ) ), Input::CONTROLLER => ShopItem::$controller, /* Input::RULES => [ [ eInputRulesCommand::ON, eInputRulesOperator::CHANGE, ] ], /**/ ], ], [ 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::$COUNT, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$COUNT), 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::$ITEM, C::TYPE => eColumnType::INT, C::TH => V::get(Vars::$ITEM), C::FUNC_VALUE_DATA => function($v){ if($id = intval($v[self::$ITEM])){ return ShopItem::getName(ShopItem::getByID($id)); } else return '-'; }, ]), new C([ C::VAR_NAME => &self::$PRICE_TYPE, C::TYPE => eColumnType::TINYINT, C::DEFAULT => 1, C::COL_DEFAULT => 1, C::TH => V::get(Vars::$PRICE_TYPE), C::FUNC_VALUE_DATA => function($v){ return eShopItemPriceType::getName($v[self::$PRICE_TYPE]); }, ]), new C([ C::VAR_NAME => &self::$BASE_PRICE, C::TYPE => eColumnType::DOUBLE, C::DEFAULT => 0, C::TH => V::get(Vars::$BASE_PRICE), ]), new C([ C::VAR_NAME => &self::$COMPONENT, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::DEFAULT => 0, C::TH => V::get(Vars::$COMPONENT), C::FUNC_VALUE_DATA => function($v){ if($id = intval($v[self::$COMPONENT])){ return Component::getName(Component::getByID($id)); } else return '-'; }, ]), new C([ C::VAR_NAME => &self::$COMPONENT_TOTAL, C::TYPE => eColumnType::DOUBLE, C::DEFAULT => 0, C::TH => V::get(Vars::$COMPONENT_TOTAL), ]), new C([ C::VAR_NAME => &self::$COMPONENT_COUNT, C::TYPE => eColumnType::DOUBLE, C::DEFAULT => 0, C::TH => V::get(Vars::$COMPONENT_COUNT), ]), new C([ C::VAR_NAME => &self::$COMPONENT_PRICE_ID, C::TYPE => eColumnType::DOUBLE, C::DEFAULT => 0, C::TH => V::get(Vars::$COMPONENT_PRICE_ID), C::FUNC_VALUE_DATA => function($v){ if($id = intval($v[self::$COMPONENT_PRICE_ID])){ return PriceComponent::getName(PriceComponent::getByID($id)); } else return '-'; }, ]), new C([ C::VAR_NAME => &self::$GROWTH, C::TYPE => eColumnType::INT, C::TH => V::get(Vars::$GROWTH), C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$PROPS, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 1023, C::HIDDEN => true, //C::TH => V::get(Vars::$ITEM), ]), new C([ C::VAR_NAME => &self::$COUNT, C::TYPE => eColumnType::DOUBLE, C::TH => V::get(Vars::$COUNT), ]), new C([ C::VAR_NAME => &self::$CART, C::TYPE => eColumnType::INT, C::TH => V::get(Vars::$CART), C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$PRICE, C::TYPE => eColumnType::DOUBLE, C::TH => V::get(Vars::$PRICE), ]), new C([ C::VAR_NAME => &self::$DATA, C::TYPE => eColumnType::TEXT, C::HIDDEN => true, //C::TH => V::get(Vars::$PRICE), ]), new C([ C::VAR_NAME => &self::$SALE_ID, C::TYPE => eColumnType::INT, C::DEFAULT => 0, C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$SALE_TYPE, C::TYPE => eColumnType::TINYINT, C::DEFAULT => 0, C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$SALE_VALUE, C::TYPE => eColumnType::DOUBLE, C::DEFAULT => 0, 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(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();