function testGetPagesFromFolder() { $pages = DocumentationParser::get_pages_from_folder(BASE_PATH . '/sapphiredocs/tests/docs/en/'); $this->assertContains('index', $pages->column('Filename'), 'Index'); $this->assertContains('subfolder', $pages->column('Filename'), 'Foldername'); $this->assertContains('test', $pages->column('Filename'), 'Filename'); $this->assertNotContains('_images', $pages->column('Filename'), 'Ignored files'); }
/** * Get the related pages to this module and the children to those pages * * @todo this only handles 2 levels. Could make it recursive * * @return false|DataObjectSet */ function getModulePages() { if ($module = $this->getModule()) { $pages = DocumentationParser::get_pages_from_folder($module->getPath()); if ($pages) { foreach ($pages as $page) { $linkParts = array(); // don't include the 'index in the url if ($page->Title != "Index") { $linkParts[] = $page->Filename; } $page->Link = $this->Link($linkParts); $page->LinkingMode = 'link'; $page->Children = false; if (isset($this->Remaining[0])) { if (strtolower($this->Remaining[0]) == $page->Filename) { $page->LinkingMode = 'current'; if (is_dir($page->Path)) { $children = DocumentationParser::get_pages_from_folder($page->Path); foreach ($children as $child) { $child->Link = $this->Link(array($this->Remaining[0], $child->Filename)); } $page->Children = $children; } } } } } return $pages; } return false; }