public function init(Website $website, Request $request) { $menuId = $request->getParamInt(0, 0); $menuRepo = new MenuRepository($website->getDatabase()); $linkRepo = new LinkRepository($website->getDatabase()); $this->menu = $menuRepo->getMenu($menuId); $this->links = $linkRepo->getLinksByMenu($menuId); }
public function writeText(StreamInterface $stream, Website $website, $id, $data) { if (!isset($data["menu_id"]) || !isset($data["title"])) { return; } $loggedInStaff = $website->isLoggedInAsStaff(true); $menuId = (int) $data["menu_id"]; // Title if (strLen($data["title"]) > 0) { $stream->write("<h2>" . htmlSpecialChars($data["title"]) . "</h2>\n"); } // Links $oMenu = new LinkRepository($website->getDatabase()); $links = $oMenu->getLinksByMenu($menuId); $linkTemplate = new LinkListTemplate($website->getText(), $links, $loggedInStaff); $linkTemplate->writeText($stream); // Link to add link if ($loggedInStaff) { $stream->write('<p><a class="arrow" href="' . $website->getUrlPage("create_link", $menuId)); $stream->write('">' . $website->t("links.create") . '</a></p>'); } }
public function writeTopMenu(StreamInterface $stream) { $website = $this->website; $text = $website->getText(); $config = $website->getConfig(); $links = []; $links[] = Link::of($text->getUrlMain(), $text->t("main.home")); if ($config->isDatabaseUpToDate()) { $menuId = (int) $config->get(Config::OPTION_MAIN_MENU_ID, 0); if ($menuId === 0) { $categoriesRepo = new CategoryRepository($website->getDatabase()); $links = array_merge($links, $categoriesRepo->getCategoryLinks($text)); } else { $linkRepo = new LinkRepository($website->getDatabase()); $links = array_merge($links, $linkRepo->getLinksByMenu($menuId)); } } $menuTemplate = new MenuTemplate($website->getText(), $links); $menuTemplate->writeText($stream); }