Add support for exclude in children list

This commit is contained in:
Will Rossiter 2014-10-13 21:55:16 +13:00
parent 7f778498f2
commit f169aa65ac

View File

@ -391,7 +391,7 @@ class DocumentationViewer extends Controller {
public function includeChildren($args) {
if(isset($args['Folder'])) {
$children = $this->getManifest()->getChildrenFor(
Controller::join_links(dirname($this->record->getPath()), $args['Folder'])
Controller::join_links(dirname($this->record->getPath()), $args['Folder'])
);
} else {
$children = $this->getManifest()->getChildrenFor(
@ -399,6 +399,18 @@ class DocumentationViewer extends Controller {
);
}
if(isset($args['Exclude'])) {
$exclude = explode(',', $args['Exclude']);
foreach($children as $k => $child) {
foreach($exclude as $e) {
if($child->Link == Controller::join_links($this->record->Link(), strtolower($e), '/')) {
unset($children[$k]);
}
}
}
}
return $this->customise(new ArrayData(array(
'Children' => $children
)))->renderWith('Includes/DocumentationPages');