$values[self::$STATUS], StatusHistory::$ORDER => $id, ]); } } return parent::_updateById($id, $values); } public function _update(\Where $w, array $values) { $values[self::$UPDATED] = time(); return parent::_update($w, $values); } public static function afterUadd($values, $id, $result) { $res = parent::afterUadd($values, $id, $result); self::remath($id); if(isset($values['paid_prev']) and isset($values[self::$PAID])){ if($values[self::$PAID] and $values['paid_prev']!=$values[self::$PAID]){ $C = Order::getByID($id); $shop = Shop::getByID($C[self::$OID]); if($C[self::$EMAIL_SUCCESS_PAY]) { Email::sendSuccessPay( $C[self::$EMAIL_SUCCESS_PAY], $id, $shop[Shop::$EMAIL_WRAP], $C[Order::$EMAIL], $C[Order::$NAME] ); } } } return $res; } public static function getName($v, array $options = []): string { return (string)($v?'#'.$v[self::$ID]:'-'); } public static function installUniques() { \DB::addIndex(self::$table_name,self::$CART); \DB::addIndex(self::$table_name,self::$DELIVERY_ID); \DB::addIndex(self::$table_name,self::$PAYMENT_ID); \DB::addIndex(self::$table_name,self::$PROFILE); \DB::addIndex(self::$table_name,self::$ACCOUNT); } public static function insert(array $values = array(), array $options = array()) { $res = parent::insert($values, $options); // TODO: Change the autogenerated stub if(!$values[self::$CART]){ $r = Cart::insert([ Cart::$ORDER=>$res->id, ]); self::updateById($res->id,[self::$CART=>$r->id]); } self::remath($res->id); return $res; } static function remath($id){ $C = self::getByID($id); $cart = Cart::getData($C[self::$CART]); $total = $cart['total'] + $C[self::$DELIVERY_PRICE]; \Profile::remath($C[self::$PROFILE]); // Считаем оплаченный кэшбек $r = Cashback::select([ \Query::SELECT=>'SUM('.Cashback::$VALUE.') as cc', \Query::WHERE => new \Where( \WHere::_and([ \Where::_operator(Cashback::$VALUE,'<',0), \Where::_operator(Cashback::$ORDER,'=',$id), ]) ) ],false); $l = \DB::fetch($r); $cashback = cfloatval($l['cc']); // Считаем проведённые платежи $r = Pay::select([ \Query::SELECT=>'SUM('.Pay::$VALUE.') as cc', \Query::WHERE => new \Where(\Where::_and([ \Where::_operator(Pay::$ORDER,'=',$id), \Where::_operator(Pay::$PAID,'=',1), ])) ],false); $l = \DB::fetch($r); $pay_total = cfloatval($l['cc']); $paid_total = $pay_total - $cashback; $o = [ self::$TOTAL => $total, self::$CASHBACK_TOTAL => $cashback, self::$PAY_TOTAL => $pay_total, self::$TOTAL_PAID => $paid_total, ]; if($paid_total >= $total) { $o[self::$PAID] = 1; } self::updateById($id,$o); \Profile::remath($C[Order::$PROFILE]); } static function renderBlank($order_id,$blank_id,$custom_data = []){ $order_id = intval($order_id); $blank_id = intval($blank_id); if(!($order_id && $blank_id)) return ''; $ORDER = Order::getByID($order_id); $BLANK = Blank::getByID($blank_id); $payment = Payment::getByID(intval($ORDER[Order::$PAYMENT_ID])); $CART = Cart::getData($ORDER[Order::$CART]); // Собираем данные для печати $data = [ 'order_id' => $ORDER[Order::$ID], 'order_date' => date('d.m.Y',$ORDER[Order::$CREATED]), 'client_name' => $ORDER[Order::$NAME], 'client_phone' => $ORDER[Order::$PHONE], 'receiver_name' => $ORDER[Order::$RECEIVER_NAME], 'receiver_phone' => $ORDER[Order::$RECEIVER_PHONE], 'address' => $ORDER[Order::$ADDRESS], 'delivery_date' => date('d.m.Y',strtotime($ORDER[Order::$DELIVERY_DATE])), 'delivery_time' => $ORDER[Order::$DELIVERY_TIME], 'paid' => boolval($ORDER[Order::$PAID])?'Да':'Нет', 'old' => $CART['old'], 'total' => $ORDER[Order::$TOTAL], 'sale_total' => $CART['old'] - $ORDER[Order::$TOTAL], 'comment' => $ORDER[Order::$UCOMMENT], 'cart' => [], 'payment_name' => Payment::getName($payment), ]; $data += $custom_data; $i = 1; foreach ($CART['citems'] as $v){ $item = $CART['items'][$v[CartItem::$ITEM]]; $data['cart'][] = [ 'index'=>$i, 'img' =>Image::imageResize($item[Image::$URL],0,100), 'image' =>$item[Image::$URL], 'name' =>Item::getName($item), 'count'=>$v[CartItem::$COUNT], 'price'=>$v[CartItem::$PRICE], 'total'=>$v[CartItem::$PRICE] * $v[CartItem::$COUNT], ]; $data['count'] += $v[CartItem::$COUNT]; $i++; } if($ORDER[Order::$DELIVERY_PRICE]){ $data['cart'][] = [ 'name'=>'Доставка', 'count'=>1, 'price'=>$ORDER[Order::$DELIVERY_PRICE], 'total'=>$ORDER[Order::$DELIVERY_PRICE], ]; } $data['theme'] = json_decode($ORDER[Order::$DATA],true); if($ORDER[Order::$DELIVERY_ID]){ $delivery = Delivery::getByID($ORDER[Order::$DELIVERY_ID]); $data['delivery'] = [ 'name'=> Delivery::getName($delivery), ]; } // Генерируем печать $loader = new \Twig\Loader\ArrayLoader([ 'index' => $BLANK[Blank::$TEXT], ]); $twig = new \Twig\Environment($loader); $res = $twig->render('index', $data); return $res.''; /**/ } public static function getEditTabs($values=[]) { $id = $values[self::$ID]; 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]; $o = [ \Query::WHERE=>new \Where(\Where::_operator(Cashback::$ORDER,'=',$id)), \ModuleTable::TABLE_ID => self::$table_name.'_'.Cashback::$table_name.'_'.$id, \ModuleTable::ROW_CLICK=>eRowClick::NONE, \ModuleTable::NO_CHECKBOX=>true, \ModuleTable::HIDE_TITLE=>true, ]; return boolval($values['justData']) ? Cashback::getTableData( $o ) : Cashback::drawTable( $o ); }, ], [ eTab::NAME=>'Платежи', eTab::TYPE=>eTabType::TABLE, eTab::CONTENT=>function($values=[]){ $id = $values[self::$ID]; $o = [ \Query::WHERE=>new \Where(\Where::_operator(Pay::$ORDER,'=',$id)), \ModuleTable::TABLE_ID => self::$table_name.'_'.Pay::$table_name.'_'.$id, \ModuleTable::ROW_CLICK=>eRowClick::NONE, \ModuleTable::NO_CHECKBOX=>true, \ModuleTable::HIDE_TITLE=>true, ]; return boolval($values['justData']) ? Pay::getTableData( $o ) : Pay::drawTable( $o ); }, ], [ eTab::NAME=>'Товары в корзине', eTab::TYPE=>eTabType::TABLE, eTab::CONTENT=>function($values=[]){ $id = $values[self::$ID]; $cart_id = $values[self::$CART]; $o = [ \Query::LEFT_JOINS => [ [Item::$table_name,Item::$ID,CartItem::$ITEM] ], \Query::WHERE=>new \Where(\Where::_operator(CartItem::$CART,'=',$cart_id)), \ModuleTable::FORM_INIT_DATA=>[ CartItem::$CART => $cart_id, ], \ModuleTable::TABLE_ID => self::$table_name.'_'.CartItem::$table_name.'_'.$id, \ModuleTable::ROW_CLICK=>eRowClick::CARD, ]; return boolval($values['justData']) ? CartItem::getTableData( $o ) : CartItem::drawTable( $o ); }, ], /**/ ]; } static function getForm($values = [], $options = []) :array { $oid = null; switch ($values[self::$TO]){ case msTo::SHOP: $oid = [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-3', Form::KEY_VALUE =>self::$OID, Form::TYPE =>eInputType::SELECT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = msTo::getName(msTo::SHOP), Input::LABEL => $c, Input::OPTIONS => Shop::getNameList([ \Query::WHERE => new \Where(\Where::_operator(Shop::$ACCOUNT,'=',UID)), ]), ], ]; break; } return [ self::getCommonFormInputs(), [ Form::VIEW =>Form::INPUT, Form::KEY_VALUE =>'paid_prev', Form::TYPE =>eInputType::HIDDEN, Form::INPUT_OPT => [ Input::VALUE => isset($values[self::$PAID]) ? $values[self::$PAID] : 0, ], ], [ Form::VIEW =>Form::INPUT, Form::KEY_VALUE =>self::$TO, Form::TYPE =>eInputType::HIDDEN, ], $oid, [ Form::VIEW=>Form::ROW, Form::COLS => [ [ 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::$PHONE, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$PHONE), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-3', Form::KEY_VALUE =>self::$EMAIL, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$EMAIL), Input::LABEL => $c, ], ], ] ], [ Form::VIEW=>Form::ROW, Form::COLS => [ [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-3', Form::KEY_VALUE =>self::$RECEIVER_NAME, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$RECEIVER_NAME), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-3', Form::KEY_VALUE =>self::$RECEIVER_PHONE, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$RECEIVER_PHONE), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-3', Form::KEY_VALUE =>self::$IS_ANONYMOUS, Form::TYPE =>eInputType::SWITCH_IOS, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$IS_ANONYMOUS), Input::LABEL => $c, Input::VALUE => 1, Input::CHECKED => boolval($values[self::$IS_ANONYMOUS]), ], ], ] ], [ Form::VIEW=>Form::ROW, Form::COLS => [ [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c', Form::KEY_VALUE =>self::$ADDRESS, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$ADDRESS), Input::LABEL => $c, ], ], ] ], [ Form::VIEW=>Form::ROW, Form::COLS => [ //* [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-8', Form::KEY_VALUE =>self::$DELIVERY_ID, Form::TYPE =>eInputType::SELECT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$DELIVERY_ID), Input::LABEL => $c, Input::OPTIONS => Delivery::getNameList([ \Query::WHERE=>new \Where( \Where::_operator(Delivery::$ACCOUNT,'=',UID) ) ]), ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-8', Form::KEY_VALUE =>self::$KM, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$KM), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-25', Form::KEY_VALUE =>self::$DELIVERY_PRICE, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$DELIVERY_PRICE), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-25', Form::KEY_VALUE =>self::$DELIVERY_DATE, Form::TYPE =>eInputType::DATE, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$DELIVERY_DATE), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-25', Form::KEY_VALUE =>self::$DELIVERY_TIME, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$DELIVERY_TIME), Input::LABEL => $c, ], ], ], ], [ Form::VIEW=>Form::ROW, Form::COLS => [ [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-25', Form::KEY_VALUE =>self::$PAYMENT_ID, Form::TYPE =>eInputType::SELECT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$PAYMENT_ID), Input::LABEL => $c, Input::OPTIONS => Payment::getNameList([ \Query::WHERE=>new \Where( \Where::_operator(Payment::$ACCOUNT,'=',UID) ) ]), ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-25', Form::KEY_VALUE =>self::$PDATE, Form::TYPE =>eInputType::DATE_TIME, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$PDATE), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-25', Form::KEY_VALUE =>self::$PAID, Form::TYPE =>eInputType::CHECKBOX, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$PAID), Input::LABEL => $c, Input::VALUE => 1, Input::CHECKED => boolval($values[self::$PAID]), ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-25', Form::KEY_VALUE =>self::$EMAIL_SUCCESS_PAY, Form::TYPE =>eInputType::SELECT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$EMAIL_SUCCESS_PAY), Input::LABEL => $c, Input::OPTIONS => Email::getNameList([ 'zero'=>true, \Query::WHERE=>new \Where(\Where::_and([ \Where::_operator(Email::$ACCOUNT,'=',UID), \Where::_operator(Email::$TYPE,'=',eTemplateEmailType::SUCCESS_PAY), ]) ) ]), ], ], ] ], [ Form::VIEW=>Form::ROW, Form::COLS => [ [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c-50', Form::KEY_VALUE =>self::$UCOMMENT, Form::TYPE =>eInputType::TEXTAREA, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$UCOMMENT), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c-50', Form::KEY_VALUE =>self::$COMMENT, Form::TYPE =>eInputType::TEXTAREA, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$COMMENT), 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 => 127, C::TH => V::get(Vars::$NAME), ]), new C([ C::VAR_NAME => &self::$RECEIVER_NAME, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 127, C::TH => V::get(Vars::$RECEIVER_NAME), C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$RECEIVER_PHONE, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 127, C::TH => V::get(Vars::$RECEIVER_PHONE), C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$IS_ANONYMOUS, C::TYPE => eColumnType::TINYINT, C::LENGTH => 1, C::DEFAULT => 0, C::TH => V::get(Vars::$IS_ANONYMOUS), C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$TOTAL, C::TYPE => eColumnType::DOUBLE, C::TH => V::get(Vars::$TOTAL), C::DEFAULT => 0, ]), new C([ C::VAR_NAME => &self::$STATUS, C::TYPE => eColumnType::INT, C::DEFAULT => 0, C::LENGTH => 11, C::TH => V::get(Vars::$STATUS), C::FUNC_VALUE => function($v){ return Status::getName( Status::getByID($v[self::$STATUS]) ); }, C::FUNC_VALUE_DATA => function($v){ return Status::getName( Status::getByID($v[self::$STATUS]) ); } ]), new C([ C::VAR_NAME => &self::$DELIVERY_ID, C::TYPE => eColumnType::INT, C::DEFAULT => 0, C::LENGTH => 11, C::TH => V::get(Vars::$DELIVERY_ID), C::FUNC_VALUE => function($v){ return Delivery::getName( Delivery::getByID($v[self::$DELIVERY_ID]) ); }, C::FUNC_VALUE_DATA => function($v){ return Delivery::getName( Delivery::getByID($v[self::$DELIVERY_ID]) ); } ]), new C([ C::VAR_NAME => &self::$DELIVERY_PRICE, C::TYPE => eColumnType::DOUBLE, C::DEFAULT => 0, C::TH => V::get(Vars::$DELIVERY_PRICE), ]), new C([ C::VAR_NAME => &self::$DELIVERY_DATE, C::TYPE => eColumnType::DATE, C::DEFAULT => '0000-00-00', C::TH => V::get(Vars::$DELIVERY_DATE), C::FUNC_VALUE_DATA => function($v){ return MS::fdate($v[self::$DELIVERY_DATE]); } ]), new C([ C::VAR_NAME => &self::$DELIVERY_TIME, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 127, C::DEFAULT => '', C::TH => V::get(Vars::$DELIVERY_TIME), ]), new C([ C::VAR_NAME => &self::$PAYMENT_ID, C::TYPE => eColumnType::INT, C::DEFAULT => 0, C::LENGTH => 11, C::TH => V::get(Vars::$PAYMENT_ID), C::FUNC_VALUE => function($v){ return Payment::getName( Payment::getByID($v[self::$PAYMENT_ID]) ); }, C::FUNC_VALUE_DATA => function($v){ return Payment::getName( Payment::getByID($v[self::$PAYMENT_ID]) ); } ]), new C([ C::VAR_NAME => &self::$ADDRESS, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 1023, C::TH => V::get(Vars::$ADDRESS), C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$KM, C::TYPE => eColumnType::DOUBLE, C::TH => V::get(Vars::$KM), C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$PHONE, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 255, C::TH => V::get(Vars::$PHONE), C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$EMAIL, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 255, C::TH => V::get(Vars::$EMAIL), C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$PROFILE, C::TYPE => eColumnType::INT, C::DEFAULT => 0, C::TH => V::get(Vars::$PROFILE), c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$TO, C::TYPE => eColumnType::INT, C::DEFAULT => 0, c::HIDDEN =>true, ]), new C([ C::VAR_NAME => &self::$OID, C::TYPE => eColumnType::INT, C::DEFAULT => 0, c::HIDDEN =>true, ]), new C([ C::VAR_NAME => &self::$UCOMMENT, C::TYPE => eColumnType::TEXT, C::TH => V::get(Vars::$UCOMMENT), c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$COMMENT, C::TYPE => eColumnType::TEXT, C::TH => V::get(Vars::$COMMENT), c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$PAID, C::TYPE => eColumnType::TINYINT, C::LENGTH => 1, C::TH => V::get(Vars::$PAID), C::DEFAULT => 0, C::FUNC_VALUE => function($v){ return MS::getBoolValText($v[self::$PAID]); }, C::FUNC_VALUE_DATA => function($v){ return MS::getBoolValText($v[self::$PAID]); } ]), new C([ C::VAR_NAME => &self::$PDATE, C::TYPE => eColumnType::INT, C::TH => V::get(Vars::$PDATE), C::DEFAULT => 0, c::HIDDEN =>true, ]), new C([ C::VAR_NAME => &self::$DATA, C::TYPE => eColumnType::TEXT, //C::TH => V::get(Vars::$PDATE), C::DEFAULT => '', c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$CART, C::TYPE => eColumnType::INT, C::DEFAULT => 0, c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$CASHBACK_TOTAL, C::TYPE => eColumnType::DOUBLE, C::DEFAULT => 0, C::TH => V::get(Vars::$CASHBACK_TOTAL), ]), new C([ C::VAR_NAME => &self::$PAY_TOTAL, C::TYPE => eColumnType::DOUBLE, C::DEFAULT => 0, C::TH => V::get(Vars::$PAY_TOTAL), ]), new C([ C::VAR_NAME => &self::$TOTAL_PAID, C::TYPE => eColumnType::DOUBLE, C::DEFAULT => 0, C::TH => V::get(Vars::$TOTAL_PAID), ]), 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::$POS, C::TYPE => eColumnType::INT, C::DEFAULT => time(), 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 C([ C::VAR_NAME => &self::$EMAIL_SUCCESS_PAY, C::TYPE => eColumnType::INT, C::DEFAULT => 0, //C::DEFAULT => time(), //C::TH => V::get(Vars::$UPDATED), //c::FUNC_VALUE => function($v){return self::formatDate($v[self::$UPDATED]);}, c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$BLANK, C::TYPE => eColumnType::NONE, C::TH => V::get(Vars::$BLANK), c::FUNC_VALUE_DATA => function($v){return V::get(Vars::$BLANK);}, ]), ]; } } new Order(); ///