/** * Visit a flow organizer and return the resultant GUI component [a container]. * * @param object FlowOrganizerSiteComponent * @return object Component * @access public * @since 4/3/06 */ public function visitFlowOrganizer(FlowOrganizerSiteComponent $organizer) { $numCells = $organizer->getTotalNumberOfCells(); if ($organizer->getNumRows() == 0) { $cellsPerPage = $numCells; } else { $cellsPerPage = $organizer->getNumColumns() * $organizer->getNumRows(); } $childGuiComponents = array(); foreach ($organizer->getSortedSubcomponents() as $child) { if ($child) { $childGuiComponent = $child->acceptVisitor($this); // Filter out false entries returned due to lack of authorization if ($childGuiComponent) { $childGuiComponents[] = $childGuiComponent; } } } if (count($childGuiComponents)) { $resultPrinter = new ArrayResultPrinter($childGuiComponents, $organizer->getNumColumns(), $cellsPerPage); $resultPrinter->setRenderDirection($organizer->getDirection()); $resultPrinter->setNamespace('pages_' . $organizer->getId()); $resultPrinter->addLinksStyleProperty(new MarginTopSP("10px")); return $resultPrinter->getLayout(); } else { return null; } }