Possible error messages for action=createaccount should be in English and not show...
[lhc/web/wiklou.git] / includes / MWFunction.php
index 1aad975..6d11d17 100644 (file)
@@ -1,6 +1,7 @@
 <?php
-
 /**
+ * Helper methods to call functions and instance objects.
+ *
  * 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
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  * http://www.gnu.org/copyleft/gpl.html
  *
+ * @file
  */
 
 class MWFunction {
-       
-       protected static function cleanCallback( $callback ) {
-               
-               if( is_string( $callback ) ) {
-                       if ( strpos( $callback, '::' ) !== false ) {
-                               //PHP 5.1 cannot use call_user_func( 'Class::Method' )
-                               //It can only handle only call_user_func( array( 'Class', 'Method' ) )
-                               $callback = explode( '::', $callback, 2);
-                       }
-               }
-               
-               if( count( $callback ) == 2 && $callback[0] == 'self' || $callback[0] == 'parent' ) {
-                       
-                       throw new MWException( 'MWFunction cannot call self::method() or parent::method()' );
-                       
-               }
-               
-               // Run autoloader (workaround for call_user_func_array bug: http://bugs.php.net/bug.php?id=51329)
-               is_callable( $callback );
-               
-               return $callback;
-       }
-       
+
+       /**
+        * @deprecated since 1.22; use call_user_func()
+        * @param $callback
+        * @return mixed
+        */
        public static function call( $callback ) {
-               $callback = self::cleanCallback( $callback );
-               
+               wfDeprecated( __METHOD__, '1.22' );
                $args = func_get_args();
-               
                return call_user_func_array( 'call_user_func', $args );
-               
        }
-       
+
+       /**
+        * @deprecated since 1.22; use call_user_func_array()
+        * @param $callback
+        * @param $argsarams
+        * @return mixed
+        */
        public static function callArray( $callback, $argsarams ) {
-       
-               $callback = self::cleanCallback( $callback );
+               wfDeprecated( __METHOD__, '1.22' );
                return call_user_func_array( $callback, $argsarams );
-               
        }
-       
+
+       /**
+        * @param $class
+        * @param $args array
+        * @return object
+        */
        public static function newObj( $class, $args = array() ) {
-               if( !count( $args ) ) {
+               if ( !count( $args ) ) {
                        return new $class;
                }
 
-               $ref = new ReflectionClass($class);
-               return $ref->newInstanceArgs($args);
+               $ref = new ReflectionClass( $class );
+               return $ref->newInstanceArgs( $args );
        }
 
 }