Xmlwiki.php

From Organic Design wiki
Revision as of 03:00, 15 June 2005 by Nad (talk | contribs)

xmlWiki Admin Page

xmlWiki
xmlWiki Admin Page





output\\(\\);)/", "xwOutputHook();" )); # Apply Parser.php patch if ($success) patchFile('../includes/Parser.php', array( "/(function\\s+parse\\s*\\(.+?\\)\\s*\\{.+?OT_HTML;.)(.+?)(\\s*\\\$this->mOutput->setText)/s", "$1\nif (!xwParserHook(\$text)) {\n$2\n}$3" )); } elseif (array_key_exists('disable', $_GET)) { # Replace from backup replaceFiles(array('../index.php', '../includes/Parser.php')); } # Print current state (based on index.php) if (filesize('../index.php') == filesize('../index.php.bak')) print xwMessage('xmlWiki is currently disabled. [ enable ]', '#003366'); else print xwMessage('xmlWiki is currently enabled. [ disable ]', '#003366'); # Add message to queue function xwMessage($msg, $col = 'blue') { global $xwMessages; return $xwMessages[] = "

$msg

\n"; } # Replace a list of files from their backups function replaceFiles($list) { foreach ($list as $filename) if (!copy("$filename.bak", $filename)) print xwMessage("Could not replace \"$filename\" from backup!", '#d00000'); } function patchFile($filename, $rules) { # Back up file if doesn't already exist if (!file_exists("$filename.bak")) { if (!copy($filename, "$filename.bak")) { print xwMessage("Could not back up MediaWiki \"$filename\"!", '#d00000'); exit; } } # Replace from backup before enabling if (!copy("$filename.bak", $filename)) print xwMessage("Could not find \"$filename.bak\"!", '#d00000'); # Apply patches in passed list $file = join('', file($filename)); $success = true; for ($i = 0; $i < count($rules); $i += 2) { $match = $rules[$i]; $replace = $rules[$i+1]; if (preg_match($match, $file)) $file = preg_replace($match, $replace, $file); else { print xwMessage("Could not match rule".($i/2+1)." for \"$filename\"!", '#d00000'); $success = false; } } if ($success) { if ($success && $handle = fopen($filename, 'w')) { fwrite($handle, $file); fclose($handle); } else print xwMessage("Could not open \"$filename\" for writing!", '#d00000'); } return $success; } ?>


XHTML1.0 PHP MediaWiki