'.html', 'relativeurls'=> true, //HTML pages will have links with relative urls when possible, not absolute urls. 'htmldir' => 'HTML/', //name of directory with the exported html files, relative to the wiki field 'wikipath' => 'pmwiki/', //path from web root to wiki field directory (inclusive). Needs to be set. #'localhosturl' => '', //set this to point to root of local wiki farm, to have local script urls replaced by server script urls #'serverhosturl' => '', //set this to point to farm on server, in conjunction with above. //example: $SaveHTML["localhosturl"] = $UrlScheme.'://localhost/mydomain.com'; // $SaveHTML["serverhosturl"] = 'https://mydomain.com'; 'exclude' => "*.RecentChanges,*.Group*,Site.*,SiteAdmin.*", //wildcard patterns to exclude pages 'include' => PageVar($pagename, '$Group').".*", 'hidden' => 'PageTopActionsFmt,PageTopSearchFmt,PageFootActionsFmt,PageActionFmt,PageTopBarFmt,PageTextFooterFmt,PageFootMenuFmt', //excluded skin templ sections 'htmllabel' => 'HTML', //default html label for {[pagelink]} 'wikilabel' => 'Wiki', //default wiki label for {[pagelink]} 'htmltooltip' => 'go to HTML page', //tooltip for {[pagelink ..]} link to HTML page 'wikitooltip' => 'go to Wiki page', //tooltip for {[pagelink ..]} link to wiki page 'redirect' => false, //true: redirects to HTML page 'update' => true, //true: HTML page will automatically be created when saving a wiki page as part of edits 'pause' => 0, //delay in secs for page refresh when iterating pagelist pages 'htmlecho' => false, //false, //true: show html page while saving, flashed briefly or for 'pause' seconds 'batch' => true, //true: batch processing is enabled 'session' => true, //true: batch process starts new Session and uses SESSION variables 'test' => false, //false. Set to true to prevent actual html page saves, for testing 'list' => false, //false. Set true to display list of pages to be exported )); if (isset($Lang) && $EnableLangFolders==1) $SaveHTML['htmldir'] = $SaveHTML['htmldir'].$Lang.'/'; //for language-specific subfolders, using MultiLanguageViews $SaveHTML['pubdir'] = trim(strrchr($PubDirUrl,'/'),'/'); $SaveHTML['rooturl'] = $UrlScheme.'://'.strval(@$_SERVER['HTTP_HOST']).'/'; $SaveHTML['wikipath'] = (substr($SaveHTML['wikipath'],-1)=='/') ? $SaveHTML['wikipath'] : $SaveHTML['wikipath'].'/'; $SaveHTML['htmldir'] = (substr($SaveHTML['htmldir'],-1)=='/') ? $SaveHTML['htmldir'] : $SaveHTML['htmldir'].'/'; $SaveHTML['htmlurl'] = $SaveHTML['rooturl'].$SaveHTML['wikipath'].$SaveHTML["htmldir"]; $group = PageVar($pagename,'$Group'); $name = PageVar($pagename,'$Name'); #DEBUG show($SaveHTML,'SaveHTML'); //show config array # page variables for non-relative page urls $FmtPV['$HTMLPageUrl'] = '$GLOBALS["SaveHTML"]["htmlurl"].$group."/".$name.$GLOBALS["SaveHTML"]["suffix"]'; $FmtPV['$WikiPageUrl'] = '"$ScriptUrl?n=$group/$name"'; //this will not be rewritten when exporting #handlers and authorisations $HandleAuth['html'] = 'edit'; $HandleActions['html'] = 'HandleExportHTML'; $HandleAuth['htmlbatch'] = 'admin'; $HandleActions['htmlbatch'] = 'HandleExportHTML'; # conditional markup (:if nohtml:) $NoHTMLExport = true; //is set to false when exporting to HTML $Conditions['nohtml'] = '(boolean)@$GLOBALS["NoHTMLExport"]'; ## function called as part of $EditFunctions during page update if ($SaveHTML['update']==true && $group!='Site' && $group!='SiteAdmin' && !preg_match('/.*?\-Draft$/',$name)) { $EditFunctions[] = 'ExportHTMLUpdate'; $EditRedirectFmt = '{$FullName}?action=html'; } function ExportHTMLUpdate($pagename, &$page, &$new) { global $IsPagePosted, $EditRedirectFmt,$SaveHTML; if (!$IsPagePosted) return; if ($_REQUEST['action']=='edit') $_REQUEST['action'] = 'html'; HandleExportHTML($pagename, 'edit'); } //}}} ## pagelink markup {[pagelink wikilabel htmllabel [edit|login] ]} Markup('exporthtmllink','directives','/\\{\\[pagelink\\s*(.*?)\\s*\\]\\}/', "ExportHTMLPageLink"); function ExportHTMLPageLink($m) { global $SaveHTML, $NoHTMLExport, $ScriptUrl; extract($GLOBALS['MarkupToHTML']); if(isset($m[1])) $args = ParseArgs($m[1]); $group = PageVar($pagename,'$Group'); $name = PageVar($pagename,'$Name'); if ($NoHTMLExport==1) { //link for wiki page $label = (isset($args[''][1])) ? $args[''][1] : $SaveHTML["htmllabel"]; $tooltip = $SaveHTML["htmltooltip"]; $url = $SaveHTML["htmlurl"]."$group/$name".$SaveHTML["suffix"]; } else { //link for HTML page $label = (isset($args[''][0])) ? $args[''][0] : $SaveHTML["wikilabel"]; $tooltip = $SaveHTML["wikitooltip"]; $url = $ScriptUrl."?n=$group/$name"; if (isset($args[''][2])) switch ($args[''][2]) { case 'login': $url .= "&action=login"; break; case 'edit': $url .= "&action=edit"; break; } } return Keep(''.$label.''); } //}}} ## main function to export HTML page, called with action=html or action=htmlbatch function HandleExportHTML($pagename, $auth) { global $action, $SaveHTML, $NoHTMLExport, $action, $ScriptUrl, $FmtV, $PageStartFmt, $PageEndFmt, $HTMLHeaderFmt, $MetaRobots, $MakeBatchPageListFunction, $Lang, $MLVList, $FmtPV, $EnableLangFolders; $NoHTMLExport = false; //iterating batch process for multi language pages or action=htmlbatch if (($Lang && $EnableLangFolders==1) OR ($action=='htmlbatch' && $SaveHTML['batch']==true)) { $next = ExportHTMLBatch($pagename); if ($next=='next') return; } $group = PageVar($pagename,'$Group'); $name = PageVar($pagename,'$Name'); if ( !$group || !$name || !$SaveHTML['suffix']) Redirect($pagename); $fname = FmtPageName("{$name}{$SaveHTML['suffix']}", $pagename); $filename = "{$SaveHTML['htmldir']}{$group}/{$name}{$SaveHTML['suffix']}"; //hide page sections with action links etc if (!is_array($SaveHTML['hidden'])) $SaveHTML['hidden'] = preg_split("/[\\s,|;]+/", $SaveHTML['hidden'], -1, PREG_SPLIT_NO_EMPTY); foreach ($SaveHTML['hidden'] as $sect) SetTmplDisplay($sect,0); $HTMLHeaderFmt['popupedit'] = ""; //suppress special popupedit styles $HTMLHeaderFmt['fox'] = ""; //supress special 'fox' styles $MetaRobots = 'index,follow'; //add 'index, follow' for robots metatag $page = RetrieveAuthPage($pagename, $auth, true, READPAGE_CURRENT); if (!$page) Abort("?cannot read $pagename"); if (PageExists($pagename)) $text = @$page['text']; $text = '(:groupheader:)'.@$text.'(:groupfooter:)'; //check for redirect markup if (preg_match('/\\(:redirect\\s+(\\S.*?):\\)/i',$text,$m)) { $redirname = MakePageName($pagename,$m[1]); $redirurl = $ScriptUrl."?n=".$redirname; $HandleBrowseFmt = "
$lbl ";print_r($arr);echo "";} } /// EOF