public function indexAction($name) { $configuration = $this->getParameter("front_synchroniser"); /** * @var $frontSynchroniserFinder FrontSynchroniserFinder */ $frontSynchroniserFinder = $this->get("front_synchroniser.finder"); if ($name !== null) { $renderManager = new FrontSynchroniserRender(); return new Response($renderManager->renderStatic($configuration["staticdir"] . DIRECTORY_SEPARATOR . $name)); } $finder = new Finder(); $files = $finder->in($configuration["staticdir"])->name("*.html"); $list = array(); foreach ($files as $file) { $list[] = array("file" => $file->getFilename(), "meta" => $frontSynchroniserFinder->find($file->getFilename())); } return $this->render('FrontSynchroniserBundle:Default:index.html.twig', array('list' => $list)); }
public function render($sourcePath, $edit = false, $js = false) { $configuration = $this->getMetadataFromPath($sourcePath); if ($configuration === null) { return "[ERROR COMPILATED]"; } $html = $this->getStaticSource($configuration); $htmlObject = \Artack\DOMQuery\DOMQuery::create($html); $containerObject = $htmlObject->find($configuration["container"]); $renderManager = new FrontSynchroniserRender($configuration); $renderManager->render($containerObject, $configuration["dom"], $edit); $output = $containerObject->getHtml(); if ($edit) { $output = "<pre><code class='html'>" . htmlspecialchars($output) . "</code></pre>"; } if (!$js) { $output = $renderManager->postRender($output, $edit); } return $output; }