[FilialProperty::$ID,FilialProperty::$TEXT_ID], \Query::WHERE => new \Where(\Where::_and([ \Where::_operator(FilialProperty::$SHOP,'=',$C[self::$SHOP]), //\Where::_operator(FilialProperty::$ACCOUNT,'=',UID), ])) ],true); //$ids = array_keys($r); $ids = []; foreach ($r as $v){ $ids[] = $v[FilialProperty::$TEXT_ID]; } $data = []; foreach ($ids as $v){ if($c = $values['property_'.$v]){ $data[$v] = trim($c); } } if($data) { Filial::updateById($id,[self::$DATA=>je($data)]); } return $res; } static function getForm($values = [], $options = []) :array { $properties = []; $data = json_decode($values[self::$DATA],true); $shop_id = $values[self::$SHOP]; $r = FilialProperty::select([ \Query::WHERE => new \Where(\Where::_and([ \Where::_operator(FilialProperty::$SHOP,'=',$shop_id), \Where::_operator(FilialProperty::$ACCOUNT,'=',UID), ])) ]); while($l = \DB::fetch($r)){ $prop_id = $l[FilialProperty::$ID]; $text_id = $l[FilialProperty::$TEXT_ID]; $properties[] = [ Form::VIEW => Form::INPUT, Form::COL_CLASSES => 'c c-1-3', Form::TYPE => eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = $l[FilialProperty::$NAME], Input::LABEL => $c, Input::NAME => 'property_'.$text_id, Input::VALUE => $data[$text_id] ], ]; } return [ self::getCommonFormInputs(), [ Form::VIEW =>Form::INPUT, Form::KEY_VALUE =>self::$SHOP, 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::$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, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-3', Form::KEY_VALUE =>self::$ACTIVE, Form::TYPE =>eInputType::SWITCH_IOS, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$ACTIVE), Input::LABEL => ' ', Input::VALUE => 1, Input::CHECKED => boolval($values[self::$ACTIVE]), ], ], ] ], [ Form::VIEW=>Form::ROW, Form::COLS => $properties ], 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 => 1023, C::TH => V::get(Vars::$NAME), ]), new C([ C::VAR_NAME => &self::$SHOP, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::TH => V::get(Vars::$SHOP), C::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$TEXT_ID, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 31, C::TH => V::get(Vars::$TEXT_ID), ]), new C([ C::VAR_NAME => &self::$ACTIVE, C::TYPE => eColumnType::TINYINT, C::LENGTH => 1, C::DEFAULT => 0, C::TH => V::get(Vars::$ACTIVE), C::FUNC_VALUE_DATA => function($v){ return MS::getBoolValText($v[self::$ACTIVE]); } ]), new C([ C::VAR_NAME => &self::$DATA, C::TYPE => eColumnType::TEXT, C::TH => V::get(Vars::$DATA), C::DEFAULT => '', 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 Filial(); ///