From b5f706e069b35226e5f688b573313f64e7adfc84 Mon Sep 17 00:00:00 2001 From: Jack Phoenix Date: Sat, 14 Aug 2010 13:31:10 +0000 Subject: [PATCH] coding style tweaks --- includes/GlobalFunctions.php | 553 ++++++++++++++++++++--------------- 1 file changed, 324 insertions(+), 229 deletions(-) diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php index 66a2912a95..ee80461cfe 100644 --- a/includes/GlobalFunctions.php +++ b/includes/GlobalFunctions.php @@ -8,7 +8,7 @@ if ( !defined( 'MEDIAWIKI' ) ) { die( "This file is part of MediaWiki, it is not a valid entry point" ); } -require_once dirname(__FILE__) . '/normal/UtfNormalUtil.php'; +require_once dirname( __FILE__ ) . '/normal/UtfNormalUtil.php'; // Hide compatibility functions from Doxygen /// @cond @@ -20,15 +20,23 @@ require_once dirname(__FILE__) . '/normal/UtfNormalUtil.php'; * Re-implementations of newer functions or functions in non-standard * PHP extensions may be included here. */ -if( !function_exists('iconv') ) { +if( !function_exists( 'iconv' ) ) { # iconv support is not in the default configuration and so may not be present. # Assume will only ever use utf-8 and iso-8859-1. # This will *not* work in all circumstances. function iconv( $from, $to, $string ) { - if ( substr( $to, -8 ) == '//IGNORE' ) $to = substr( $to, 0, strlen( $to ) - 8 ); - if(strcasecmp( $from, $to ) == 0) return $string; - if(strcasecmp( $from, 'utf-8' ) == 0) return utf8_decode( $string ); - if(strcasecmp( $to, 'utf-8' ) == 0) return utf8_encode( $string ); + if ( substr( $to, -8 ) == '//IGNORE' ) { + $to = substr( $to, 0, strlen( $to ) - 8 ); + } + if( strcasecmp( $from, $to ) == 0 ) { + return $string; + } + if( strcasecmp( $from, 'utf-8' ) == 0 ) { + return utf8_decode( $string ); + } + if( strcasecmp( $to, 'utf-8' ) == 0 ) { + return utf8_encode( $string ); + } return $string; } } @@ -71,8 +79,9 @@ if ( !function_exists( 'mb_substr' ) ) { // This will cut out most of our slow time on Latin-based text, // and 1/2 to 1/3 on East European and Asian scripts. $bytePos = $splitPos; - while ($bytePos < $byteLen && $str{$bytePos} >= "\x80" && $str{$bytePos} < "\xc0") + while ( $bytePos < $byteLen && $str{$bytePos} >= "\x80" && $str{$bytePos} < "\xc0" ) { ++$bytePos; + } $charPos = mb_strlen( substr( $str, 0, $bytePos ) ); } else { $charPos = 0; @@ -82,8 +91,9 @@ if ( !function_exists( 'mb_substr' ) ) { while( $charPos++ < $splitPos ) { ++$bytePos; // Move past any tail bytes - while ($bytePos < $byteLen && $str{$bytePos} >= "\x80" && $str{$bytePos} < "\xc0") + while ( $bytePos < $byteLen && $str{$bytePos} >= "\x80" && $str{$bytePos} < "\xc0" ) { ++$bytePos; + } } } else { $splitPosX = $splitPos + 1; @@ -92,8 +102,9 @@ if ( !function_exists( 'mb_substr' ) ) { while( $bytePos > 0 && $charPos-- >= $splitPosX ) { --$bytePos; // Move past any tail bytes - while ($bytePos > 0 && $str{$bytePos} >= "\x80" && $str{$bytePos} < "\xc0") + while ( $bytePos > 0 && $str{$bytePos} >= "\x80" && $str{$bytePos} < "\xc0" ) { --$bytePos; + } } } @@ -108,7 +119,7 @@ if ( !function_exists( 'mb_strlen' ) ) { * @param string $enc optional encoding; ignored * @return int */ - function mb_strlen( $str, $enc="" ) { + function mb_strlen( $str, $enc = '' ) { $counts = count_chars( $str ); $total = 0; @@ -135,11 +146,11 @@ if( !function_exists( 'mb_strpos' ) ) { * @param $encoding String: optional encoding; ignored * @return int */ - function mb_strpos( $haystack, $needle, $offset = 0, $encoding="" ) { + function mb_strpos( $haystack, $needle, $offset = 0, $encoding = '' ) { $needle = preg_quote( $needle, '/' ); $ar = array(); - preg_match( '/'.$needle.'/u', $haystack, $ar, PREG_OFFSET_CAPTURE, $offset ); + preg_match( '/' . $needle . '/u', $haystack, $ar, PREG_OFFSET_CAPTURE, $offset ); if( isset( $ar[0][1] ) ) { return $ar[0][1]; @@ -158,15 +169,15 @@ if( !function_exists( 'mb_strrpos' ) ) { * @param $encoding String: optional encoding; ignored * @return int */ - function mb_strrpos( $haystack, $needle, $offset = 0, $encoding = "" ) { + function mb_strrpos( $haystack, $needle, $offset = 0, $encoding = '' ) { $needle = preg_quote( $needle, '/' ); $ar = array(); - preg_match_all( '/'.$needle.'/u', $haystack, $ar, PREG_OFFSET_CAPTURE, $offset ); + preg_match_all( '/' . $needle . '/u', $haystack, $ar, PREG_OFFSET_CAPTURE, $offset ); if( isset( $ar[0] ) && count( $ar[0] ) > 0 && - isset( $ar[0][count($ar[0])-1][1] ) ) { - return $ar[0][count($ar[0])-1][1]; + isset( $ar[0][count( $ar[0] ) - 1][1] ) ) { + return $ar[0][count( $ar[0] ) - 1][1]; } else { return false; } @@ -232,7 +243,7 @@ function wfRandom() { # The maximum random value is "only" 2^31-1, so get two random # values to reduce the chance of dupes $max = mt_getrandmax() + 1; - $rand = number_format( (mt_rand() * $max + mt_rand()) + $rand = number_format( ( mt_rand() * $max + mt_rand() ) / $max / $max, 12, '.', '' ); return $rand; } @@ -262,8 +273,8 @@ function wfRandom() { function wfUrlencode( $s ) { static $needle; if ( is_null( $needle ) ) { - $needle = array( '%3B','%40','%24','%21','%2A','%28','%29','%2C','%2F' ); - if (! isset($_SERVER['SERVER_SOFTWARE']) || ( strpos($_SERVER['SERVER_SOFTWARE'], "Microsoft-IIS/7") === false)) { + $needle = array( '%3B', '%40', '%24', '%21', '%2A', '%28', '%29', '%2C', '%2F' ); + if ( !isset( $_SERVER['SERVER_SOFTWARE'] ) || ( strpos( $_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7' ) === false ) ) { $needle[] = '%3A'; } } @@ -271,7 +282,7 @@ function wfUrlencode( $s ) { $s = urlencode( $s ); $s = str_ireplace( $needle, - array( ';', '@', '$', '!', '*', '(', ')', ',', '/', ':' ), + array( ';', '@', '$', '!', '*', '(', ')', ',', '/', ':' ), $s ); @@ -334,7 +345,9 @@ function wfDebug( $text, $logonly = false ) { function wfDebugTimer() { global $wgDebugTimestamps; - if ( !$wgDebugTimestamps ) return ''; + if ( !$wgDebugTimestamps ) { + return ''; + } static $start = null; if ( $start === null ) { @@ -372,7 +385,7 @@ function wfDebugMem( $exact = false ) { */ function wfDebugLog( $logGroup, $text, $public = true ) { global $wgDebugLogGroups, $wgShowHostnames; - $text = trim($text)."\n"; + $text = trim( $text ) . "\n"; if( isset( $wgDebugLogGroups[$logGroup] ) ) { $time = wfTimestamp( TS_DB ); $wiki = wfWikiID(); @@ -382,7 +395,7 @@ function wfDebugLog( $logGroup, $text, $public = true ) { $host = ''; } wfErrorLog( "$time $host $wiki: $text", $wgDebugLogGroups[$logGroup] ); - } else if ( $public === true ) { + } elseif ( $public === true ) { wfDebug( $text, true ); } } @@ -395,7 +408,7 @@ function wfLogDBError( $text ) { global $wgDBerrorLog, $wgDBname; if ( $wgDBerrorLog ) { $host = trim(`hostname`); - $text = date('D M j G:i:s T Y') . "\t$host\t$wgDBname\t$text"; + $text = date( 'D M j G:i:s T Y' ) . "\t$host\t$wgDBname\t$text"; wfErrorLog( $text, $wgDBerrorLog ); } } @@ -426,7 +439,7 @@ function wfErrorLog( $text, $file ) { $prefix = isset( $m[4] ) ? $m[4] : false; $domain = AF_INET; } else { - throw new MWException( __METHOD__.": Invalid UDP specification" ); + throw new MWException( __METHOD__ . ': Invalid UDP specification' ); } // Clean it up for the multiplexer if ( strval( $prefix ) !== '' ) { @@ -460,29 +473,38 @@ function wfLogProfilingData() { global $wgRequestTime, $wgDebugLogFile, $wgDebugRawPage, $wgRequest; global $wgProfiler, $wgProfileLimit, $wgUser; # Profiling must actually be enabled... - if( is_null( $wgProfiler ) ) return; + if( is_null( $wgProfiler ) ) { + return; + } # Get total page request time $now = wfTime(); $elapsed = $now - $wgRequestTime; # Only show pages that longer than $wgProfileLimit time (default is 0) - if( $elapsed <= $wgProfileLimit ) return; + if( $elapsed <= $wgProfileLimit ) { + return; + } $prof = wfGetProfilingOutput( $wgRequestTime, $elapsed ); $forward = ''; - if( !empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) + if( !empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { $forward = ' forwarded for ' . $_SERVER['HTTP_X_FORWARDED_FOR']; - if( !empty( $_SERVER['HTTP_CLIENT_IP'] ) ) + } + if( !empty( $_SERVER['HTTP_CLIENT_IP'] ) ) { $forward .= ' client IP ' . $_SERVER['HTTP_CLIENT_IP']; - if( !empty( $_SERVER['HTTP_FROM'] ) ) + } + if( !empty( $_SERVER['HTTP_FROM'] ) ) { $forward .= ' from ' . $_SERVER['HTTP_FROM']; - if( $forward ) + } + if( $forward ) { $forward = "\t(proxied via {$_SERVER['REMOTE_ADDR']}{$forward})"; + } // Don't unstub $wgUser at this late stage just for statistics purposes - if( StubObject::isRealObject($wgUser) && $wgUser->isAnon() ) + if( StubObject::isRealObject( $wgUser ) && $wgUser->isAnon() ) { $forward .= ' anon'; + } $log = sprintf( "%s\t%04.3f\t%s\n", - gmdate( 'YmdHis' ), $elapsed, - urldecode( $wgRequest->getRequestURL() . $forward ) ); - if ( $wgDebugLogFile != '' && ( $wgRequest->getVal('action') != 'raw' || $wgDebugRawPage ) ) { + gmdate( 'YmdHis' ), $elapsed, + urldecode( $wgRequest->getRequestURL() . $forward ) ); + if ( $wgDebugLogFile != '' && ( $wgRequest->getVal( 'action' ) != 'raw' || $wgDebugRawPage ) ) { wfErrorLog( $log . $prof, $wgDebugLogFile ); } } @@ -607,7 +629,7 @@ function wfMsgNoTrans( $key ) { * Get a message from anywhere, for the current global language * set with $wgLanguageCode. * - * Use this if the message should NOT change dependent on the + * Use this if the message should NOT change dependent on the * language set in the user's preferences. This is the case for * most text written into logs, as well as link targets (such as * the name of the copyright policy page). Link titles, on the @@ -632,7 +654,9 @@ function wfMsgForContent( $key ) { $forcontent = true; if( is_array( $wgForceUIMsgAsContentMsg ) && in_array( $key, $wgForceUIMsgAsContentMsg ) ) + { $forcontent = false; + } return wfMsgReal( $key, $args, true, $forcontent ); } @@ -646,7 +670,9 @@ function wfMsgForContentNoTrans( $key ) { $forcontent = true; if( is_array( $wgForceUIMsgAsContentMsg ) && in_array( $key, $wgForceUIMsgAsContentMsg ) ) + { $forcontent = false; + } return wfMsgReal( $key, $args, true, $forcontent, false ); } @@ -669,7 +695,9 @@ function wfMsgNoDBForContent( $key ) { $forcontent = true; if( is_array( $wgForceUIMsgAsContentMsg ) && in_array( $key, $wgForceUIMsgAsContentMsg ) ) + { $forcontent = false; + } return wfMsgReal( $key, $args, false, $forcontent ); } @@ -697,10 +725,11 @@ function wfMsgReal( $key, $args, $useDB = true, $forContent = false, $transform */ function wfMsgWeirdKey( $key ) { $source = wfMsgGetKey( $key, false, true, false ); - if ( wfEmptyMsg( $key, $source ) ) - return ""; - else + if ( wfEmptyMsg( $key, $source ) ) { + return ''; + } else { return $source; + } } /** @@ -715,14 +744,14 @@ function wfMsgWeirdKey( $key ) { function wfMsgGetKey( $key, $useDB, $langCode = false, $transform = true ) { global $wgMessageCache; - wfRunHooks('NormalizeMessageKey', array(&$key, &$useDB, &$langCode, &$transform)); + wfRunHooks( 'NormalizeMessageKey', array( &$key, &$useDB, &$langCode, &$transform ) ); if ( !is_object( $wgMessageCache ) ) { - throw new MWException( "Trying to get message before message cache is initialised" ); + throw new MWException( 'Trying to get message before message cache is initialised' ); } $message = $wgMessageCache->get( $key, $useDB, $langCode ); - if( $message === false ){ + if( $message === false ) { $message = '<' . htmlspecialchars( $key ) . '>'; } elseif ( $transform ) { $message = $wgMessageCache->transform( $message ); @@ -750,7 +779,7 @@ function wfMsgReplaceArgs( $message, $args ) { } $replacementKeys = array(); foreach( $args as $n => $param ) { - $replacementKeys['$' . ($n + 1)] = $param; + $replacementKeys['$' . ( $n + 1 )] = $param; } $message = strtr( $message, $replacementKeys ); } @@ -797,8 +826,8 @@ function wfMsgWikiHtml( $key ) { * Returns message in the requested format * @param $key String: key of the message * @param $options Array: processing rules. Can take the following options: - * parse: parses wikitext to html - * parseinline: parses wikitext to html and removes the surrounding + * parse: parses wikitext to HTML + * parseinline: parses wikitext to HTML and removes the surrounding * p's added by parser or tidy * escape: filters message through htmlspecialchars * escapenoentities: same, but allows entity references like   through @@ -831,10 +860,10 @@ function wfMsgExt( $key, $options ) { } } - if( in_array('content', $options, true ) ) { + if( in_array( 'content', $options, true ) ) { $forContent = true; $langCode = true; - } elseif( array_key_exists('language', $options) ) { + } elseif( array_key_exists( 'language', $options ) ) { $forContent = false; $langCode = wfGetLangObj( $options['language'] ); } else { @@ -844,19 +873,19 @@ function wfMsgExt( $key, $options ) { $string = wfMsgGetKey( $key, /*DB*/true, $langCode, /*Transform*/false ); - if( !in_array('replaceafter', $options, true ) ) { + if( !in_array( 'replaceafter', $options, true ) ) { $string = wfMsgReplaceArgs( $string, $args ); } - if( in_array('parse', $options, true ) ) { + if( in_array( 'parse', $options, true ) ) { $string = $wgOut->parse( $string, true, !$forContent ); - } elseif ( in_array('parseinline', $options, true ) ) { + } elseif ( in_array( 'parseinline', $options, true ) ) { $string = $wgOut->parse( $string, true, !$forContent ); $m = array(); if( preg_match( '/^

(.*)\n?<\/p>\n?$/sU', $string, $m ) ) { $string = $m[1]; } - } elseif ( in_array('parsemag', $options, true ) ) { + } elseif ( in_array( 'parsemag', $options, true ) ) { global $wgMessageCache; if ( isset( $wgMessageCache ) ) { $string = $wgMessageCache->transform( $string, @@ -865,13 +894,13 @@ function wfMsgExt( $key, $options ) { } } - if ( in_array('escape', $options, true ) ) { + if ( in_array( 'escape', $options, true ) ) { $string = htmlspecialchars ( $string ); - } elseif ( in_array( 'escapenoentities', $options, true ) ) { + } elseif ( in_array( 'escapenoentities', $options, true ) ) { $string = Sanitizer::escapeHtmlAllowEntities( $string ); } - if( in_array('replaceafter', $options, true ) ) { + if( in_array( 'replaceafter', $options, true ) ) { $string = wfMsgReplaceArgs( $string, $args ); } @@ -885,22 +914,22 @@ function wfMsgExt( $key, $options ) { * * @deprecated Please return control to the caller or throw an exception */ -function wfAbruptExit( $error = false ){ +function wfAbruptExit( $error = false ) { static $called = false; - if ( $called ){ + if ( $called ) { exit( -1 ); } $called = true; $bt = wfDebugBacktrace(); if( $bt ) { - for($i = 0; $i < count($bt) ; $i++){ - $file = isset($bt[$i]['file']) ? $bt[$i]['file'] : "unknown"; - $line = isset($bt[$i]['line']) ? $bt[$i]['line'] : "unknown"; - wfDebug("WARNING: Abrupt exit in $file at line $line\n"); + for( $i = 0; $i < count( $bt ); $i++ ) { + $file = isset( $bt[$i]['file'] ) ? $bt[$i]['file'] : 'unknown'; + $line = isset( $bt[$i]['line'] ) ? $bt[$i]['line'] : 'unknown'; + wfDebug( "WARNING: Abrupt exit in $file at line $line\n"); } } else { - wfDebug("WARNING: Abrupt exit\n"); + wfDebug( "WARNING: Abrupt exit\n" ); } wfLogProfilingData(); @@ -923,7 +952,7 @@ function wfErrorExit() { * Plain die() fails to return nonzero to the shell if you pass a string. * @param $msg String */ -function wfDie( $msg='' ) { +function wfDie( $msg = '' ) { echo $msg; die( 1 ); } @@ -978,8 +1007,8 @@ function wfReportTime() { $elapsed = $now - $wgRequestTime; return $wgShowHostnames - ? sprintf( "", wfHostname(), $elapsed ) - : sprintf( "", $elapsed ); + ? sprintf( '', wfHostname(), $elapsed ) + : sprintf( '', $elapsed ); } /** @@ -1032,7 +1061,7 @@ function wfBacktrace() { foreach( $backtrace as $call ) { if( isset( $call['file'] ) ) { $f = explode( DIRECTORY_SEPARATOR, $call['file'] ); - $file = $f[count($f)-1]; + $file = $f[count( $f ) - 1]; } else { $file = '-'; } @@ -1046,7 +1075,9 @@ function wfBacktrace() { } else { $msg .= '

  • ' . $file . ' line ' . $line . ' calls '; } - if( !empty( $call['class'] ) ) $msg .= $call['class'] . '::'; + if( !empty( $call['class'] ) ) { + $msg .= $call['class'] . '::'; + } $msg .= $call['function'] . '()'; if ( $wgCommandLineMode ) { @@ -1073,8 +1104,12 @@ function wfBacktrace() { */ function wfShowingResults( $offset, $limit ) { global $wgLang; - return wfMsgExt( 'showingresults', array( 'parseinline' ), $wgLang->formatNum( $limit ), - $wgLang->formatNum( $offset+1 ) ); + return wfMsgExt( + 'showingresults', + array( 'parseinline' ), + $wgLang->formatNum( $limit ), + $wgLang->formatNum( $offset + 1 ) + ); } /** @@ -1082,8 +1117,13 @@ function wfShowingResults( $offset, $limit ) { */ function wfShowingResultsNum( $offset, $limit, $num ) { global $wgLang; - return wfMsgExt( 'showingresultsnum', array( 'parseinline' ), $wgLang->formatNum( $limit ), - $wgLang->formatNum( $offset+1 ), $wgLang->formatNum( $num ) ); + return wfMsgExt( + 'showingresultsnum', + array( 'parseinline' ), + $wgLang->formatNum( $limit ), + $wgLang->formatNum( $offset + 1 ), + $wgLang->formatNum( $num ) + ); } /** @@ -1099,11 +1139,11 @@ function wfViewPrevNext( $offset, $limit, $link, $query = '', $atend = false ) { $fmtLimit = $wgLang->formatNum( $limit ); // FIXME: Why on earth this needs one message for the text and another one for tooltip?? # Get prev/next link display text - $prev = wfMsgExt( 'prevn', array('parsemag','escape'), $fmtLimit ); - $next = wfMsgExt( 'nextn', array('parsemag','escape'), $fmtLimit ); + $prev = wfMsgExt( 'prevn', array( 'parsemag', 'escape' ), $fmtLimit ); + $next = wfMsgExt( 'nextn', array( 'parsemag', 'escape' ), $fmtLimit ); # Get prev/next link title text - $pTitle = wfMsgExt( 'prevn-title', array('parsemag','escape'), $fmtLimit ); - $nTitle = wfMsgExt( 'nextn-title', array('parsemag','escape'), $fmtLimit ); + $pTitle = wfMsgExt( 'prevn-title', array( 'parsemag', 'escape' ), $fmtLimit ); + $nTitle = wfMsgExt( 'nextn-title', array( 'parsemag', 'escape' ), $fmtLimit ); # Fetch the title object if( is_object( $link ) ) { $title =& $link; @@ -1116,12 +1156,12 @@ function wfViewPrevNext( $offset, $limit, $link, $query = '', $atend = false ) { # Make 'previous' link if( 0 != $offset ) { $po = $offset - $limit; - $po = max($po,0); + $po = max( $po, 0 ); $q = "limit={$limit}&offset={$po}"; if( $query != '' ) { - $q .= '&'.$query; + $q .= '&' . $query; } - $plink = '{$prev}"; + $plink = '{$prev}"; } else { $plink = $prev; } @@ -1129,12 +1169,12 @@ function wfViewPrevNext( $offset, $limit, $link, $query = '', $atend = false ) { $no = $offset + $limit; $q = "limit={$limit}&offset={$no}"; if( $query != '' ) { - $q .= '&'.$query; + $q .= '&' . $query; } if( $atend ) { $nlink = $next; } else { - $nlink = '{$next}"; + $nlink = '{$next}"; } # Make links to set number of items per page $nums = $wgLang->pipeList( array( @@ -1163,8 +1203,8 @@ function wfNumLink( $offset, $limit, $title, $query = '' ) { } $q .= "limit={$limit}&offset={$offset}"; $fmtLimit = $wgLang->formatNum( $limit ); - $lTitle = wfMsgExt('shown-title',array('parsemag','escape'),$limit); - $s = '{$fmtLimit}"; + $lTitle = wfMsgExt( 'shown-title', array( 'parsemag', 'escape' ), $limit ); + $s = '{$fmtLimit}"; return $s; } @@ -1181,8 +1221,12 @@ function wfClientAcceptsGzip() { if( preg_match( '/\bgzip(?:;(q)=([0-9]+(?:\.[0-9]+)))?\b/', $_SERVER['HTTP_ACCEPT_ENCODING'], - $m ) ) { - if( isset( $m[2] ) && ( $m[1] == 'q' ) && ( $m[2] == 0 ) ) return false; + $m ) + ) + { + if( isset( $m[2] ) && ( $m[1] == 'q' ) && ( $m[2] == 0 ) ) { + return false; + } wfDebug( " accepts gzip\n" ); return true; } @@ -1218,7 +1262,8 @@ function wfEscapeWikiText( $text ) { $text = str_replace( array( '[', '|', ']', '\'', 'ISBN ', 'RFC ', '://', "\n=", '{{' ), # }} array( '[', '|', ']', ''', 'ISBN ', 'RFC ', '://', "\n=", '{{' ), - htmlspecialchars($text) ); + htmlspecialchars( $text ) + ); return $text; } @@ -1236,7 +1281,9 @@ function wfQuotedPrintable( $string, $charset = '' ) { $illegal = '\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\xff='; $replace = $illegal . '\t ?_'; - if( !preg_match( "/[$illegal]/", $string ) ) return $string; + if( !preg_match( "/[$illegal]/", $string ) ) { + return $string; + } $out = "=?$charset?Q?"; $out .= preg_replace( "/([$replace])/e", 'sprintf("=%02X",ord("$1"))', $string ); $out .= '?='; @@ -1249,7 +1296,7 @@ function wfQuotedPrintable( $string, $charset = '' ) { * @return float */ function wfTime() { - return microtime(true); + return microtime( true ); } /** @@ -1268,7 +1315,7 @@ function wfSetVar( &$dest, $source ) { * As for wfSetVar except setting a bit */ function wfSetBit( &$dest, $bit, $state = true ) { - $temp = (bool)($dest & $bit ); + $temp = (bool)( $dest & $bit ); if ( !is_null( $state ) ) { if ( $state ) { $dest |= $bit; @@ -1284,8 +1331,7 @@ function wfSetBit( &$dest, $bit, $state = true ) { * "days=7&limit=100". Options in the first array override options in the second. * Options set to "" will not be output. */ -function wfArrayToCGI( $array1, $array2 = null ) -{ +function wfArrayToCGI( $array1, $array2 = null ) { if ( !is_null( $array2 ) ) { $array1 = $array1 + $array2; } @@ -1327,7 +1373,7 @@ function wfArrayToCGI( $array1, $array2 = null ) * @return array Array version of input */ function wfCgiToArray( $query ) { - if( isset( $query[0] ) and $query[0] == '?' ) { + if( isset( $query[0] ) && $query[0] == '?' ) { $query = substr( $query, 1 ); } $bits = explode( '&', $query ); @@ -1393,7 +1439,7 @@ function wfExpandUrl( $url ) { * This is obsolete, use SquidUpdate::purge() * @deprecated */ -function wfPurgeSquidServers ($urlArr) { +function wfPurgeSquidServers( $urlArr ) { SquidUpdate::purge( $urlArr ); } @@ -1429,7 +1475,7 @@ function wfEscapeShellArg( ) { if ( $iteration % 2 == 1 ) { // Delimiter, a double quote preceded by zero or more slashes $arg .= str_replace( '\\', '\\\\', substr( $token, 0, -1 ) ) . '\\"'; - } else if ( $iteration % 4 == 2 ) { + } elseif ( $iteration % 4 == 2 ) { // ^ in $token will be outside quotes, need to be escaped $arg .= str_replace( '^', '^^', $token ); } else { // $iteration % 4 == 0 @@ -1458,7 +1504,7 @@ function wfEscapeShellArg( ) { * wfMerge attempts to merge differences between three texts. * Returns true for a clean merge and false for failure or a conflict. */ -function wfMerge( $old, $mine, $yours, &$result ){ +function wfMerge( $old, $mine, $yours, &$result ) { global $wgDiff3; # This check may also protect against code injection in @@ -1474,18 +1520,21 @@ function wfMerge( $old, $mine, $yours, &$result ){ $mytextFile = fopen( $mytextName = tempnam( $td, 'merge-mine-' ), 'w' ); $yourtextFile = fopen( $yourtextName = tempnam( $td, 'merge-your-' ), 'w' ); - fwrite( $oldtextFile, $old ); fclose( $oldtextFile ); - fwrite( $mytextFile, $mine ); fclose( $mytextFile ); - fwrite( $yourtextFile, $yours ); fclose( $yourtextFile ); + fwrite( $oldtextFile, $old ); + fclose( $oldtextFile ); + fwrite( $mytextFile, $mine ); + fclose( $mytextFile ); + fwrite( $yourtextFile, $yours ); + fclose( $yourtextFile ); # Check for a conflict $cmd = $wgDiff3 . ' -a --overlap-only ' . - wfEscapeShellArg( $mytextName ) . ' ' . - wfEscapeShellArg( $oldtextName ) . ' ' . - wfEscapeShellArg( $yourtextName ); + wfEscapeShellArg( $mytextName ) . ' ' . + wfEscapeShellArg( $oldtextName ) . ' ' . + wfEscapeShellArg( $yourtextName ); $handle = popen( $cmd, 'r' ); - if( fgets( $handle, 1024 ) ){ + if( fgets( $handle, 1024 ) ) { $conflict = true; } else { $conflict = false; @@ -1494,7 +1543,7 @@ function wfMerge( $old, $mine, $yours, &$result ){ # Merge differences $cmd = $wgDiff3 . ' -a -e --merge ' . - wfEscapeShellArg( $mytextName, $oldtextName, $yourtextName ); + wfEscapeShellArg( $mytextName, $oldtextName, $yourtextName ); $handle = popen( $cmd, 'r' ); $result = ''; do { @@ -1505,13 +1554,15 @@ function wfMerge( $old, $mine, $yours, &$result ){ $result .= $data; } while ( true ); pclose( $handle ); - unlink( $mytextName ); unlink( $oldtextName ); unlink( $yourtextName ); + unlink( $mytextName ); + unlink( $oldtextName ); + unlink( $yourtextName ); if ( $result === '' && $old !== '' && !$conflict ) { wfDebug( "Unexpected null result from diff3. Command: $cmd\n" ); $conflict = true; } - return ! $conflict; + return !$conflict; } /** @@ -1523,7 +1574,7 @@ function wfMerge( $old, $mine, $yours, &$result ){ * @return String: unified diff of $before and $after */ function wfDiff( $before, $after, $params = '-u' ) { - if ($before == $after) { + if ( $before == $after ) { return ''; } @@ -1531,7 +1582,7 @@ function wfDiff( $before, $after, $params = '-u' ) { # This check may also protect against code injection in # case of broken installations. - if( !file_exists( $wgDiff ) ){ + if( !file_exists( $wgDiff ) ) { wfDebug( "diff executable not found\n" ); $diffs = new Diff( explode( "\n", $before ), explode( "\n", $after ) ); $format = new UnifiedDiffFormatter(); @@ -1543,11 +1594,13 @@ function wfDiff( $before, $after, $params = '-u' ) { $oldtextFile = fopen( $oldtextName = tempnam( $td, 'merge-old-' ), 'w' ); $newtextFile = fopen( $newtextName = tempnam( $td, 'merge-your-' ), 'w' ); - fwrite( $oldtextFile, $before ); fclose( $oldtextFile ); - fwrite( $newtextFile, $after ); fclose( $newtextFile ); + fwrite( $oldtextFile, $before ); + fclose( $oldtextFile ); + fwrite( $newtextFile, $after ); + fclose( $newtextFile ); // Get the diff of the two files - $cmd = "$wgDiff " . $params . ' ' .wfEscapeShellArg( $oldtextName, $newtextName ); + $cmd = "$wgDiff " . $params . ' ' . wfEscapeShellArg( $oldtextName, $newtextName ); $h = popen( $cmd, 'r' ); @@ -1568,11 +1621,11 @@ function wfDiff( $before, $after, $params = '-u' ) { // Kill the --- and +++ lines. They're not useful. $diff_lines = explode( "\n", $diff ); - if (strpos( $diff_lines[0], '---' ) === 0) { - unset($diff_lines[0]); + if ( strpos( $diff_lines[0], '---' ) === 0 ) { + unset( $diff_lines[0] ); } - if (strpos( $diff_lines[1], '+++' ) === 0) { - unset($diff_lines[1]); + if ( strpos( $diff_lines[1], '+++' ) === 0 ) { + unset( $diff_lines[1] ); } $diff = implode( "\n", $diff_lines ); @@ -1588,7 +1641,7 @@ function wfDiff( $before, $after, $params = '-u' ) { */ function wfVarDump( $var ) { global $wgOut; - $s = str_replace("\n","
    \n", var_export( $var, true ) . "\n"); + $s = str_replace( "\n", "
    \n", var_export( $var, true ) . "\n" ); if ( headers_sent() || !@is_object( $wgOut ) ) { print $s; } else { @@ -1608,11 +1661,11 @@ function wfHttpError( $code, $label, $desc ) { header( 'Content-type: text/html; charset=utf-8' ); print "". - "" . + '<html><head><title>' . htmlspecialchars( $label ) . - "

    " . + '

    ' . htmlspecialchars( $label ) . - "

    " . + '

    ' . nl2br( htmlspecialchars( $desc ) ) . "

    \n"; } @@ -1634,7 +1687,7 @@ function wfHttpError( $code, $label, $desc ) { * * @param $resetGzipEncoding Bool */ -function wfResetOutputBuffers( $resetGzipEncoding=true ) { +function wfResetOutputBuffers( $resetGzipEncoding = true ) { if( $resetGzipEncoding ) { // Suppress Content-Encoding and Content-Length // headers from 1.10+s wfOutputHandler @@ -1703,7 +1756,7 @@ function wfAcceptToPrefs( $accept, $def = '*/*' ) { if( !isset( $qpart ) ) { $prefs[$value] = 1.0; } elseif( preg_match( '/q\s*=\s*(\d*\.\d+)/', $qpart, $match ) ) { - $prefs[$value] = floatval($match[1]); + $prefs[$value] = floatval( $match[1] ); } } @@ -1723,7 +1776,7 @@ function wfAcceptToPrefs( $accept, $def = '*/*' ) { * @private */ function mimeTypeMatch( $type, $avail ) { - if( array_key_exists($type, $avail) ) { + if( array_key_exists( $type, $avail ) ) { return $type; } else { $parts = explode( '/', $type ); @@ -1840,29 +1893,29 @@ function wfRestoreWarnings() { /** * Unix time - the number of seconds since 1970-01-01 00:00:00 UTC */ -define('TS_UNIX', 0); +define( 'TS_UNIX', 0 ); /** * MediaWiki concatenated string timestamp (YYYYMMDDHHMMSS) */ -define('TS_MW', 1); +define( 'TS_MW', 1 ); /** * MySQL DATETIME (YYYY-MM-DD HH:MM:SS) */ -define('TS_DB', 2); +define( 'TS_DB', 2 ); /** * RFC 2822 format, for E-mail and HTTP headers */ -define('TS_RFC2822', 3); +define( 'TS_RFC2822', 3 ); /** * ISO 8601 format with no timezone: 1986-02-09T20:00:00Z * * This is used by Special:Export */ -define('TS_ISO_8601', 4); +define( 'TS_ISO_8601', 4 ); /** * An Exif timestamp (YYYY:MM:DD HH:MM:SS) @@ -1871,22 +1924,22 @@ define('TS_ISO_8601', 4); * DateTime tag and page 36 for the DateTimeOriginal and * DateTimeDigitized tags. */ -define('TS_EXIF', 5); +define( 'TS_EXIF', 5 ); /** * Oracle format time. */ -define('TS_ORACLE', 6); +define( 'TS_ORACLE', 6 ); /** * Postgres format time. */ -define('TS_POSTGRES', 7); +define( 'TS_POSTGRES', 7 ); /** * DB2 format time */ -define('TS_DB2', 8); +define( 'TS_DB2', 8 ); /** * @param $outputtype Mixed: A timestamp in one of the supported formats, the @@ -1898,26 +1951,26 @@ define('TS_DB2', 8); function wfTimestamp( $outputtype = TS_UNIX, $ts = 0 ) { $uts = 0; $da = array(); - if ($ts==0) { - $uts=time(); - } elseif (preg_match('/^(\d{4})\-(\d\d)\-(\d\d) (\d\d):(\d\d):(\d\d)$/D',$ts,$da)) { + if ( $ts == 0 ) { + $uts = time(); + } elseif ( preg_match( '/^(\d{4})\-(\d\d)\-(\d\d) (\d\d):(\d\d):(\d\d)$/D', $ts, $da ) ) { # TS_DB - } elseif (preg_match('/^(\d{4}):(\d\d):(\d\d) (\d\d):(\d\d):(\d\d)$/D',$ts,$da)) { + } elseif ( preg_match( '/^(\d{4}):(\d\d):(\d\d) (\d\d):(\d\d):(\d\d)$/D', $ts, $da ) ) { # TS_EXIF - } elseif (preg_match('/^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/D',$ts,$da)) { + } elseif ( preg_match( '/^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/D', $ts, $da ) ) { # TS_MW - } elseif (preg_match('/^-?\d{1,13}$/D',$ts)) { + } elseif ( preg_match( '/^-?\d{1,13}$/D', $ts ) ) { # TS_UNIX $uts = $ts; - } elseif (preg_match('/^\d{2}-\d{2}-\d{4} \d{2}:\d{2}:\d{2}.\d{6}$/', $ts)) { + } elseif ( preg_match( '/^\d{2}-\d{2}-\d{4} \d{2}:\d{2}:\d{2}.\d{6}$/', $ts ) ) { # TS_ORACLE // session altered to DD-MM-YYYY HH24:MI:SS.FF6 - $uts = strtotime(preg_replace('/(\d\d)\.(\d\d)\.(\d\d)(\.(\d+))?/', "$1:$2:$3", - str_replace("+00:00", "UTC", $ts))); - } elseif (preg_match('/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.*\d*)?Z$/', $ts, $da)) { + $uts = strtotime( preg_replace( '/(\d\d)\.(\d\d)\.(\d\d)(\.(\d+))?/', "$1:$2:$3", + str_replace( '+00:00', 'UTC', $ts ) ) ); + } elseif ( preg_match( '/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.*\d*)?Z$/', $ts, $da ) ) { # TS_ISO_8601 - } elseif (preg_match('/^(\d{4})\-(\d\d)\-(\d\d) (\d\d):(\d\d):(\d\d)\.*\d*[\+\- ](\d\d)$/',$ts,$da)) { + } elseif ( preg_match( '/^(\d{4})\-(\d\d)\-(\d\d) (\d\d):(\d\d):(\d\d)\.*\d*[\+\- ](\d\d)$/', $ts, $da ) ) { # TS_POSTGRES - } elseif (preg_match('/^(\d{4})\-(\d\d)\-(\d\d) (\d\d):(\d\d):(\d\d)\.*\d* GMT$/',$ts,$da)) { + } elseif ( preg_match( '/^(\d{4})\-(\d\d)\-(\d\d) (\d\d):(\d\d):(\d\d)\.*\d* GMT$/', $ts, $da ) ) { # TS_POSTGRES } else { # Bogus value; fall back to the epoch... @@ -1928,11 +1981,11 @@ function wfTimestamp( $outputtype = TS_UNIX, $ts = 0 ) { if (count( $da ) ) { // Warning! gmmktime() acts oddly if the month or day is set to 0 // We may want to handle that explicitly at some point - $uts=gmmktime((int)$da[4],(int)$da[5],(int)$da[6], - (int)$da[2],(int)$da[3],(int)$da[1]); + $uts = gmmktime( (int)$da[4], (int)$da[5], (int)$da[6], + (int)$da[2], (int)$da[3], (int)$da[1] ); } - switch($outputtype) { + switch( $outputtype ) { case TS_UNIX: return $uts; case TS_MW: @@ -1943,18 +1996,18 @@ function wfTimestamp( $outputtype = TS_UNIX, $ts = 0 ) { return gmdate( 'Y-m-d\TH:i:s\Z', $uts ); // This shouldn't ever be used, but is included for completeness case TS_EXIF: - return gmdate( 'Y:m:d H:i:s', $uts ); + return gmdate( 'Y:m:d H:i:s', $uts ); case TS_RFC2822: return gmdate( 'D, d M Y H:i:s', $uts ) . ' GMT'; case TS_ORACLE: - return gmdate( 'd-m-Y H:i:s.000000', $uts); - //return gmdate( 'd-M-y h.i.s A', $uts) . ' +00:00'; + return gmdate( 'd-m-Y H:i:s.000000', $uts ); + //return gmdate( 'd-M-y h.i.s A', $uts ) . ' +00:00'; case TS_POSTGRES: - return gmdate( 'Y-m-d H:i:s', $uts) . ' GMT'; + return gmdate( 'Y-m-d H:i:s', $uts ) . ' GMT'; case TS_DB2: - return gmdate( 'Y-m-d H:i:s', $uts); + return gmdate( 'Y-m-d H:i:s', $uts ); default: - throw new MWException( 'wfTimestamp() called with illegal output type.'); + throw new MWException( 'wfTimestamp() called with illegal output type.' ); } } @@ -1979,7 +2032,7 @@ function wfTimestampOrNull( $outputtype = TS_UNIX, $ts = null ) { * @return Bool: true if it's Windows, False otherwise. */ function wfIsWindows() { - if (substr(php_uname(), 0, 7) == 'Windows') { + if ( substr( php_uname(), 0, 7 ) == 'Windows' ) { return true; } else { return false; @@ -2037,11 +2090,11 @@ function wfGetCachedNotice( $name ) { $parserMemc->set( $key, array( 'html' => $parsed, 'hash' => md5( $notice ) ), 600 ); $notice = $parsed; } else { - wfDebug( 'wfGetCachedNotice called for ' . $name . ' with no $wgOut available'."\n" ); + wfDebug( 'wfGetCachedNotice called for ' . $name . ' with no $wgOut available' . "\n" ); $notice = ''; } } - $notice = '
    '.$notice.'
    '; + $notice = '
    ' .$notice . '
    '; wfProfileOut( $fname ); return $notice; } @@ -2050,18 +2103,19 @@ function wfGetNamespaceNotice() { global $wgTitle; # Paranoia - if ( !isset( $wgTitle ) || !is_object( $wgTitle ) ) - return ""; + if ( !isset( $wgTitle ) || !is_object( $wgTitle ) ) { + return ''; + } $fname = 'wfGetNamespaceNotice'; wfProfileIn( $fname ); - $key = "namespacenotice-" . $wgTitle->getNsText(); + $key = 'namespacenotice-' . $wgTitle->getNsText(); $namespaceNotice = wfGetCachedNotice( $key ); - if ( $namespaceNotice && substr ( $namespaceNotice , 0 ,7 ) != "

    <" ) { - $namespaceNotice = '

    ' . $namespaceNotice . "
    "; + if ( $namespaceNotice && substr( $namespaceNotice, 0, 7 ) != '

    <' ) { + $namespaceNotice = '

    ' . $namespaceNotice . '
    '; } else { - $namespaceNotice = ""; + $namespaceNotice = ''; } wfProfileOut( $fname ); @@ -2145,17 +2199,19 @@ function wfMkdirParents( $dir, $mode = null, $caller = null ) { wfDebug( "$caller: called wfMkdirParents($dir)" ); } - if( strval( $dir ) === '' || file_exists( $dir ) ) + if( strval( $dir ) === '' || file_exists( $dir ) ) { return true; + } $dir = str_replace( array( '\\', '/' ), DIRECTORY_SEPARATOR, $dir ); - if ( is_null( $mode ) ) + if ( is_null( $mode ) ) { $mode = $wgDirectoryMode; + } // Turn off the normal warning, we're doing our own below wfSuppressWarnings(); - $ok = mkdir( $dir, $mode, true ); // PHP5 <3 + $ok = mkdir( $dir, $mode, true ); // PHP5 <3 wfRestoreWarnings(); if( !$ok ) { @@ -2174,13 +2230,27 @@ function wfIncrStats( $key ) { if( $wgStatsMethod == 'udp' ) { global $wgUDPProfilerHost, $wgUDPProfilerPort, $wgDBname; static $socket; - if (!$socket) { - $socket=socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); - $statline="stats/{$wgDBname} - 1 1 1 1 1 -total\n"; - socket_sendto($socket,$statline,strlen($statline),0,$wgUDPProfilerHost,$wgUDPProfilerPort); - } - $statline="stats/{$wgDBname} - 1 1 1 1 1 {$key}\n"; - @socket_sendto($socket,$statline,strlen($statline),0,$wgUDPProfilerHost,$wgUDPProfilerPort); + if ( !$socket ) { + $socket = socket_create( AF_INET, SOCK_DGRAM, SOL_UDP ); + $statline = "stats/{$wgDBname} - 1 1 1 1 1 -total\n"; + socket_sendto( + $socket, + $statline, + strlen( $statline ), + 0, + $wgUDPProfilerHost, + $wgUDPProfilerPort + ); + } + $statline = "stats/{$wgDBname} - 1 1 1 1 1 {$key}\n"; + @socket_sendto( + $socket, + $statline, + strlen( $statline ), + 0, + $wgUDPProfilerHost, + $wgUDPProfilerPort + ); } elseif( $wgStatsMethod == 'cache' ) { global $wgMemc; $key = wfMemcKey( 'stats', $key ); @@ -2214,7 +2284,7 @@ function wfPercent( $nr, $acc = 2, $round = true ) { function wfEncryptPassword( $userid, $password ) { wfDeprecated(__FUNCTION__); # Just wrap around User::oldCrypt() - return User::oldCrypt($password, $userid); + return User::oldCrypt( $password, $userid ); } /** @@ -2222,7 +2292,7 @@ function wfEncryptPassword( $userid, $password ) { */ function wfAppendToArrayIfNotDefault( $key, $value, $default, &$changed ) { if ( is_null( $changed ) ) { - throw new MWException('GlobalFunctions::wfAppendToArrayIfNotDefault got null'); + throw new MWException( 'GlobalFunctions::wfAppendToArrayIfNotDefault got null' ); } if ( $default[$key] !== $value ) { $changed[$key] = $value; @@ -2255,7 +2325,7 @@ function in_string( $needle, $str ) { function wfSpecialList( $page, $details ) { global $wgContLang; - $details = $details ? ' ' . $wgContLang->getDirMark() . "($details)" : ""; + $details = $details ? ' ' . $wgContLang->getDirMark() . "($details)" : ''; return $page . $details; } @@ -2268,15 +2338,17 @@ function wfUrlProtocols() { global $wgUrlProtocols; static $retval = null; - if ( !is_null( $retval ) ) + if ( !is_null( $retval ) ) { return $retval; + } // Support old-style $wgUrlProtocols strings, for backwards compatibility // with LocalSettings files from 1.5 if ( is_array( $wgUrlProtocols ) ) { $protocols = array(); - foreach ($wgUrlProtocols as $protocol) + foreach ( $wgUrlProtocols as $protocol ) { $protocols[] = preg_quote( $protocol, '/' ); + } $retval = implode( '|', $protocols ); } else { @@ -2349,7 +2421,7 @@ function wfDl( $extension ) { * (non-zero is usually failure) * @return collected stdout as a string (trailing newlines stripped) */ -function wfShellExec( $cmd, &$retval=null ) { +function wfShellExec( $cmd, &$retval = null ) { global $IP, $wgMaxShellMemory, $wgMaxShellFileSize, $wgMaxShellTime; static $disabled; @@ -2369,7 +2441,7 @@ function wfShellExec( $cmd, &$retval=null ) { } if ( $disabled ) { $retval = 1; - return "Unable to run external programs in safe mode."; + return 'Unable to run external programs in safe mode.'; } wfInitShellLocale(); @@ -2413,7 +2485,9 @@ function wfShellExec( $cmd, &$retval=null ) { */ function wfInitShellLocale() { static $done = false; - if ( $done ) return; + if ( $done ) { + return; + } $done = true; global $wgShellLocale; if ( !wfIniGetBool( 'safe_mode' ) ) { @@ -2440,8 +2514,9 @@ function wfInitShellLocale() { function wfUsePHP( $req_ver ) { $php_ver = PHP_VERSION; - if ( version_compare( $php_ver, (string)$req_ver, '<' ) ) - throw new MWException( "PHP $req_ver required--this is only $php_ver" ); + if ( version_compare( $php_ver, (string)$req_ver, '<' ) ) { + throw new MWException( "PHP $req_ver required--this is only $php_ver" ); + } } /** @@ -2460,8 +2535,9 @@ function wfUsePHP( $req_ver ) { function wfUseMW( $req_ver ) { global $wgVersion; - if ( version_compare( $wgVersion, (string)$req_ver, '<' ) ) + if ( version_compare( $wgVersion, (string)$req_ver, '<' ) ) { throw new MWException( "MediaWiki $req_ver required--this is only $wgVersion" ); + } } /** @@ -2476,8 +2552,8 @@ function wfUseMW( $req_ver ) { * @param $suffix String: to remove if present * @return String */ -function wfBaseName( $path, $suffix='' ) { - $encSuffix = ($suffix == '') +function wfBaseName( $path, $suffix = '' ) { + $encSuffix = ( $suffix == '' ) ? '' : ( '(?:' . preg_quote( $suffix, '#' ) . ')?' ); $matches = array(); @@ -2506,7 +2582,7 @@ function wfRelativePath( $path, $from ) { $path = rtrim( $path, DIRECTORY_SEPARATOR ); $from = rtrim( $from, DIRECTORY_SEPARATOR ); - $pieces = explode( DIRECTORY_SEPARATOR, dirname( $path ) ); + $pieces = explode( DIRECTORY_SEPARATOR, dirname( $path ) ); $against = explode( DIRECTORY_SEPARATOR, $from ); if( $pieces[0] !== $against[0] ) { @@ -2607,7 +2683,7 @@ function wfParseUrl( $url ) { $bits['delimiter'] = ':'; // parse_url detects for news: and mailto: the host part of an url as path // We have to correct this wrong detection - if ( isset ( $bits['path'] ) ) { + if ( isset( $bits['path'] ) ) { $bits['host'] = $bits['path']; $bits['path'] = ''; } @@ -2628,7 +2704,7 @@ function wfMakeUrlIndex( $url ) { // For emails reverse domainpart only if ( $bits['scheme'] == 'mailto' ) { $mailparts = explode( '@', $bits['host'], 2 ); - if ( count($mailparts) === 2 ) { + if ( count( $mailparts ) === 2 ) { $domainpart = strtolower( implode( '.', array_reverse( explode( '.', $mailparts[1] ) ) ) ); } else { // No domain specified, don't mangle it @@ -2647,14 +2723,20 @@ function wfMakeUrlIndex( $url ) { $prot = $bits['scheme']; $index = $prot . $bits['delimiter'] . $reversedHost; // Leave out user and password. Add the port, path, query and fragment - if ( isset( $bits['port'] ) ) $index .= ':' . $bits['port']; + if ( isset( $bits['port'] ) ) { + $index .= ':' . $bits['port']; + } if ( isset( $bits['path'] ) ) { $index .= $bits['path']; } else { $index .= '/'; } - if ( isset( $bits['query'] ) ) $index .= '?' . $bits['query']; - if ( isset( $bits['fragment'] ) ) $index .= '#' . $bits['fragment']; + if ( isset( $bits['query'] ) ) { + $index .= '?' . $bits['query']; + } + if ( isset( $bits['fragment'] ) ) { + $index .= '#' . $bits['fragment']; + } return $index; } @@ -2662,8 +2744,7 @@ function wfMakeUrlIndex( $url ) { * Do any deferred updates and clear the list * TODO: This could be in Wiki.php if that class made any sense at all */ -function wfDoUpdates() -{ +function wfDoUpdates() { global $wgPostCommitUpdateList, $wgDeferredUpdateList; foreach ( $wgDeferredUpdateList as $update ) { $update->doUpdate(); @@ -2689,7 +2770,7 @@ function wfDoUpdates() * @param $lowercase Boolean * @return String or false on invalid input */ -function wfBaseConvert( $input, $sourceBase, $destBase, $pad=1, $lowercase=true ) { +function wfBaseConvert( $input, $sourceBase, $destBase, $pad = 1, $lowercase = true ) { $input = strval( $input ); if( $sourceBase < 2 || $sourceBase > 36 || @@ -2703,7 +2784,7 @@ function wfBaseConvert( $input, $sourceBase, $destBase, $pad=1, $lowercase=true $input == '' ) { return false; } - $digitChars = ( $lowercase ) ? '0123456789abcdefghijklmnopqrstuvwxyz' : '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + $digitChars = ( $lowercase ) ? '0123456789abcdefghijklmnopqrstuvwxyz' : '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; $inDigits = array(); $outChars = ''; @@ -2767,7 +2848,7 @@ function wfBaseConvert( $input, $sourceBase, $destBase, $pad=1, $lowercase=true * @param $name String * @param $p Array: parameters */ -function wfCreateObject( $name, $p ){ +function wfCreateObject( $name, $p ) { $p = array_values( $p ); switch ( count( $p ) ) { case 0: @@ -2785,14 +2866,15 @@ function wfCreateObject( $name, $p ){ case 6: return new $name( $p[0], $p[1], $p[2], $p[3], $p[4], $p[5] ); default: - throw new MWException( "Too many arguments to construtor in wfCreateObject" ); + throw new MWException( 'Too many arguments to construtor in wfCreateObject' ); } } function wfHttpOnlySafe() { global $wgHttpOnlyBlacklist; - if( !version_compare("5.2", PHP_VERSION, "<") ) + if( !version_compare( '5.2', PHP_VERSION, '<' ) ) { return false; + } if( isset( $_SERVER['HTTP_USER_AGENT'] ) ) { foreach( $wgHttpOnlyBlacklist as $regex ) { @@ -2816,7 +2898,7 @@ function wfSetupSession() { } elseif( $wgSessionHandler && $wgSessionHandler != ini_get( 'session.save_handler' ) ) { # Only set this if $wgSessionHandler isn't null and session.save_handler # hasn't already been set to the desired value (that causes errors) - ini_set ( 'session.save_handler', $wgSessionHandler ); + ini_set( 'session.save_handler', $wgSessionHandler ); } $httpOnlySafe = wfHttpOnlySafe(); wfDebugLog( 'cookie', @@ -2860,7 +2942,7 @@ function wfGetPrecompiledData( $name ) { function wfGetCaller( $level = 2 ) { $backtrace = wfDebugBacktrace(); if ( isset( $backtrace[$level] ) ) { - return wfFormatStackFrame($backtrace[$level]); + return wfFormatStackFrame( $backtrace[$level] ); } else { $caller = 'unknown'; } @@ -2886,10 +2968,10 @@ function wfGetAllCallers( $limit = 3 ) { /** * Return a string representation of frame */ -function wfFormatStackFrame($frame) { - return isset( $frame["class"] )? - $frame["class"]."::".$frame["function"]: - $frame["function"]; +function wfFormatStackFrame( $frame ) { + return isset( $frame['class'] ) ? + $frame['class'] . '::' . $frame['function'] : + $frame['function']; } /** @@ -2939,7 +3021,7 @@ function wfSplitWikiID( $wiki ) { return $bits; } -/* +/** * Get a Database object. * @param $db Integer: index of the connection to get. May be DB_MASTER for the * master (for write queries), DB_SLAVE for potentially lagged read @@ -2954,7 +3036,7 @@ function wfSplitWikiID( $wiki ) { * Note: multiple calls to wfGetDB(DB_SLAVE) during the course of one request * will always return the same object, unless the underlying connection or load * balancer is manually destroyed. - * + * * @return DatabaseBase */ function &wfGetDB( $db, $groups = array(), $wiki = false ) { @@ -3035,12 +3117,13 @@ function wfScript( $script = 'index' ) { global $wgScriptPath, $wgScriptExtension; return "{$wgScriptPath}/{$script}{$wgScriptExtension}"; } + /** - * Get the script url. + * Get the script URL. * - * @return script url + * @return script URL */ -function wfGetScriptUrl(){ +function wfGetScriptUrl() { if( isset( $_SERVER['SCRIPT_NAME'] ) ) { # # as it was called, minus the query string. @@ -3133,17 +3216,18 @@ function wfDeprecated( $function ) { */ function wfWarn( $msg, $callerOffset = 1, $level = E_USER_NOTICE ) { $callers = wfDebugBacktrace(); - if( isset( $callers[$callerOffset+1] ) ){ - $callerfunc = $callers[$callerOffset+1]; + if( isset( $callers[$callerOffset + 1] ) ){ + $callerfunc = $callers[$callerOffset + 1]; $callerfile = $callers[$callerOffset]; - if( isset( $callerfile['file'] ) && isset( $callerfile['line'] ) ){ + if( isset( $callerfile['file'] ) && isset( $callerfile['line'] ) ) { $file = $callerfile['file'] . ' at line ' . $callerfile['line']; } else { $file = '(internal function)'; } $func = ''; - if( isset( $callerfunc['class'] ) ) + if( isset( $callerfunc['class'] ) ) { $func .= $callerfunc['class'] . '::'; + } $func .= @$callerfunc['function']; $msg .= " [Called from $func in $file]"; } @@ -3180,7 +3264,7 @@ function wfWaitForSlaves( $maxLag, $wiki = false ) { $host = $name; } print "Waiting for $host (lagged $lag seconds)...\n"; - sleep($maxLag); + sleep( $maxLag ); list( $host, $lag ) = $lb->getMaxLag(); } } @@ -3218,12 +3302,13 @@ function wfCountDown( $n ) { echo "\n"; } -/** Generate a random 32-character hexadecimal token. +/** + * Generate a random 32-character hexadecimal token. * @param $salt Mixed: some sort of salt, if necessary, to add to random * characters before hashing. */ function wfGenerateToken( $salt = '' ) { - $salt = serialize($salt); + $salt = serialize( $salt ); return md5( mt_rand( 0, 0x7fffffff ) . $salt ); } @@ -3235,7 +3320,13 @@ function wfGenerateToken( $salt = '' ) { function wfStripIllegalFilenameChars( $name ) { global $wgIllegalFileChars; $name = wfBaseName( $name ); - $name = preg_replace("/[^".Title::legalChars()."]".($wgIllegalFileChars ? "|[".$wgIllegalFileChars."]":"")."/",'-',$name); + $name = preg_replace( + "/[^" . Title::legalChars() . "]" . + ( $wgIllegalFileChars ? "|[" . $wgIllegalFileChars . "]" : '' ) . + "/", + '-', + $name + ); return $name; } @@ -3247,14 +3338,14 @@ function wfStripIllegalFilenameChars( $name ) { */ function wfArrayInsertAfter( $array, $insert, $after ) { // Find the offset of the element to insert after. - $keys = array_keys($array); + $keys = array_keys( $array ); $offsetByKey = array_flip( $keys ); $offset = $offsetByKey[$after]; // Insert at the specified offset $before = array_slice( $array, 0, $offset + 1, true ); - $after = array_slice( $array, $offset + 1, count($array)-$offset, true ); + $after = array_slice( $array, $offset + 1, count( $array ) - $offset, true ); $output = $before + $insert + $after; @@ -3281,19 +3372,19 @@ function wfObjectToArray( $object, $recursive = true ) { */ function wfMemoryLimit() { global $wgMemoryLimit; - $memlimit = wfShorthandToInteger( ini_get( "memory_limit" ) ); + $memlimit = wfShorthandToInteger( ini_get( 'memory_limit' ) ); $conflimit = wfShorthandToInteger( $wgMemoryLimit ); if( $memlimit != -1 ) { if( $conflimit == -1 ) { wfDebug( "Removing PHP's memory limit\n" ); wfSuppressWarnings(); - ini_set( "memory_limit", $conflimit ); + ini_set( 'memory_limit', $conflimit ); wfRestoreWarnings(); return $conflimit; } elseif ( $conflimit > $memlimit ) { wfDebug( "Raising PHP's memory limit to $conflimit bytes\n" ); wfSuppressWarnings(); - ini_set( "memory_limit", $conflimit ); + ini_set( 'memory_limit', $conflimit ); wfRestoreWarnings(); return $conflimit; } @@ -3306,12 +3397,14 @@ function wfMemoryLimit() { * @param $string String * @return Integer */ -function wfShorthandToInteger ( $string = '' ) { - $string = trim($string); - if( empty($string) ) { return -1; } - $last = strtolower($string[strlen($string)-1]); - $val = intval($string); - switch($last) { +function wfShorthandToInteger( $string = '' ) { + $string = trim( $string ); + if( empty( $string ) ) { + return -1; + } + $last = strtolower( $string[strlen( $string ) - 1] ); + $val = intval( $string ); + switch( $last ) { case 'g': $val *= 1024; case 'm': @@ -3323,7 +3416,8 @@ function wfShorthandToInteger ( $string = '' ) { return $val; } -/* Get the normalised IETF language tag +/** + * Get the normalised IETF language tag * @param $code String: The language code. * @return $langCode String: The language code which complying with BCP 47 standards. */ @@ -3332,20 +3426,21 @@ function wfBCP47( $code ) { foreach ( $codeSegment as $segNo => $seg ) { if ( count( $codeSegment ) > 0 ) { // ISO 3166 country code - if ( ( strlen( $seg ) == 2 ) && ( $segNo > 0 ) ) + if ( ( strlen( $seg ) == 2 ) && ( $segNo > 0 ) ) { $codeBCP[$segNo] = strtoupper( $seg ); // ISO 15924 script code - else if ( ( strlen( $seg ) == 4 ) && ( $segNo > 0 ) ) + } elseif ( ( strlen( $seg ) == 4 ) && ( $segNo > 0 ) ) { $codeBCP[$segNo] = ucfirst( $seg ); // Use lowercase for other cases - else + } else { $codeBCP[$segNo] = strtolower( $seg ); + } } else { // Use lowercase for single segment $codeBCP[$segNo] = strtolower( $seg ); } } - $langCode = implode ( '-' , $codeBCP ); + $langCode = implode( '-', $codeBCP ); return $langCode; } -- 2.20.1