private function buildChild(SiteDocIndexXmlItem $child)
 {
     $filepath = $this->httpRoot . $child->getLink();
     if ($filepath[strlen($filepath) - 1] == '/') {
         $filepath .= 'index.html';
     }
     if (!is_dir(dirname($filepath))) {
         mkdir(dirname($filepath), 0755, true);
     }
     $presentation = new UIViewPresentation('content');
     $breadScrumbs = array();
     // traverse over parents
     $_ = $child;
     while ($_ = $_->getParent()) {
         if ($_->getName()) {
             array_unshift($breadScrumbs, new ViewLink($_->getName(), $_->getLink()));
         }
     }
     $presentation->setModel(new Model(array('siteDoc' => $child->getDoc(), 'siteDocIndexItem' => $child, 'activeMenuItem' => $child->getSitePart(), 'breadScrumbs' => $breadScrumbs)));
     $presentation->setRouteTable(new PhoebiusRouter());
     $page = new UIPage($presentation);
     $page->render(new FileWriteStream($filepath));
 }
 /**
  * Helper method that creates an action method result encapsulating presentation object
  *
  * @param string $viewName relative path to a view
  * @param array $data business logic resulting data to be passed to presentation
  *
  * @return ViewResult
  */
 protected function view($viewName, array $data = array())
 {
     $this->getModel()->append($data);
     $presentation = new UIViewPresentation($viewName);
     $presentation->setModel($this->getModel());
     $presentation->setTrace($this->trace);
     return new ViewResult(new UIPage($presentation));
 }
示例#3
0
    stop('Incorrect path to Phoebius directory');
}
if (!is_file($frameworkPath . '/doc/ns/groups.xml')) {
    stop('Incorrect path to Phoebius directory (doc/ns/groups.xml not found at ' . $frameworkPath . ')');
}
$rootDoxyGroup = XmlDoxyGroupBuilder::create($frameworkPath . '/doc/ns/groups.xml')->build();
$header = new TempFile();
DoxyHeaderWriter::create($rootDoxyGroup)->write($header);
$doxyGen = new DoxyGen(PHOEBIUS_SITE_DOXYGEN_PARTS_PATH . '/doxygen.conf');
$htmlHeader = new TempFile();
$presentation = new UIViewPresentation('doxy/header');
$presentation->setModel(new Model(array('activeMenuItem' => 'Support', 'breadScrumbs' => array(new ViewLink('Support', '/support/'), new ViewLink('API', '/support/api/')), 'forDoxy' => true)));
$presentation->setRouteTable(new PhoebiusRouter());
$page = new UIPage($presentation);
$page->render($htmlHeader);
$doxyGen->setHtmlHeader($htmlHeader->getPath());
$presentation = new UIViewPresentation('parts/footer');
$presentation->setRouteTable(new PhoebiusRouter());
$page = new UIPage($presentation);
$htmlFooter = new TempFile();
$page->render($htmlFooter);
$doxyGen->setHtmlFooter($htmlFooter->getPath());
$doxyGen->addInputPath(PHOEBIUS_SITE_DOXYGEN_PARTS_PATH . '/mainpage.php');
$doxyGen->addInputPath($header->getPath());
$doxyGen->addInputPath($frameworkPath . '/lib');
//	$doxyGen->setOptions(array(
//		'PROJECT_NUMBER' => PHOEBIUS_VERSION
//	));
//	FSUtils::cleanDirectory(PHOEBIUS_SITE_API_PATH);
$doxyGen->make(PHOEBIUS_SITE_API_PATH);
echo 'Done';