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; }
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);
public function testSetMagnetUrl() { $item = new Item(); $item->setUrl('magnet://link.com'); $this->assertEquals('magnet://link.com', $item->getUrl()); }
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()); }