\Site::$owner_id, Token::$HASH => $res, ]); } else { $res = $token[Token::$HASH]; } return $res; } static function prepare() { $data = static::$data; $a = self::getOptions(); foreach ($a as $k=>$v){ if($v[eThemeOption::CONTROLLER]) { if( $id = intval( $data[$k] ) ) { $x = strtoupper($k); self::$$x = new $v[eThemeOption::CONTROLLER]; self::$$x->id_for_theme = $id; self::$$x->owner_id = self::$owner_id; } } } } static function echoCrumbs(){ $res = ''; if($a = HTMLPage::$head_crumbs){ $links = ''; foreach ($a as $k=>$v) $links .= ''.$v[0].''; $res .= '
'.$links.'
'; } echo $res; } static function getSocialLinksBlock(){ $res = '
Следите за новостями: '; $a = self::getSocialLinksData(); foreach ($a as $v){ $res .= '
'; } $res .= '
'; return $res; } static function getSocialLinksData(){ $res = []; $s = self::$SOCIALS->_getStructure(); foreach ($s[self::$SOCIALS->id_for_theme] as $id){ $v = $s['base'][$id]; if($v[Menu::$VIS]) { $res[] = [ 'link' => $v[Menu::$LINK], 'icon' => Image::imageResize($v[Image::$URL], 64, 64, 100, ['crop' => 'center']), 'title' => $v[Menu::$NAME], ]; } } //foreach ($r as $v) $res[] = self::formatService($v); return $res; } static function getServiceLink($v){ return \Site::portalUrl($v[News::$TEXT_ID]); } static function formatService($v){ return [ 'title' => News::getName($v), 'link' => self::getServiceLink($v), //'image' => Image::imageResize($v[Image::$URL],640,480,100,['crop'=>'center']), 'image' => Image::imageResize($v[Image::$URL],480,320,100,['crop'=>'center']), 'annotation' => nl2br($v[News::$ANNOTATION]), ]; } static function getServicesData(){ $res = []; $r = self::$SERVICES->_getNews(); foreach ($r as $v) $res[] = self::formatService($v); return $res; } static function getServicesFastMenuData(){ $res = []; $s = self::$SERVICES_MENU->_getStructure(); foreach ($s[self::$SERVICES_MENU->id_for_theme] as $id){ $v = $s['base'][$id]; if($v[Menu::$VIS]) { $res[] = [ 'link' => \Site::sectionUrl($v[Menu::$LINK]), 'icon' => Image::imageResize($v[Image::$URL], 64, 64, 100, ['crop' => 'center']), 'title' => $v[Menu::$NAME], ]; } } //foreach ($r as $v) $res[] = self::formatService($v); return $res; } static function getPortfolioLink($v){ return \Site::portalUrl(self::PAGE_PORTFOLIO.'/'.$v[News::$TEXT_ID]); } static function formatPortfolio($v){ return [ 'title' => News::getName($v), 'link' => self::getPortfolioLink($v), //'image' => Image::imageResize($v[Image::$URL],640,480,100,['crop'=>'center']), 'image' => Image::imageResize($v[Image::$URL],1200,580,100,['crop'=>'center']), 'annotation' => nl2br($v[News::$ANNOTATION]), ]; } static function getPortfolioAnnotationData(){ $res = []; $r = self::$PORTFOLIO->_getNews(); foreach ($r as $v) $res[] = self::formatPortfolio($v); return $res; } static function getNewsLink($v){ return \Site::portalUrl(self::PAGE_NEWS.'/'.$v[News::$TEXT_ID]); } static function formatNews($v){ return [ 'title' => News::getName($v), 'link' => self::getNewsLink($v), //'image' => Image::imageResize($v[Image::$URL],320,215,100,['crop'=>'center']), 'image' => Image::imageResize($v[Image::$URL],640,480,100,['crop'=>'center']), 'annotation' => $v[News::$ANNOTATION], ]; } static function getNewsAnnotationData(){ $res = []; $r = self::$BLOG->_getNews(8); foreach ($r as $v) $res[] = self::formatNews($v); return $res; } static function getUpdatesLink($v){ return \Site::portalUrl(self::PAGE_UPDATES.'/'.$v[News::$TEXT_ID]); } static function formatUpdates($v){ return [ 'title' => News::getName($v), 'link' => self::getUpdatesLink($v), //'image' => Image::imageResize($v[Image::$URL],320,215,100,['crop'=>'center']), 'image' => Image::imageResize($v[Image::$URL],480,320,100,['crop'=>'center']), 'annotation' => $v[News::$ANNOTATION], ]; } static function getUpdatesAnnotationData(){ $res = []; $r = self::$UPDATES->_getNews(28); foreach ($r as $v) $res[] = self::formatUpdates($v); return $res; } static function getAnnouncementLink($v){ return \Site::portalUrl(self::PAGE_ANNOUNCEMENT.'/'.$v[News::$TEXT_ID]); } static function formatAnnouncement($v){ return [ 'title' => News::getName($v), 'link' => self::getAnnouncementLink($v), //'image' => Image::imageResize($v[Image::$URL],320,215,100,['crop'=>'center']), 'image' => Image::imageResize($v[Image::$URL],640,480,100,['crop'=>'center']), 'annotation' => $v[News::$ANNOTATION], ]; } static function getUpdatesAnnouncementData(){ $res = []; $r = self::$ANNOUNCEMENT->_getNews(6); foreach ($r as $v) $res[] = self::formatAnnouncement($v); return $res; } static function getTurnkeyLink($v){ return \Site::portalUrl(self::PAGE_TURNKEY.'/'.$v[News::$TEXT_ID]); } static function formatTurnkey($v){ return [ 'title' => News::getName($v), 'link' => self::getTurnkeyLink($v), //'image' => Image::imageResize($v[Image::$URL],320,215,100,['crop'=>'center']), 'image' => Image::imageResize($v[Image::$URL],640,480,100,['crop'=>'center']), 'annotation' => $v[News::$ANNOTATION], ]; } static function getTurnkeyAnnotationData(){ $res = []; $r = self::$TURNKEY->_getNews(6); foreach ($r as $v) $res[] = self::formatTurnkey($v); return $res; } public static function getForm(){ $data = self::$data; $blog = Blog::getNameList([ \Query::WHERE => new \Where(\Where::_and([ \Where::_operator(Blog::$ACCOUNT, '=', UID), ])) ]); $menu = Menu::getNameList([ \Query::WHERE => new \Where(\Where::_and([ \Where::_operator(Menu::$ACCOUNT, '=', UID), \Where::_operator(Menu::$PARENT, '=', 0), ])) ]); return [ [ Form::VIEW=>Form::ROW, Form::COLS => [ [ Form::VIEW => Form::INPUT, Form::COL_CLASSES => 'c c-1-3', Form::TYPE => eInputType::SELECT, Form::INPUT_OPT => [ Input::NAME => self::$_BLOG, Input::PLACEHOLDER => $c = V::get(Vars::$MODULEBZ_BLOG), Input::LABEL => $c, Input::OPTIONS => $blog, Input::VALUE => $data[self::$_BLOG], ], ], [ Form::VIEW => Form::INPUT, Form::COL_CLASSES => 'c c-1-3', Form::TYPE => eInputType::SELECT, Form::INPUT_OPT => [ Input::NAME => self::$_PORTFOLIO, Input::PLACEHOLDER => $c = V::get(Vars::$MODULEBZ_PORTFOLIO), Input::LABEL => $c, Input::OPTIONS => $blog, Input::VALUE => $data[self::$_PORTFOLIO], ], ], [ Form::VIEW => Form::INPUT, Form::COL_CLASSES => 'c c-1-3', Form::TYPE => eInputType::SELECT, Form::INPUT_OPT => [ Input::NAME => self::$_SERVICES, Input::PLACEHOLDER => $c = V::get(Vars::$MODULEBZ_SERVICES), Input::LABEL => $c, Input::OPTIONS => $blog, Input::VALUE => $data[self::$_SERVICES], ], ], [ Form::VIEW => Form::INPUT, Form::COL_CLASSES => 'c c-1-3', Form::TYPE => eInputType::SELECT, Form::INPUT_OPT => [ Input::NAME => self::$_UPDATES, Input::PLACEHOLDER => $c = V::get(Vars::$MODULEBZ_UPDATES), Input::LABEL => $c, Input::OPTIONS => $blog, Input::VALUE => $data[self::$_UPDATES], ], ], [ Form::VIEW => Form::INPUT, Form::COL_CLASSES => 'c c-1-3', Form::TYPE => eInputType::SELECT, Form::INPUT_OPT => [ Input::NAME => self::$_ANNOUNCEMENT, Input::PLACEHOLDER => $c = V::get(Vars::$MODULEBZ_ANNOUNCEMENT), Input::LABEL => $c, Input::OPTIONS => $blog, Input::VALUE => $data[self::$_ANNOUNCEMENT], ], ], [ Form::VIEW => Form::INPUT, Form::COL_CLASSES => 'c c-1-3', Form::TYPE => eInputType::SELECT, Form::INPUT_OPT => [ Input::NAME => self::$_TURNKEY, Input::PLACEHOLDER => $c = V::get(Vars::$MODULEBZ_TURNKEY), Input::LABEL => $c, Input::OPTIONS => $blog, Input::VALUE => $data[self::$_TURNKEY], ], ], [ Form::VIEW => Form::INPUT, Form::COL_CLASSES => 'c c-1-3', Form::TYPE => eInputType::SELECT, Form::INPUT_OPT => [ Input::NAME => self::$_SERVICES_MENU, Input::PLACEHOLDER => $c = V::get(Vars::$MODULEBZ_SERVICES_MENU), Input::LABEL => $c, Input::OPTIONS => $menu, Input::VALUE => $data[self::$_SERVICES_MENU], ], ], [ Form::VIEW => Form::INPUT, Form::COL_CLASSES => 'c c-1-3', Form::TYPE => eInputType::SELECT, Form::INPUT_OPT => [ Input::NAME => self::$_SOCIALS, Input::PLACEHOLDER => $c = V::get(Vars::$MODULEBZ_SOCIALS), Input::LABEL => $c, Input::OPTIONS => $menu, Input::VALUE => $data[self::$_SOCIALS], ], ], ], ], ]; } public static function getOptions(): array { if (static::$options) return static::$options; else { $data = static::$data; return static::$options = [ self::$_BLOG => [ eThemeOption::NAME => V::get(Vars::$MODULEBZ_BLOG), eThemeOption::ID => $data[self::$_BLOG], eThemeOption::CONTROLLER => 'blog\blog', ], self::$_PORTFOLIO => [ eThemeOption::NAME => V::get(Vars::$MODULEBZ_PORTFOLIO), eThemeOption::ID => $data[self::$_PORTFOLIO], eThemeOption::CONTROLLER => 'blog\blog', ], self::$_SERVICES => [ eThemeOption::NAME => V::get(Vars::$MODULEBZ_SERVICES), eThemeOption::ID => $data[self::$_SERVICES], eThemeOption::CONTROLLER => 'blog\blog', ], //* self::$_UPDATES=> [ eThemeOption::NAME => V::get(Vars::$MODULEBZ_UPDATES), eThemeOption::ID => $data[self::$_UPDATES], eThemeOption::CONTROLLER => 'blog\blog', ], self::$_ANNOUNCEMENT=> [ eThemeOption::NAME => V::get(Vars::$MODULEBZ_ANNOUNCEMENT), eThemeOption::ID => $data[self::$_ANNOUNCEMENT], eThemeOption::CONTROLLER => 'blog\blog', ], self::$_TURNKEY => [ eThemeOption::NAME => V::get(Vars::$MODULEBZ_TURNKEY), eThemeOption::ID => $data[self::$_TURNKEY], eThemeOption::CONTROLLER => 'blog\blog', ], /**/ self::$_SERVICES_MENU => [ eThemeOption::NAME => V::get(Vars::$MODULEBZ_SERVICES_MENU), eThemeOption::ID => $data[self::$_SERVICES_MENU], eThemeOption::CONTROLLER => 'common\menu', ], self::$_SOCIALS => [ eThemeOption::NAME => V::get(Vars::$MODULEBZ_SOCIALS), eThemeOption::ID => $data[self::$_SOCIALS], eThemeOption::CONTROLLER => 'common\menu', ], ]; } } }