From d9742e40712889bea04b6ccede3b2743732670aa Mon Sep 17 00:00:00 2001 From: skaldrom Date: Fri, 3 Sep 2004 20:01:47 +0000 Subject: [PATCH] Fix for Bug #1820 - wiki export does not keep correct links Create filenames with + (next+page.html). --- .../ewiki/plugins/moodle/moodle_wikidump.php | 21 ++++++++++++------- mod/wiki/view.php | 1 + 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/mod/wiki/ewiki/plugins/moodle/moodle_wikidump.php b/mod/wiki/ewiki/plugins/moodle/moodle_wikidump.php index 598df51cd0..c4891ee1f1 100644 --- a/mod/wiki/ewiki/plugins/moodle/moodle_wikidump.php +++ b/mod/wiki/ewiki/plugins/moodle/moodle_wikidump.php @@ -14,7 +14,7 @@ $ewiki_t["en"]["DOWNLOAD_ARCHIVE"] = "Download"; #define("EWIKI_WIKIDUMP_ARCNAME", "WikiDump_"); #define("EWIKI_WIKIDUMP_DEFAULTTYPE", "TAR"); #define("EWIKI_WIKIDUMP_MAXLEVEL", 1); -define('EWIKI_DUMP_FILENAME_REGEX',"/\W/"); +define('EWIKI_DUMP_FILENAME_REGEX',"/\W\+/"); #-- glue #if((function_exists(gzcompress) && EWIKI_WIKIDUMP_DEFAULTTYPE=="ZIP") || EWIKI_WIKIDUMP_DEFAULTTYPE=="TAR"){ @@ -72,7 +72,7 @@ function moodle_ewiki_page_wiki_dump($id=0, $data=0, $action=0) { ''."\n". "
\n"; - // Export binaroes too ? + // Export binaries too ? if(!$wiki->ewikiacceptbinary) { $ret.=''.$exportdestinations[0]."\n"; } else { @@ -139,12 +139,14 @@ function ewiki_page_wiki_dump_send($exportbinaries=0, $exportformats=0, $withvir $filestozip=array(); #-- disable protected email - foreach($ewiki_plugins["link_url"] as $key => $linkplugin){ - if($linkplugin == "ewiki_email_protect_link"){ - unset($ewiki_plugins["link_url"][$key]); + if(count($ewiki_plugins["link_url"])) { + foreach($ewiki_plugins["link_url"] as $key => $linkplugin){ + if($linkplugin == "ewiki_email_protect_link"){ + unset($ewiki_plugins["link_url"][$key]); + } } } - + /// HTML-Export if($exportformats==1) { #-- if exportformats is html @@ -249,8 +251,7 @@ function ewiki_page_wiki_dump_send($exportbinaries=0, $exportformats=0, $withvir #-- convert all pages - foreach($a_pagelist as $pagename){ - + foreach($a_pagelist as $pagename){ if ((!in_array($pagename, $a_virtual))) { $id = $pagename; #-- not a virtual page @@ -273,8 +274,10 @@ function ewiki_page_wiki_dump_send($exportbinaries=0, $exportformats=0, $withvir if (empty($content)){ switch ($row["flags"] & EWIKI_DB_F_TYPE) { + // Text Page case (EWIKI_DB_F_TEXT): #print "
"; print_r($row[content]); print "\n-------------
"; + if($exportformats==1) {/// HTML-Export $content = ewiki_format($row["content"]); } else { @@ -285,6 +288,7 @@ function ewiki_page_wiki_dump_send($exportbinaries=0, $exportformats=0, $withvir if($exportformats==1) { $content = str_replace($a_images, $a_rimages, $content); } + $fn = preg_replace(EWIKI_DUMP_FILENAME_REGEX, "", urlencode($id)); $fn = $fn.$html_ext; if($exportformats==1) {/// HTML-Export @@ -427,6 +431,7 @@ function ewiki_page_wiki_dump_send($exportbinaries=0, $exportformats=0, $withvir if(!deldir($exportbasedir)) { error("Cannot delete $exportbasedir"); } + #exit(); return false; } else { return get_string("exportsuccessful","wiki")."
"; diff --git a/mod/wiki/view.php b/mod/wiki/view.php index ae8407fbdd..8f10e07719 100644 --- a/mod/wiki/view.php +++ b/mod/wiki/view.php @@ -125,6 +125,7 @@ include_once($CFG->dirroot."/mod/wiki/ewiki/plugins/feature/imgresize_gd.php"); include_once($CFG->dirroot."/mod/wiki/ewiki/plugins/moodle/moodle_highlight.php"); include_once($CFG->dirroot."/mod/wiki/ewiki/plugins/moodle/f_fixhtml.php"); + include_once($CFG->dirroot."/mod/wiki/ewiki/plugins/moodle/wikinews.php"); include_once($CFG->dirroot."/mod/wiki/ewiki/plugins/moodle/sitemap.php"); include_once($CFG->dirroot."/mod/wiki/ewiki/plugins/moodle/moodle_wikidump.php"); include_once($CFG->dirroot."/mod/wiki/ewiki/plugins/aview/backlinks.php"); -- 2.39.5