Reverting r16861; incompatible change to message texts, breaks a lot of toggle displa...
[lhc/web/wiklou.git] / includes / ChangesList.php
index 95ac846..6797bb4 100644 (file)
@@ -39,12 +39,20 @@ class ChangesList {
                $this->preCacheMessages();
        }
 
+       /**
+        * Fetch an appropriate changes list class for the specified user
+        * Some users might want to use an enhanced list format, for instance
+        *
+        * @param $user User to fetch the list class for
+        * @return ChangesList derivative
+        */
        function newFromUser( &$user ) {
                $sk =& $user->getSkin();
-               if( $user->getOption('usenewrc') ) {
-                       return new EnhancedChangesList( $sk );
+               $list = NULL;
+               if( wfRunHooks( 'FetchChangesList', array( &$user, &$skin, &$list ) ) ) {
+                       return $user->getOption( 'usenewrc' ) ? new EnhancedChangesList( $sk ) : new OldChangesList( $sk );
                } else {
-                       return new OldChangesList( $sk );
+                       return $list;
                }
        }
 
@@ -170,6 +178,8 @@ class ChangesList {
                        : '';
                $articlelink = ' '. $this->skin->makeKnownLinkObj( $rc->getTitle(), '', $params );
                if($watched) $articlelink = '<strong>'.$articlelink.'</strong>';
+               global $wgContLang;
+               $articlelink .= $wgContLang->getDirMark();
 
                $s .= ' '.$articlelink;
        }
@@ -384,6 +394,7 @@ class EnhancedChangesList extends ChangesList {
         * Enhanced RC group
         */
        function recentChangesBlockGroup( $block ) {
+               global $wgContLang;
                $r = '';
 
                # Collate list of users
@@ -413,6 +424,7 @@ class EnhancedChangesList extends ChangesList {
                $users = array();
                foreach( $userlinks as $userlink => $count) {
                        $text = $userlink;
+                       $text .= $wgContLang->getDirMark();
                        if( $count > 1 ) {
                                $text .= ' ('.$count.'&times;)';
                        }
@@ -440,6 +452,7 @@ class EnhancedChangesList extends ChangesList {
 
                # Article link
                $r .= $this->maybeWatchedLink( $block[0]->link, $block[0]->watched );
+               $r .= $wgContLang->getDirMark();
 
                $curIdEq = 'curid=' . $block[0]->mAttribs['rc_cur_id'];
                $currentRevision = $block[0]->mAttribs['rc_this_oldid'];