Partial revert I0d0ef26f59721039b2c24ab322fa3bf6ab16fea1
[lhc/web/wiklou.git] / includes / Linker.php
index ff4c786..3f50c97 100644 (file)
@@ -895,7 +895,7 @@ class Linker {
         */
        public static function userLink( $userId, $userName, $altUserName = false ) {
                if ( $userName === '' ) {
-                       wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' .
+                       wfDebug( __METHOD__ . ' received an empty username. Are there database errors ' .
                                'that need to be fixed?' );
                        return wfMessage( 'empty-username' )->parse();
                }
@@ -943,7 +943,7 @@ class Linker {
                $useParentheses = true
        ) {
                if ( $userText === '' ) {
-                       wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' .
+                       wfDebug( __METHOD__ . ' received an empty username. Are there database errors ' .
                                'that need to be fixed?' );
                        return ' ' . wfMessage( 'empty-username' )->parse();
                }
@@ -1031,7 +1031,7 @@ class Linker {
         */
        public static function userTalkLink( $userId, $userText ) {
                if ( $userText === '' ) {
-                       wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' .
+                       wfDebug( __METHOD__ . ' received an empty username. Are there database errors ' .
                                'that need to be fixed?' );
                        return wfMessage( 'empty-username' )->parse();
                }
@@ -1053,7 +1053,7 @@ class Linker {
         */
        public static function blockLink( $userId, $userText ) {
                if ( $userText === '' ) {
-                       wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' .
+                       wfDebug( __METHOD__ . ' received an empty username. Are there database errors ' .
                                'that need to be fixed?' );
                        return wfMessage( 'empty-username' )->parse();
                }
@@ -1232,6 +1232,14 @@ class Linker {
                                                $sectionText = str_replace( '[[', '[[', $auto );
 
                                                $section = substr( Parser::guessSectionNameFromStrippedText( $section ), 1 );
+                                               // Support: HHVM (T222857)
+                                               // The guessSectionNameFromStrippedText method returns a non-empty string
+                                               // that starts with "#". Before PHP 7 (and still on HHVM) substr() would
+                                               // return false if the start offset is the end of the string.
+                                               // On PHP 7+, it gracefully returns empty string instead.
+                                               if ( $section === false ) {
+                                                       $section = '';
+                                               }
                                                if ( $local ) {
                                                        $sectionTitle = new TitleValue( NS_MAIN, '', $section );
                                                } else {