getMenu(); $pageVars['menu'] = $this->getMenu($menu); $pageVars['object'] = $this; $pageVars['left'] = $this->decodeUrl(getVal('l', null, '')); $pageVars['right'] = $this->decodeUrl(getVal('r', null, 'launch.php?s=board.php')); global $cfg; $links = []; $domain = substr($cfg['Addr']['print'], 0, -1); $domain = substr($domain, strrpos($domain, '.', -5) + 1); $links['email'] = 'https://mail.wpj.cz/'; $links['mailadmin'] = "http://mailadmin.{$domain}"; if ($domain == 'kupshop.cz') { $domain = substr($cfg['Addr']['print'], 0, -1); } $hash = md5(date('Y-m-d').'wpj_wpj'); $hash = base64_encode(json_encode(['url' => $domain, 'hash' => $hash])); $links['klient'] = "http://klient.wpj.cz/list/{$hash}"; $vars['links'] = $links; $pageVars['filters'] = $this->getFiltersFavorite(); $vars['body'] = $pageVars; return $vars; } public function decodeUrl($url) { if (substr($url, 0, 2) != 's:') { return $url; } $url = str_replace(':', '=', $url); $url = str_replace('|', '&', $url); return "launch.php?{$url}"; } public function encodeUrl($url) { if ($url === null) { return ''; } if (substr($url, 0, 2) != 's=') { return $url; } $url = str_replace('=', ':', $url); $url = str_replace('&', '|', $url); return $url; } public function getMenu(&$menu, $level = 0) { foreach ($menu as &$item) { if (!is_array($item)) { continue; } if (isset($item['submenu'])) { $item['level'] = $level; $this->getMenu($item['submenu'], $level + 1); $visible = UserRights::hasRights($item['name']); if (!$visible) { $item['visible'] = false; continue; } $item['superadmin'] = UserRights::isOnlySuperadmin($item['name']); // Pokud je nejaka polozka v submenu prvku true, zobrazuji prvek foreach ($item['submenu'] as $submenu_item) { $submenu_item['superadmin'] = UserRights::isOnlySuperadmin($submenu_item['name'] ?? null); if (isset($submenu_item['visible'])) { if ($submenu_item['visible'] == true) { $item['visible'] = true; break; } } } } else { $visible = UserRights::hasRights($item['name']); if ($visible) { $menu['visible'] = true; $item['visible'] = true; } else { $item['visible'] = false; } $item['superadmin'] = UserRights::isOnlySuperadmin($item['name']); } } return $menu; } private function checkDomain() { if (isBeta()) { return; } $fallback = true; $request = \KupShop\KupShopBundle\Util\Compat\SymfonyBridge::getCurrentRequest(); $domainContext = ServiceContainer::getService(\KupShop\KupShopBundle\Context\DomainContext::class); // https is missing so add it and redirect if ($request->getScheme() != 'https') { redirect('https://'.$request->getHost().$request->getRequestUri()); } if (array_search($request->getHost(), $domainContext->getSupported()) !== false) { return; } $wwwHost = 'www.'.$request->getHost(); if (array_search($wwwHost, $domainContext->getSupported()) !== false) { // www is missing so add it and redirect $url = 'https://'.$wwwHost.$request->getRequestUri(); $fallback = false; redirect($url); } // fallback if ($fallback) { $url = "https://{$domainContext->getActiveId()}{$request->getRequestUri()}"; redirect($url); } } }