From 1dea93f758375b209c402d01543a10f75d597f30 Mon Sep 17 00:00:00 2001 From: Erik Moeller Date: Sat, 28 Feb 2004 03:04:02 +0000 Subject: [PATCH] using index.php and redirect.php instead of wiki.phtml and redirect.phtml keeping phtml stubs around for compatibility and CVS history --- INSTALL | 4 +- RELEASE-NOTES | 9 +-- docs/design.doc | 2 +- includes/DefaultSettings.php | 8 +-- index.php | 109 ++++++++++++++++++++++++++++ install.php | 9 ++- languages/Language.php | 2 +- maintenance/InitialiseMessages.inc | 5 ++ redirect.php | 6 ++ redirect.phtml | 8 +-- update.php | 9 ++- wiki.phtml | 111 +---------------------------- 12 files changed, 152 insertions(+), 130 deletions(-) create mode 100644 index.php create mode 100644 redirect.php diff --git a/INSTALL b/INSTALL index af98d377b7..159109a60b 100644 --- a/INSTALL +++ b/INSTALL @@ -143,7 +143,7 @@ Or for Apache 2.0 module: Update httpd.conf as needed for your site. For example: - AddType application/x-httpd-php .php .php4 .phtml + AddType application/x-httpd-php .php .php4 AddType application/x-httpd-php-source .phps @@ -156,7 +156,7 @@ Or for Apache 2.0 module: 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 diff --git a/RELEASE-NOTES b/RELEASE-NOTES index dde333f0db..fc0aeef199 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -18,6 +18,7 @@ New features in 1.2: * 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 @@ -29,10 +30,10 @@ Fixes and tweaks: === 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 === diff --git a/docs/design.doc b/docs/design.doc index 7c03071362..d8083e6138 100644 --- a/docs/design.doc +++ b/docs/design.doc @@ -2,7 +2,7 @@ This is a brief overview of the new design. 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). diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 45c7bd4bc8..83524255f1 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -14,10 +14,10 @@ $wgMetaNamespace = FALSE; # will be same as you set $wgSitename $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"; diff --git a/index.php b/index.php new file mode 100644 index 0000000000..3458096780 --- /dev/null +++ b/index.php @@ -0,0 +1,109 @@ +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" ); +?> diff --git a/install.php b/install.php index 4aef3d8b84..1e8b31c334 100644 --- a/install.php +++ b/install.php @@ -48,8 +48,13 @@ print "Copying files...\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 ); diff --git a/languages/Language.php b/languages/Language.php index 05f351a3ed..7d99251762 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -591,7 +591,7 @@ continue to be displayed as if you were still logged in, until you clear your browser cache\n", "welcomecreation" => "

Welcome, $1!

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", diff --git a/maintenance/InitialiseMessages.inc b/maintenance/InitialiseMessages.inc index 6da89df8f5..d731370939 100755 --- a/maintenance/InitialiseMessages.inc +++ b/maintenance/InitialiseMessages.inc @@ -111,11 +111,16 @@ function initialiseMessages( $overwrite = false) { } 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 .= ""; diff --git a/redirect.php b/redirect.php new file mode 100644 index 0000000000..11d3c10236 --- /dev/null +++ b/redirect.php @@ -0,0 +1,6 @@ + diff --git a/redirect.phtml b/redirect.phtml index 11d3c10236..b739e0ed87 100644 --- a/redirect.phtml +++ b/redirect.phtml @@ -1,6 +1,4 @@ +// stub file for compatibility with older versions +include_once("./redirect.php"); +?> \ No newline at end of file diff --git a/update.php b/update.php index bef4e9b39a..3fe86d7904 100644 --- a/update.php +++ b/update.php @@ -72,11 +72,14 @@ exit(); 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 ); diff --git a/wiki.phtml b/wiki.phtml index 3458096780..c74d8ac085 100644 --- a/wiki.phtml +++ b/wiki.phtml @@ -1,109 +1,4 @@ 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 -- 2.20.1