Update httpd.conf as needed for your site. For example:
<IfModule mod_php4.c>
- AddType application/x-httpd-php .php .php4 .phtml
+ AddType application/x-httpd-php .php .php4
AddType application/x-httpd-php-source .phps
</IfModule>
<IfModule mod_php4.c>
</Directory>
RewriteEngine On
RewriteMap ampescape int:ampescape
- RewriteRule ^/wiki/(.*)$ /wiki.phtml?title=${ampescape:$1} [L]
+ RewriteRule ^/wiki/(.*)$ /index.php?title=${ampescape:$1} [L]
It is *seriously* recommended that you configure the webserver
to disable running of PHP scripts except in the script directories
* Optional compression of old revision text (requires zlib support)
* Fuzzy title search (experimental, requires memcached)
* Page rendering cache (experimental)
+* JavaScript editing toolbar (off by default in user preferences)
Fixes and tweaks:
* Should work out of the box on MySQL 3.2.x again. On 4.x set
=== IMPORTANT BEHAVIOR CHANGES: ===
-* wiki.phtml and redirect.phtml are now installed as wiki.php and redirect.php
- by default. If upgrading from an old installation or doing a manual install,
- do check $wgScriptExtension and the $wgScript variables to make sure
- everything's correct one way or the other.
+* wiki.phtml and redirect.phtml are now installed as index.php and redirect.php
+ by default. If you are upgrading from an older version, you will have to
+ change $wgScript in LocalSettings.php to point to index.php and
+ redirect.php.
=== Database changes ===
Primary source files/objects:
- wiki.phtml
+ index.php
Main script. It creates the necessary global objects and parses
the URL to determine what to do, which it then generally passes
off to somebody else (depending on the action to be taken).
$wgServer = "http://" . getenv( "SERVER_NAME" );
$wgScriptPath = "/wiki";
-# Change this and the next two to use "phtml" for compatibility with old installations
-$wgScriptExtension = "php";
-$wgScript = "{$wgScriptPath}/wiki.{$wgScriptExtension}";
-$wgRedirectScript = "{$wgScriptPath}/redirect.{$wgScriptExtension}";
+# ATTN: Old installations used wiki.phtml and redirect.phtml -
+# make sure that LocalSettings.php is correctly set!
+$wgScript = "{$wgScriptPath}/index.php";
+$wgRedirectScript = "{$wgScriptPath}/redirect.php";
$wgStyleSheetPath = "{$wgScriptPath}/style";
$wgStyleSheetDirectory = "{$IP}/style";
--- /dev/null
+<?php
+# Main wiki script; see design.doc
+#
+$wgRequestTime = microtime();
+
+unset( $IP );
+ini_set( "allow_url_fopen", 0 ); # For security...
+include_once( "./LocalSettings.php" );
+
+# Windows requires ';' as separator, ':' for Unix
+$sep = strchr( $include_path = ini_get( "include_path" ), ";" ) ? ";" : ":";
+ini_set( "include_path", "$IP$sep$include_path" );
+
+include_once( "Setup.php" );
+
+wfProfileIn( "main-misc-setup" );
+OutputPage::setEncodings(); # Not really used yet
+
+# Query string fields
+#
+global $action, $title, $search, $go, $target, $printable;
+global $returnto, $diff, $oldid, $curid;
+
+# Placeholders in case of DB error
+$wgTitle = Title::newFromText( wfMsg( "badtitle" ) );
+$wgArticle = new Article($wgTitle);
+
+$action = strtolower( trim( $action ) );
+if ( "" == $action ) { $action = "view"; }
+if ( "yes" == $printable ) { $wgOut->setPrintable(); }
+
+if ( "" == $title && "delete" != $action ) {
+ $wgTitle = Title::newFromText( wfMsg( "mainpage" ) );
+} elseif ( $curid ) {
+ # URLs like this are generated by RC, because rc_title isn't always accurate
+ $wgTitle = Title::newFromID( $curid );
+} else {
+ $wgTitle = Title::newFromURL( $title );
+}
+wfProfileOut( "main-misc-setup" );
+
+if ( "" != $search ) {
+ if( isset($_REQUEST['fulltext']) ) {
+ wfSearch( $search );
+ } else {
+ wfGo( $search );
+ }
+} else if( !$wgTitle or $wgTitle->getInterwiki() != "" or $wgTitle->getDBkey() == "" ) {
+ $wgTitle = Title::newFromText( wfMsg( "badtitle" ) );
+ $wgOut->errorpage( "badtitle", "badtitletext" );
+} else if ( ( $action == "view" ) && $wgTitle->getPrefixedDBKey() != $title ) {
+ /* redirect to canonical url */
+ $wgOut->redirect( wfLocalUrl( $wgTitle->getPrefixedURL() ) );
+} else if ( Namespace::getSpecial() == $wgTitle->getNamespace() ) {
+ wfSpecialPage();
+} else {
+ if ( Namespace::getMedia() == $wgTitle->getNamespace() ) {
+ $wgTitle = Title::makeTitle( Namespace::getImage(), $wgTitle->getDBkey() );
+ }
+
+ switch( $wgTitle->getNamespace() ) {
+ case 6:
+ include_once( "ImagePage.php" );
+ $wgArticle = new ImagePage( $wgTitle );
+ break;
+ default:
+ $wgArticle = new Article( $wgTitle );
+ }
+
+ wfQuery("BEGIN", DB_WRITE);
+ switch( $action ) {
+ case "view":
+ case "watch":
+ case "unwatch":
+ case "delete":
+ case "revert":
+ case "rollback":
+ case "protect":
+ case "unprotect":
+ $wgArticle->$action();
+ break;
+ case "print":
+ $wgArticle->view();
+ break;
+ case "edit":
+ case "submit":
+ if( !$wgCommandLineMode && !isset( $_COOKIE[ini_get("session.name")] ) ) {
+ User::SetupSession();
+ }
+ include_once( "EditPage.php" );
+ $editor = new EditPage( $wgArticle );
+ $editor->$action();
+ break;
+ case "history":
+ include_once( "PageHistory.php" );
+ $history = new PageHistory( $wgArticle );
+ $history->history();
+ break;
+ default:
+ $wgOut->errorpage( "nosuchaction", "nosuchactiontext" );
+ }
+ wfQuery("COMMIT", DB_WRITE);
+}
+
+$wgOut->output();
+foreach ( $wgDeferredUpdateList as $up ) { $up->doUpdate(); }
+logProfilingData();
+wfDebug( "Request ended normally\n" );
+?>
copyfile( ".", "LocalSettings.php", $IP );
copyfile( ".", "Version.php", $IP );
-copyfileto( ".", "wiki.phtml", $IP, "wiki.$wgScriptExtension" );
-copyfileto( ".", "redirect.phtml", $IP, "redirect.$wgScriptExtension" );
+copyfile( ".", "index.php", $IP );
+copyfile( ".", "redirect.php", $IP );
+
+# compatibility with older versions, can be removed in a year or so
+# (written in Feb 2004)
+copyfile( ".", "wiki.phtml", $IP );
+copyfile( ".", "redirect.phtml", $IP );
copydirectory( "./includes", $IP );
copydirectory( "./stylesheets", $wgStyleSheetDirectory );
your browser cache\n",
"welcomecreation" => "<h2>Welcome, $1!</h2><p>Your account has been created.
-Don't forget to personalize your wikipedia preferences.",
+Don't forget to change your wikipedia preferences.",
"loginpagetitle" => "User login",
"yourname" => "Your user name",
}
print "Done\n";
print "Writing...";
+<<<<<<< InitialiseMessages.inc
+ print $sql;
+ wfQuery( $sql, DB_WRITE, $fname );
+=======
if ( !$first ) {
wfQuery( $sql, DB_WRITE, $fname );
}
+>>>>>>> 1.7
print "Done\n";
$navText .= "</table>";
--- /dev/null
+<?php
+include_once( "./LocalSettings.php" );
+global $wpDropdown, $wgArticlePath;
+$url = str_replace( "$1", $wpDropdown, $wgArticlePath );
+header( "Location: {$url}" );
+?>
<?php
-include_once( "./LocalSettings.php" );
-global $wpDropdown, $wgArticlePath;
-$url = str_replace( "$1", $wpDropdown, $wgArticlePath );
-header( "Location: {$url}" );
-?>
+// stub file for compatibility with older versions
+include_once("./redirect.php");
+?>
\ No newline at end of file
function do_update_files() {
global $IP, $wgStyleSheetDirectory, $wgUploadDirectory, $wgLanguageCode, $wgDebugLogFile;
- global $wgScriptExtension;
print "Copying files... ";
- copyfileto( ".", "wiki.phtml", $IP, "wiki.$wgScriptExtension" );
- copyfileto( ".", "redirect.phtml", $IP, "redirect.$wgScriptExtension" );
+ copyfile( ".", "index.php", $IP );
+ copyfile( ".", "redirect.php", $IP );
+ # compatibility with older versions, can be removed in a year or so
+ # (written in Feb 2004)
+ copyfile( ".", "wiki.phtml", $IP );
+ copyfile( ".", "redirect.phtml", $IP );
copydirectory( "./includes", $IP );
copydirectory( "./stylesheets", $wgStyleSheetDirectory );
<?php
-# Main wiki script; see design.doc
-#
-$wgRequestTime = microtime();
-
-unset( $IP );
-ini_set( "allow_url_fopen", 0 ); # For security...
-include_once( "./LocalSettings.php" );
-
-# Windows requires ';' as separator, ':' for Unix
-$sep = strchr( $include_path = ini_get( "include_path" ), ";" ) ? ";" : ":";
-ini_set( "include_path", "$IP$sep$include_path" );
-
-include_once( "Setup.php" );
-
-wfProfileIn( "main-misc-setup" );
-OutputPage::setEncodings(); # Not really used yet
-
-# Query string fields
-#
-global $action, $title, $search, $go, $target, $printable;
-global $returnto, $diff, $oldid, $curid;
-
-# Placeholders in case of DB error
-$wgTitle = Title::newFromText( wfMsg( "badtitle" ) );
-$wgArticle = new Article($wgTitle);
-
-$action = strtolower( trim( $action ) );
-if ( "" == $action ) { $action = "view"; }
-if ( "yes" == $printable ) { $wgOut->setPrintable(); }
-
-if ( "" == $title && "delete" != $action ) {
- $wgTitle = Title::newFromText( wfMsg( "mainpage" ) );
-} elseif ( $curid ) {
- # URLs like this are generated by RC, because rc_title isn't always accurate
- $wgTitle = Title::newFromID( $curid );
-} else {
- $wgTitle = Title::newFromURL( $title );
-}
-wfProfileOut( "main-misc-setup" );
-
-if ( "" != $search ) {
- if( isset($_REQUEST['fulltext']) ) {
- wfSearch( $search );
- } else {
- wfGo( $search );
- }
-} else if( !$wgTitle or $wgTitle->getInterwiki() != "" or $wgTitle->getDBkey() == "" ) {
- $wgTitle = Title::newFromText( wfMsg( "badtitle" ) );
- $wgOut->errorpage( "badtitle", "badtitletext" );
-} else if ( ( $action == "view" ) && $wgTitle->getPrefixedDBKey() != $title ) {
- /* redirect to canonical url */
- $wgOut->redirect( wfLocalUrl( $wgTitle->getPrefixedURL() ) );
-} else if ( Namespace::getSpecial() == $wgTitle->getNamespace() ) {
- wfSpecialPage();
-} else {
- if ( Namespace::getMedia() == $wgTitle->getNamespace() ) {
- $wgTitle = Title::makeTitle( Namespace::getImage(), $wgTitle->getDBkey() );
- }
-
- switch( $wgTitle->getNamespace() ) {
- case 6:
- include_once( "ImagePage.php" );
- $wgArticle = new ImagePage( $wgTitle );
- break;
- default:
- $wgArticle = new Article( $wgTitle );
- }
-
- wfQuery("BEGIN", DB_WRITE);
- switch( $action ) {
- case "view":
- case "watch":
- case "unwatch":
- case "delete":
- case "revert":
- case "rollback":
- case "protect":
- case "unprotect":
- $wgArticle->$action();
- break;
- case "print":
- $wgArticle->view();
- break;
- case "edit":
- case "submit":
- if( !$wgCommandLineMode && !isset( $_COOKIE[ini_get("session.name")] ) ) {
- User::SetupSession();
- }
- include_once( "EditPage.php" );
- $editor = new EditPage( $wgArticle );
- $editor->$action();
- break;
- case "history":
- include_once( "PageHistory.php" );
- $history = new PageHistory( $wgArticle );
- $history->history();
- break;
- default:
- $wgOut->errorpage( "nosuchaction", "nosuchactiontext" );
- }
- wfQuery("COMMIT", DB_WRITE);
-}
-
-$wgOut->output();
-foreach ( $wgDeferredUpdateList as $up ) { $up->doUpdate(); }
-logProfilingData();
-wfDebug( "Request ended normally\n" );
-?>
+// stub file for compatibility with older versions
+include_once("./index.php");
+?>
\ No newline at end of file