Do proper conversion table detection.
[lhc/web/wiklou.git] / includes / GlobalFunctions.php
index cea7e48..4cfd946 100644 (file)
@@ -1,6 +1,22 @@
 <?php
 /**
- * Global functions used everywhere
+ * Global functions used everywhere.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
  * @file
  */
 
@@ -14,7 +30,7 @@ if ( !defined( 'MEDIAWIKI' ) ) {
 /**
  * Compatibility functions
  *
- * We support PHP 5.2.3 and up.
+ * We support PHP 5.3.2 and up.
  * Re-implementations of newer functions or functions in non-standard
  * PHP extensions may be included here.
  */
@@ -1815,7 +1831,7 @@ function wfDebugBacktrace( $limit = 0 ) {
        }
 
        if ( $limit && version_compare( PHP_VERSION, '5.4.0', '>=' ) ) {
-               return array_slice( debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, $limit ), 1 );
+               return array_slice( debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, $limit + 1 ), 1 );
        } else {
                return array_slice( debug_backtrace(), 1 );
        }
@@ -1874,12 +1890,15 @@ function wfBacktrace() {
 
 /**
  * Get the name of the function which called this function
+ * wfGetCaller( 1 ) is the function with the wfGetCaller() call (ie. __FUNCTION__)
+ * wfGetCaller( 2 ) [default] is the caller of the function running wfGetCaller()
+ * wfGetCaller( 3 ) is the parent of that.
  *
  * @param $level Int
  * @return Bool|string
  */
 function wfGetCaller( $level = 2 ) {
-       $backtrace = wfDebugBacktrace( $level );
+       $backtrace = wfDebugBacktrace( $level + 1 );
        if ( isset( $backtrace[$level] ) ) {
                return wfFormatStackFrame( $backtrace[$level] );
        } else {
@@ -2182,13 +2201,7 @@ function wfResetOutputBuffers( $resetGzipEncoding = true ) {
                        if( $status['name'] == 'ob_gzhandler' ) {
                                // Reset the 'Content-Encoding' field set by this handler
                                // so we can start fresh.
-                               if ( function_exists( 'header_remove' ) ) {
-                                       // Available since PHP 5.3.0
-                                       header_remove( 'Content-Encoding' );
-                               } else {
-                                       // We need to provide a valid content-coding. See bug 28069
-                                       header( 'Content-Encoding: identity' );
-                               }
+                               header_remove( 'Content-Encoding' );
                                break;
                        }
                }
@@ -2615,11 +2628,7 @@ function wfTempDir() {
                        return $tmp;
                }
        }
-       if( function_exists( 'sys_get_temp_dir' ) ) {
-               return sys_get_temp_dir();
-       }
-       # Usual defaults
-       return wfIsWindows() ? 'C:\Windows\Temp' : '/tmp';
+       return sys_get_temp_dir();
 }
 
 /**