/** * handler for format=pdf * http://phpwiki.sourceforge.net/phpwiki/PhpWikiToDocBookAndPDF * htmldoc or ghostscript + html2ps or docbook (dbdoclet, xsltproc, fop) * http://www.easysw.com/htmldoc */ function ConvertAndDisplayPdfPageList(&$request, $pagelist, $args = array()) { global $WikiTheme; if (empty($request->_is_buffering_output)) { $request->buffer_output(false); } $pagename = $request->getArg('pagename'); $dest = $request->getArg('dest'); $request->setArg('dest', false); $request->setArg('format', false); include_once "lib/display.php"; include_once "lib/loadsave.php"; array_unshift($pagelist->_pages, $request->_dbi->getPage($pagename)); require_once "lib/WikiPluginCached.php"; $cache = new WikiPluginCached(); $cache->newCache(); $tmpfile = $cache->tempnam(); $tmpdir = dirname($tmpfile); unlink($tmpfile); $WikiTheme->DUMP_MODE = 'PDFHTML'; _DumpHtmlToDir($tmpdir, new WikiDB_Array_generic_iter($pagelist->_pages), $request->getArg('exclude')); $WikiTheme->DUMP_MODE = false; return; }
function MakeWikiZipHtml(&$request) { global $WikiTheme; if ($request->getArg('zipname')) { $zipname = basename($request->getArg('zipname')); if (!preg_match("/\\.zip\$/i", $zipname)) { $zipname .= ".zip"; } $request->setArg('zipname', false); } else { $zipname = "wikihtml.zip"; } $zip = new ZipWriter("Created by PhpWiki " . PHPWIKI_VERSION, $zipname); $dbi =& $request->_dbi; $thispage = $request->getArg('pagename'); // for "Return to ..." if ($pages = $request->getArg('pages')) { // which pagenames if ($pages == '[]') { // current page $pages = $thispage; } $page_iter = new WikiDB_Array_generic_iter(explodePageList($pages)); } else { $page_iter = $dbi->getAllPages(false, false, false, $request->getArg('exclude')); } $WikiTheme->DUMP_MODE = 'ZIPHTML'; _DumpHtmlToDir($zip, $page_iter, $request->getArg('exclude')); $WikiTheme->DUMP_MODE = false; }