Moved global define into class constant, replaced a bunch of $fname with __METHOD__.
[lhc/web/wiklou.git] / api.php
diff --git a/api.php b/api.php
index 7fff048..05a881e 100644 (file)
--- a/api.php
+++ b/api.php
 // So extensions (and other code) can check whether they're running in API mode
 define( 'MW_API', true );
 
-// We want a plain message on catastrophic errors that machines can identify
-function wfDie( $msg = '' ) {
-       header( $_SERVER['SERVER_PROTOCOL'] . ' 500 MediaWiki configuration Error', true, 500 );
-       echo $msg;
-       die( 1 );
-}
-
-// Die on unsupported PHP versions
-if( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.2.3' ) < 0 ){
-       $version = htmlspecialchars( $wgVersion );
-       wfDie( "MediaWiki $version requires at least PHP version 5.2.3." );
+// Bail if PHP is too low
+if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.2.3' ) < 0 ) {
+       require( dirname( __FILE__ ) . '/includes/PHPVersionError.php' );
+       wfPHPVersionError( 'api.php' );
 }
 
 // Initialise common code.
@@ -67,9 +60,10 @@ if ( !$wgRequest->checkUrlExtension() ) {
 
 // Verify that the API has not been disabled
 if ( !$wgEnableAPI ) {
-       wfDie( 'MediaWiki API is not enabled for this site. Add the following line to your LocalSettings.php'
-               . '<pre><b>$wgEnableAPI=true;</b></pre>'
-       );
+       header( $_SERVER['SERVER_PROTOCOL'] . ' 500 MediaWiki configuration Error', true, 500 );
+       echo( 'MediaWiki API is not enabled for this site. Add the following line to your LocalSettings.php'
+               . '<pre><b>$wgEnableAPI=true;</b></pre>' );
+       die(1);
 }
 
 // Selectively allow cross-site AJAX
@@ -109,6 +103,9 @@ if ( $wgCrossSiteAJAXdomains && isset( $_SERVER['HTTP_ORIGIN'] ) ) {
 
 // Set a dummy $wgTitle, because $wgTitle == null breaks various things
 // In a perfect world this wouldn't be necessary
+//
+// @todo @fixme Ummmm, doesn't this line make the PHP4 check at the top completely
+// useless? Suggest moving more stuff out of api.php like we did with index.php
 $wgTitle = Title::makeTitle( NS_MAIN, 'API' );
 
 /* Construct an ApiMain with the arguments passed via the URL. What we get back
@@ -133,7 +130,7 @@ if ( $wgAPIRequestLog ) {
        $items = array(
                        wfTimestamp( TS_MW ),
                        $endtime - $starttime,
-                       wfGetIP(),
+                       $wgRequest->getIP(),
                        $_SERVER['HTTP_USER_AGENT']
        );
        $items[] = $wgRequest->wasPosted() ? 'POST' : 'GET';