\$WikiImg Edit \$PageName";
$PageEditFmt = "";
$HandleEditFmt = array(&$HTMLStartFmt,&$PageEditTitleFmt,&$PageEditFmt,
"wiki:PmWiki.EditQuickReference",&$HTMLEndFmt);
$myaction = $HTTP_POST_VARS['myaction'];
if ($myaction=="Preview") {
$action = "preview";
$HandleActions =
array_merge($HandleActions,array('preview' => 'HandlePreview'));
$PageHeaderFmt = "Preview \$PageName
Page is unsaved
";
$PageFooterFmt = "
";
$HandlePreviewFmtH = array(&$HTMLStartFmt,&$PageEditTitleFmt,
&$PageEditFmt,&$PageHeaderFmt);
$HandlePreviewFmtF = array(&$PageFooterFmt,&$HTMLEndFmt);
}
function HandlePreview($pagename) {
global $HTTP_POST_VARS,$HandlePreviewFmtH,$HandlePreviewFmtF;
global $Text,$HTMLTitle,$GCount;
$Text = str_replace("\r","",stripslashes($HTTP_POST_VARS['text']));
$pretext = PrepareText($pagename,$Text);
$Text = htmlspecialchars($Text,ENT_NOQUOTES);
$HTMLTitle = "Preview $pagename"; $GCount = 0;
PrintFmt($pagename,$HandlePreviewFmtH);
PrintText($pagename,$pretext);
PrintFmt($pagename,$HandlePreviewFmtF);
}
function PrepareText($pagename,$text) {
global $GroupNamePattern,$PageTitlePattern,$MaxIncludes,$SpaceWikiWords,
$GroupHeaderFmt,$GroupFooterFmt;
global $BrowseDirectives,$HandleBrowseFmt;
$inclcount=0;
while ($inclcount<$MaxIncludes &&
preg_match("/\\[\\[include:(.*?)\\]\\]/",$text,$match)) {
$inclname=$match[1]; $incltext='';
if (!preg_match("/^$GroupNamePattern([\\/.])$PageTitlePattern\$/",
$inclname))
$inclname = FmtPageName('$Group',$pagename).".$inclname";
$inclpage = RetrieveAuthPage($inclname,"read",false);
if ($inclpage) $incltext=$inclpage['text'];
$text = preg_replace("/\\[\\[include:(.*?)\\]\\]/",$incltext,$text,1);
$inclcount++;
}
if (!strstr($text,"[[nogroupheader]]")) {
$hdname = FmtPageName($GroupHeaderFmt,$pagename);
if ($hdname != $pagename)
{ $hdpage=ReadPage($hdname,""); $text = $hdpage['text'].$text; }
}
if (!strstr($text,"[[nogroupfooter]]")) {
$hdname = FmtPageName($GroupFooterFmt,$pagename);
if ($hdname != $pagename)
{ $hdpage=ReadPage($hdname,""); $text = $text.$hdpage['text']; }
}
Lock(0);
foreach($BrowseDirectives as $p=>$s) {
if (strstr($text,$p)) $text = str_replace($p,eval($s),$text);
}
return $text;
}
?>