public static function createForPage(CommonPage $page) { $currentPageFilename = $page->GetPageFileName(); $pageList = new PageList($page); $pageGroups = GetPageGroups(); foreach ($pageGroups as $group) { $pageList->AddGroup($page->RenderText($group)); } $pageInfos = GetPageInfos(); foreach ($pageInfos as $pageInfo) { if (!GetCurrentUserGrantForDataSource($pageInfo['name'])->HasViewGrant()) { continue; } $shortCaption = $page->RenderText($pageInfo['short_caption']); $pageList->AddPage(new PageLink($page->RenderText($pageInfo['caption']), $pageInfo['filename'], $shortCaption, $currentPageFilename == $pageInfo['filename'], $pageInfo['add_separator'], $page->RenderText($pageInfo['group_name']))); } return $pageList; }