From af832a5a9018c7dcc2f24111d82049902269fc53 Mon Sep 17 00:00:00 2001 From: xue <> Date: Wed, 18 Oct 2006 01:38:47 +0000 Subject: merge from 3.0 branch till 1463. --- buildscripts/chmbuilder/ChmQuickstartBuilder.php | 435 +++++++++++++++++++++++ 1 file changed, 435 insertions(+) create mode 100644 buildscripts/chmbuilder/ChmQuickstartBuilder.php (limited to 'buildscripts/chmbuilder/ChmQuickstartBuilder.php') diff --git a/buildscripts/chmbuilder/ChmQuickstartBuilder.php b/buildscripts/chmbuilder/ChmQuickstartBuilder.php new file mode 100644 index 00000000..6087d5d8 --- /dev/null +++ b/buildscripts/chmbuilder/ChmQuickstartBuilder.php @@ -0,0 +1,435 @@ +base = $base; + $this->output_dir = $output.'/quickstart'; + + if(!is_dir($this->output_dir)) + { + mkdir($this->output_dir); + mkdir($this->output_dir.'/assets/'); + copy(dirname(__FILE__).'/chm_style.css', $this->output_dir.'/assets/chm_style.css'); + } + + Prado::setPathOfAlias('Output', realpath($this->output_dir)); + } + + public function buildDoc($pages) + { + foreach($pages as $section) + { + foreach($section as $page) + { + $this->parsePage($page); + } + } + } + + protected function initApp() + { + $this->app = new TApplication($this->base); + $response = new THttpResponse(); + $response->setBufferOutput(false); + $this->app->setResponse($response); + $assets = new TAssetManager(); + $assets->setBasePath('Output.assets.*'); + $this->app->setAssetManager($assets); + } + + public function parsePage($page) + { + $_GET['page'] = str_replace(array('/','.page'),array('.',''),$page); + $_GET['notheme'] = 'true'; + + $html = $this->parseHtmlContent($this->getApplicationContent()); + $file = str_replace(array('/','.page'), array('_','.html'),$page); + echo 'writing file '.$file."\n"; + file_put_contents($this->output_dir.'/'.$file, $html); + } + + protected function getApplicationContent() + { + ob_start(); + $this->initApp(); + $this->app->run(); + $content = ob_get_contents(); + ob_end_clean(); + return $content; + } + + protected function parseHtmlContent($content) + { + $html = preg_replace('/]+\/>/m', '', $content); +$html = str_replace('', '', $html); +$html = preg_replace('/