Example #1
0
 private static function arrayToMenuItem($pages, $depth, $curDepth, $order)
 {
     $items = array();
     foreach ($pages as $pageRow) {
         $page = new \Ip\Page($pageRow['id']);
         $item = new Item();
         $subSelected = false;
         if ($curDepth < $depth) {
             $children = ipDb()->selectAll('page', '*', array('parentId' => $page->getId(), 'isVisible' => 1, 'isSecured' => 0, 'isDeleted' => 0), "ORDER BY {$order}");
             if ($children) {
                 $childrenItems = self::arrayToMenuItem($children, $depth, $curDepth + 1, $order);
                 $item->setChildren($childrenItems);
             }
         }
         if ($page->isCurrent() || $page->getRedirectUrl() && $page->getLink() == \Ip\Internal\UrlHelper::getCurrentUrl()) {
             $item->markAsCurrent(true);
         } elseif ($page->isInCurrentBreadcrumb() || $subSelected || $page->getRedirectUrl() && self::existInBreadcrumb($page->getLink())) {
             $item->markAsInCurrentBreadcrumb(true);
         }
         if ($page->isDisabled()) {
             $item->setUrl('');
         } elseif ($page->getRedirectUrl()) {
             $url = $page->getRedirectUrl();
             if (!preg_match('/^((http|https):\\/\\/)/i', $url)) {
                 $url = 'http://' . $url;
             }
             $item->setUrl($url);
         } else {
             $item->setUrl($page->getLink());
         }
         $metaTitle = $page->getMetaTitle();
         $item->setBlank($page->isBlank());
         $item->setTitle($page->getTitle());
         $item->setDepth($curDepth);
         $item->setDisabled($page->isDisabled());
         $item->setId($page->getId());
         $item->setAlias($page->getAlias());
         $item->setPageTitle(empty($metaTitle) ? $page->getTitle() : $metaTitle);
         $items[] = $item;
     }
     return $items;
 }
Example #2
0
            echo "<ul>";
            echo $object->name;
            foreach ($object->subItem as $k => $ob) {
                if (!in_array($ob, self::getCategory())) {
                    echo "<li>";
                    echo "<a href=\"" . $ob->url . "\">" . $ob->name . "</a>";
                    echo "</li>";
                }
            }
            echo "</ul>";
        }
    }
}
$menu = new Item("Menu");
for ($i = 1; $i <= 3; $i++) {
    Item::addSubItem("Menu", "Point " . $i);
}
for ($i = 1; $i <= 3; $i++) {
    Item::addSubItem("Point 1", "Point 1-" . $i);
    Item::addSubItem("Point 2", "Point 2-" . $i);
}
Item::setUrl("Point 2", "www.ya.ru");
Item::setUrl("Point 2-1", "www.google.com");
Item::setUrl("Point 2-2", "www.ya.ru");
Item::addSubItem("Point 2-1", "Point 2-1-1");
Item::renameItem("Point 2", "Поисковики");
Item::renameItem("Point 2-1", "Google");
Item::renameItem("Point 2-2", "Yandex");
Item::deleteItem("Point 2-3");
Item::realize();
var_dump(Item::$AllItems);
Example #3
0
 public function testSetMagnetUrl()
 {
     $item = new Item();
     $item->setUrl('magnet://link.com');
     $this->assertEquals('magnet://link.com', $item->getUrl());
 }
Example #4
0
 public function testComputeFingerPrint()
 {
     $title = 'a';
     $body = 'b';
     $url = 'http://google.com';
     $link = 'ho';
     $item = new Item();
     $item->setBody($body);
     $item->setTitle($title);
     $item->setUrl($url);
     $item->setEnclosureLink($link);
     $item->generateSearchIndex();
     $this->assertEquals(md5($title . $url . $body . $link), $item->getFingerprint());
 }