예제 #1
0
파일: pdf.php 프로젝트: hugcoday/wiki
/**
 * 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;
}
예제 #2
0
파일: loadsave.php 프로젝트: hugcoday/wiki
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;
}