)(.*?)(?:<|<)\/pre(?:>|>)/'] = '$1'; #$ROEPatterns['/</'] = '<'; #$ROEPatterns['/>/'] = '>'; $HTMLFooterFmt['wtf'] = << EOF; #unset($HTMLFooterFmt['wtf']); $HTMLStylesFmt['wtf'] = ' #text { width: 100% !important; } #CONTAINERtext { width: 100% !important;} #CONTROLStext, #showWYSIWYGtext, .wzCtrl { padding: 0; border: 0;} #CONTROLStext button, #showWYSIWYGtext input, #CONTROLStext select { border: 1px outset buttonface; } #showWYSIWYGtext input { margin:1px;} '; #### #### THIS CODE COPIED PRETTY BLINDLY FROM HandleEdit() #### #function HandleEdit($pagename, $auth = 'edit') { global $IsPagePosted, $EditFields, $ChangeSummary, $EditFunctions, $EnablePost, $FmtV, $Now, $EditRedirectFmt, $PageEditForm, $HandleEditFmt, $PageStartFmt, $PageEditFmt, $PageEndFmt; SDV($EditRedirectFmt, '$FullName'); if (@$_POST['cancel']) { Redirect(FmtPageName($EditRedirectFmt, $pagename)); return; } Lock(2); $page = RetrieveAuthPage($pagename, $auth, true); if (!$page) Abort("?cannot edit $pagename"); $new = $page; foreach((array)$EditFields as $k) if (isset($_POST[$k])) $new[$k]=str_replace("\r",'',stripmagic($_POST[$k])); $new['csum'] = $ChangeSummary; if ($ChangeSummary) $new["csum:$Now"] = $ChangeSummary; $EnablePost &= preg_grep('/^post/', array_keys(@$_POST)); $new['=preview'] = $new['text']; PCache($pagename, $new); #dbglog( "Calling UpdatePage() (EnablePost=$EnablePost)
\n"); UpdatePage($pagename, $page, $new); Lock(0); if ($IsPagePosted && !@$_POST['postedit']) { Redirect(FmtPageName($EditRedirectFmt, $pagename)); return; } $FmtV['$DiffClassMinor'] = (@$_POST['diffclass']=='minor') ? "checked='checked'" : ''; $FmtV['$EditText'] = str_replace('$','$',htmlspecialchars(@$new['text'],ENT_NOQUOTES)); ### # THIS PART MODIFIED FROM HANDLEEDIT() $EditableRules = array("'''", "''", '\\r', '!vspace', '

', '', 'restore', '>', '<', '&', '<:', '^<:', 'closeall', '^!<:', '^||||', '^||', 'table', '^!'); // this needs to be hugely fleshed out #DisableMarkup('!vspace'); // this rule makes it impossible to differentiate // headers with a following newline and those without MyBuildMarkupRules(); // sets $ProtectedRules and $UnprotectedRules $MarkupRules = $ProtectedRules; #echo "===PROTECTED===
\n

".print_r($MarkupRules,true)."

\n"; $f = fopen("markup.txt", "a"); fwrite($f, "\n"); fclose($f); if (true) { $f = fopen("markup.txt", "a"); fwrite($f, "\n-----====----====----====----====-----\n"); fwrite($f, "All PROTECTED rules: " . print_r($MarkupRules,true) . "\n"); fwrite($f, "-----====----====----====----====-----\n"); fclose($f); } $FmtV['$EditText'] = MarkupToHTML($pagename, $FmtV['$EditText'], array('debug'=>1)); if (true) { $f = fopen("markup.txt", "a"); fwrite($f, "\n-----====----====----====----====-----\n"); fwrite($f, "AFTER FIRST MarkupToHTML(): "); fwrite($f, "-----====----====----====----====-----\n"); fwrite($f, $FmtV['$EditText']); fclose($f); } $MarkupRules = $UnprotectedRules; #echo "===UN-PROTECTED===
\n
".print_r($MarkupRules,true)."

\n"; if (true) { $f = fopen("markup.txt", "a"); fwrite($f, "\n-----====----====----====----====-----\n"); fwrite($f, "All UN-PROTECTED rules: " . print_r($MarkupRules,true) . "\n"); fwrite($f, "-----====----====----====----====-----\n"); fwrite($f, $x); fclose($f); } $FmtV['$EditText'] = MarkupToHTML($pagename, $FmtV['$EditText'], array('debug'=>1, 'escape'=>0)); $MarkupRules = array(); // delete cache to make sure we get real rules again # ### $FmtV['$EditBaseTime'] = $Now; if (@$PageEditForm) { $efpage = FmtPageName($PageEditForm, $pagename); $form = RetrieveAuthPage($efpage, 'read', false, READPAGE_CURRENT); if (!$form || !@$form['text']) Abort("?unable to retrieve edit form $efpage", 'editform'); $FmtV['$EditForm'] = MarkupToHTML($pagename, $form['text']); } SDV($PageEditFmt, "

$[Editing {\$FullName}]

\$EditMessageFmt
"); SDV($HandleEditFmt, array(&$PageStartFmt, &$PageEditFmt, &$PageEndFmt)); PrintFmt($pagename, $HandleEditFmt); } # This function copied & modified from BuildMarkupRules() function MyBuildMarkupRules() { global $MarkupTable,$MarkupRules,$LinkPattern, $ProtectedRules, $UnProtectedRules, $EditableRules; $UnprotectedRules = $ProtectedRules = array(); uasort($MarkupTable,'mpcmp'); foreach($MarkupTable as $id=>$m) if (@$m['pat'] && @$m['seq']) { if (in_array($id, $EditableRules)) $UnprotectedRules[str_replace('\\L',$LinkPattern,$m['pat'])]=$m['rep']; else $ProtectedRules[str_replace('\\L',$LinkPattern,$m['pat']).'e']='Keep(\'
$0
\')'; } return array($UnprotectedRules, $ProtectedRules); } $EnableGUIButtons = 0; SDV($WTFAllowedTags, "

". "

". "




    1. "); $WTFKeepToken = "{$KeepToken}WTF{$KeepToken}"; #Markup('WTF', ' '') $new['text'] = "
      {$new['text']}
      "; } if($EnablePost) { $new['text'] = strip_tags($new['text'], $WTFAllowedTags); $new['text'] = preg_replace("/(<\\/?\\w+)(( .*?)?)>/e", 'trim("$1 ".PQA(PSS(\'$3\'))).">"', $new['text']); // $new['text'] .= ''; } } function WTFMarkup($allHF) { global $KeepToken; if(preg_match("/$KeepToken(\d+)X$KeepToken/", $allHF)) return $allHF; # already processed $all = preg_replace("/^.*?\\(:groupheader:\\)(.*?)\\(:groupfooter:\\).*$/s", '$1', $allHF); if( $all == $allHF) return $allHF; # some include or skin area $rx = "/<pre class=\\\\?['\"]pmwikimarkup\\\\?['\"]>(.*?)<\\/pre>/s"; preg_match_all($rx, $all, $match); // if((!@$match) || count($match[1])<1) return $allHF; $split = preg_split($rx, $all); // if(count($split)<2) return $allHF; // $cnt++; $ret = ''; foreach ($split as $k=>$v) { $ret .= Keep(str_replace( array('<', '>', '&nbsp;'), array('<', '>', ' '), $v), 'X'); if(isset($match[1][$k])) $ret.="\n{$match[1][$k]}"; } return str_replace($all, $ret, $allHF); }