From: Carsten K. <car...@us...> - 2002-03-28 07:08:15
|
Update of /cvsroot/phpwiki/phpwiki/lib In directory usw-pr-cvs1:/tmp/cvs-serv24604 Modified Files: loadsave.php Log Message: Added PHPWIKI_VERSION to zipfile comments, $HTML_DUMP_SUFFIX to filenames in html zip dump, and note about a possible cause of corrupted HTML ZIP dumps. Index: loadsave.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/loadsave.php,v retrieving revision 1.65 retrieving revision 1.66 diff -u -2 -b -p -d -r1.65 -r1.66 --- loadsave.php 25 Mar 2002 20:21:57 -0000 1.65 +++ loadsave.php 28 Mar 2002 07:08:10 -0000 1.66 @@ -1,3 +1,23 @@ <?php rcs_id('$Id$'); +/* + Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam + + This file is part of PhpWiki. + + PhpWiki is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + PhpWiki is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with PhpWiki; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + require_once("lib/ziplib.php"); @@ -115,5 +135,5 @@ function MakeWikiZip (&$request) - $zip = new ZipWriter("Created by PhpWiki", $zipname); + $zip = new ZipWriter("Created by PhpWiki " . PHPWIKI_VERSION, $zipname); $dbi = $request->getDbh(); @@ -233,7 +253,8 @@ function DumpHtmlToDir (&$request) set_time_limit(30); // Reset watchdog. - $filename = FilenameForPage($page->getName()) . $Theme->HTML_DUMP_SUFFIX; + $pagename = $page->getName(); + $filename = FilenameForPage($pagename) . $Theme->HTML_DUMP_SUFFIX; - $msg = HTML(HTML::br(), $page->getName(), ' ... '); + $msg = HTML(HTML::br(), $pagename, ' ... '); if($page->getName() != $filename) { @@ -248,7 +269,8 @@ function DumpHtmlToDir (&$request) $template = new Template('browse', $request, - array('revision' => $revision, 'CONTENT' => $transformedContent)); + array('revision' => $revision, + 'CONTENT' => $transformedContent)); - $data = GeneratePageasXML($template, $page->getName()); + $data = GeneratePageasXML($template, $pagename); if ( !($fd = fopen("$directory/$filename", "w")) ) { @@ -273,10 +295,25 @@ function DumpHtmlToDir (&$request) } +/* Known problem: any plugins or other code which echo()s text will + * lead to a corrupted html zip file which may produce the following + * errors upon unzipping: + * + * warning [wikihtml.zip]: 2401 extra bytes at beginning or within zipfile + * file #58: bad zipfile offset (local header sig): 177561 + * (attempting to re-compensate) + * + * However, the actual wiki page data should be unaffected. + */ function MakeWikiZipHtml (&$request) { $zipname = "wikihtml.zip"; - $zip = new ZipWriter("Created by PhpWiki", $zipname); + $zip = new ZipWriter("Created by PhpWiki " . PHPWIKI_VERSION, $zipname); $dbi = $request->getDbh(); $pages = $dbi->getAllPages(); + + global $HTML_DUMP_SUFFIX, $Theme; + if ($HTML_DUMP_SUFFIX) + $Theme->HTML_DUMP_SUFFIX = $HTML_DUMP_SUFFIX; + while ($page = $pages->next()) { if (! get_cfg_var('safe_mode')) @@ -293,7 +330,5 @@ function MakeWikiZipHtml (&$request) $pagename = $page->getName(); - $filename = FilenameForPage($pagename); - //$filename = $filename . ".html"; - + $filename = FilenameForPage($pagename) . $Theme->HTML_DUMP_SUFFIX; $revision = $page->getCurrentRevision(); @@ -311,4 +346,5 @@ function MakeWikiZipHtml (&$request) // FIXME: Deal with images here. $zip->finish(); + $Theme->$HTML_DUMP_SUFFIX = ''; } |