new \Where(\Where::_and([ \Where::_operator(self::$TO, '=', $to), \Where::_operator(self::$OID, '=', $oid), ])), \Query::COUNT => 1, ],true); if($r) $res = array_pop($r); } if(!$res){ $res = [ self::$TO => $to, self::$OID => $oid, ]; seo::insert($res); } return $res; } static function setSeoForHTMLPage($to,$oid){ $values = self::get($to,$oid); HTMLPage::$titles = []; if($c = $values[self::$TITLE]) { HTMLPage::addTitle($c); } if($c = $values[self::$KEYWORDS]) HTMLPage::$keywords = $c; if($c = $values[self::$DESCRIPTION]) HTMLPage::$description = $c; } static function getFormTO($to,$oid){ $values = self::get($to,$oid); $inputs = self::getForm($values); $opt = self::getFormOptions(); $opt[Form::INPUTS] = $inputs; $opt[Form::VALUES] = $values; return new Form($opt); } static function getForm($values = [], $options = []) :array { return [ self::getCommonFormInputs(), [ Form::VIEW =>Form::INPUT, Form::KEY_VALUE =>self::$TO, Form::TYPE =>eInputType::HIDDEN, ], [ Form::VIEW =>Form::INPUT, Form::KEY_VALUE =>self::$OID, 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::$TITLE, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$TITLE), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-3', Form::KEY_VALUE =>self::$KEYWORDS, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$KEYWORDS), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-3', Form::KEY_VALUE =>self::$DESCRIPTION, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$DESCRIPTION), Input::LABEL => $c, ], ], [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'c c-1-3', Form::KEY_VALUE =>self::$H1, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$H1), Input::LABEL => $c, ], ], ] ], [ Form::VIEW=>Form::ROW, Form::ROW_CLASSES=>' row', Form::COLS => [ [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'', Form::TYPE =>eInputType::SUBMIT, Form::INPUT_OPT => [ Input::CSS_CLASS => MS::CSS_BTN_SAVE, Input::LABEL => $c = V::get(msLang::$BUTTON_SUBMIT), ], ] ] ], ]; } 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::$H1, C::TYPE => eColumnType::TEXT, C::DEFAULT => 0, C::TH => V::get(Vars::$H1), ]), new C([ C::VAR_NAME => &self::$TITLE, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 1023, C::TH => V::get(Vars::$TITLE), ]), new C([ C::VAR_NAME => &self::$KEYWORDS, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 1023, C::TH => V::get(Vars::$KEYWORDS), ]), new C([ C::VAR_NAME => &self::$DESCRIPTION, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 1023, C::TH => V::get(Vars::$DESCRIPTION), ]), new C([ C::VAR_NAME => &self::$TO, C::TYPE => eColumnType::TINYINT, c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$OID, C::TYPE => eColumnType::INT, 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 Seo(); ///