예제 #1
0
 public function init(Website $website, Request $request)
 {
     $linkRepo = new LinkRepository($website->getDatabase());
     $menuRepo = new MenuRepository($website->getDatabase());
     $this->allLinks = $linkRepo->getAllLinksByMenu();
     $this->allMenus = $menuRepo->getAllMenus();
     $this->requestToken = RequestToken::generateNew();
     $this->requestToken->saveToSession();
 }
예제 #2
0
 public function init(Website $website, Request $request)
 {
     $menuId = (int) $website->getConfig()->get(Config::OPTION_MAIN_MENU_ID);
     $menuRepo = new MenuRepository($website->getDatabase());
     $this->menus = $menuRepo->getAllMenus();
     $this->menu = isset($this->menus[$menuId]) ? $this->menus[$menuId] : null;
     if (Validate::requestToken($request)) {
         $this->handleRequest($website, $request);
     }
     $this->requestToken = RequestToken::generateNew();
     $this->requestToken->saveToSession();
 }
예제 #3
0
 public function init(Website $website, Request $request)
 {
     // Retrieve menus
     $menuRepo = new MenuRepository($website->getDatabase());
     $this->allMenus = $menuRepo->getAllMenus();
     // Retrieve the menu to be deleted
     $menuId = $request->getParamInt(0, 0);
     if (!isset($this->allMenus[$menuId])) {
         // Asking to delete non-existing menu
         throw new NotFoundException();
     }
     $this->menu = $this->allMenus[$menuId];
     // Retrieve links
     $linkRepo = new LinkRepository($website->getDatabase());
     $this->linkCount = $linkRepo->getLinkCountByMenu($this->menu->getId());
     $this->respondToRequest($linkRepo, $menuRepo, $website->getText(), $request);
     // Request token
     $this->requestToken = RequestToken::generateNew();
     $this->requestToken->saveToSession();
 }
예제 #4
0
파일: main.php 프로젝트: rutgerkok/rCMS
    public function getEditor(Website $website, $id, $data)
    {
        $title = isset($data["title"]) ? htmlSpecialChars($data["title"]) : "";
        $menu_id = isset($data["menu_id"]) ? (int) $data["menu_id"] : 0;
        $returnValue = "";
        $title_max_length = self::TITLE_MAX_LENGTH;
        // Herodoc doesn't support constants
        // Build menu options
        $oMenu = new MenuRepository($website->getDatabase());
        $menus = $oMenu->getAllMenus();
        $menu_options = "";
        if (count($menus) > 0) {
            $menu_options .= "<select name=\"menu_id_{$id}\" id=\"menu_id_{$id}\">\n";
            foreach ($menus as $menu) {
                $menu_options .= '<option value="' . $menu->getId() . '"';
                if ($menu->getId() == $menu_id) {
                    $menu_options .= ' selected="selected"';
                }
                $menu_options .= '>' . htmlSpecialChars($menu->getName()) . "</option>\n";
            }
            $menu_options .= "</select>\n";
        } else {
            $menu_options .= "<p><em>" . $website->t("errors.nothing_found") . "</em> ";
            $menu_options .= '<a class="arrow" href="' . $website->getUrlPage("links") . '">' . $website->t("links.menu.add") . "</a></p>\n";
        }
        unset($menus, $oMenu, $available_menu_id, $menu_name);
        // Return form
        $returnValue .= <<<EOT
            <p>
                <label for="title_{$id}">{$website->t("widgets.title")}:</label><br />
                <input type="text" name="title_{$id}" id="title_{$id}" value="{$title}" maxlength="{$title_max_length}" />
            </p>
            <p>
                <label for="menu_id_{$id}">{$website->t("links.menu")}:</label><span class="required">*</span><br />
                
                    {$menu_options}
                
            </p>
EOT;
        return $returnValue;
    }