Example #1
0
 static function linkFor($type, $parameters = null, $class_attrib = null)
 {
     static $oTopCatM, $oCatZeroM, $oPageM;
     if (is_null($oTopCatM)) {
         $oTopCatM = new \App\Model\Topcat();
         $oCatZeroM = new \App\Model\Catzero();
         $oPageM = new \App\Model\Page();
     }
     if (!is_array($parameters)) {
         $parameters = array($parameters);
     }
     // add lookup for APP_Interface_Routable
     $info = \App\Helper::requestInfo();
     $helper = new \App\Helper\View();
     switch (strtolower($type)) {
         case "pages":
             $page = $oPageM->find($parameters["id"]);
             if (empty($page)) {
                 throw new PPI_Exception("No Page Found for ID {$parameters['id']}");
             }
             $catzero = $oCatZeroM->find($page["catzero_id"]);
             $topcat = $oTopCatM->find($page["topcat_id"]);
             $link = $helper->makePageIDLink($topcat["title"], $catzero["title"], $page["title"], $page["page_id"]);
             if (!isset($parameters["text"])) {
                 $parameters["text"] = $page["title"];
             }
             break;
         case "topcats":
             $topcat = $oTopCatM->find($parameters["id"]);
             if (empty($topcat)) {
                 throw new PPI_Exception("No Topcat Found for ID {$parameters['id']}");
             }
             $link = $helper->makeTopcatLink($topcat["title"], $topcat["id"]);
             if (!isset($parameters["text"])) {
                 $parameters["text"] = $topcat["title"];
             }
             break;
         case "catzero":
             $catzero = $oCatZeroM->find($parameters["id"]);
             if (empty($catzero)) {
                 throw new PPI_Exception("No Catzero Found for ID {$parameters['id']}");
             }
             $topcat = $oTopCatM->find($catzero["topcat_id"]);
             $link = $helper->makeCatzeroLink($topcat["title"], $catzero["title"], $catzero["id"]);
             if (!isset($parameters["text"])) {
                 $parameters["text"] = $catzero["title"];
             }
             break;
         case "search_terms":
             $link = "/search/index/{$parameters['title']}";
             if (!isset($parameters["text"])) {
                 $parameters["text"] = $parameters["title"];
             }
             break;
         default:
             $link = "#err-no-handler:{$type}";
     }
     return "<a href=\"{$link}\">{$parameters['text']}</a>";
 }
Example #2
0
 /**
  * Edit category
  */
 protected function createComponentEditForm()
 {
     $pages = new \App\Model\Page($this->database);
     $categoryAll = new \App\Model\Menu($this->database);
     $category = $this->database->table("menu")->get($this->presenter->getParameter("id"));
     $categories = $categoryAll->getAll();
     unset($categories[$category->id]);
     $form = new \Nette\Forms\BootstrapUIForm();
     $form->setTranslator($this->presenter->translator);
     $form->getElementPrototype()->class = "form-horizontal";
     $form->getElementPrototype()->role = 'form';
     $form->getElementPrototype()->autocomplete = 'off';
     $form->addHidden('id');
     $form->addText('title', 'dictionary.main.Title');
     $form->addTextarea('description', 'dictionary.main.Description')->setAttribute("class", "form-control");
     $form->addSelect('parent', 'Nadřazená kategorie', $categories)->setPrompt('admin.categories.NothingRelated')->setAttribute("class", "form-control");
     $form->addSelect('page', 'admin.categories.SelectPage', $pages->getPageList())->setPrompt('admin.categories.PageSelectedManually')->setAttribute("class", "form-control");
     $form->addText('url', 'dictionary.main.URL');
     $form->addSubmit('submitm', 'dictionary.main.Save');
     $arr = array("id" => $category->id, "title" => $category->title, "description" => $category->description, "page" => $category->pages_id, "parent" => $category->parent_id, "url" => $category->url);
     $form->setDefaults(array_filter($arr));
     $form->onSuccess[] = $this->editFormSucceeded;
     return $form;
 }