(bug 4974) Don't follow redirected talk page on "new messages" link
[lhc/web/wiklou.git] / includes / Licenses.php
index 5429b4c..a2cbcc9 100644 (file)
@@ -18,7 +18,7 @@ class Licenses {
         * @var string
         */
        var $msg;
-       
+
        /**
         * @var array
         */
@@ -29,7 +29,7 @@ class Licenses {
         */
        var $html;
        /**#@-*/
-       
+
        /**
         * Constrictor
         *
@@ -38,68 +38,53 @@ class Licenses {
         */
        function Licenses( $str = null ) {
                // PHP sucks, this should be possible in the constructor
-               
-               global $wgLanguageCode ;
-               if ( is_null( $str ) ) {
-                       # Try for language-localized license list; if not, try the deault
-                       $t = 'licenses/'.$wgLanguageCode ;
-                       $s = wfMsgForContent( $t ) ;
-                       if ( $s == '<'.$t.'>' )
-                               $t = wfMsgForContent( 'licenses' ) ;
-                       $this->msg = $s ;
-               } else {
-                       # Use passed string
-                       $this->msg = $str ;
-               }
-#              $this->msg = is_null( $str ) ? wfMsgForContent( 'licenses' ) : $str; # Old code, do not use!
+               $this->msg = is_null( $str ) ? wfMsgForContent( 'licenses' ) : $str;
                $this->html = '';
 
                $this->makeLicenses();
                $tmp = $this->getLicenses();
                $this->makeHtml( $tmp );
        }
-       
+
        /**#@+
         * @access private
         */
        function makeLicenses() {
                $levels = array();
                $lines = explode( "\n", $this->msg );
-               
+
                foreach ( $lines as $line ) {
-                       if ( strpos( $line, '*' ) !== 0 ) {
+                       if ( strpos( $line, '*' ) !== 0 )
                                continue;
-                       else {
+                       else {
                                list( $level, $line ) = $this->trimStars( $line );
-                               
+
                                if ( strpos( $line, '|' ) !== false ) {
                                        $obj = new License( $line );
                                        $this->stackItem( $this->licenses, $levels, $obj );
                                } else {
-                                       if ( $level < count( $levels ) ) {
+                                       if ( $level < count( $levels ) )
                                                $levels = array_slice( $levels, 0, $level );
-                                       }
-                                       if ( $level == count( $levels ) ) {
+                                       if ( $level == count( $levels ) )
                                                $levels[$level - 1] = $line;
-                                       } elseif ( $level > count( $levels ) ) {
+                                       else if ( $level > count( $levels ) )
                                                $levels[] = $line;
-                                       }
                                }
                        }
-               } // end foreach
+               }
        }
-       
+
        function trimStars( $str ) {
                $i = $count = 0;
-               
+
                wfSuppressWarnings();
                while ($str[$i++] == '*')
                        ++$count;
                wfRestoreWarnings();
-       
+
                return array( $count, ltrim( $str, '* ' ) );
        }
-       
+
        function stackItem( &$list, $path, $item ) {
                $position =& $list;
                if ( $path )
@@ -116,6 +101,7 @@ class Licenses {
                                        array(
                                                'value' => '',
                                                'disabled' => 'disabled',
+                                               'style' => 'color: GrayText', // for MSIE
                                        ),
                                        $depth
                                );
@@ -136,14 +122,14 @@ class Licenses {
                $val = str_repeat( /* &nbsp */ "\xc2\xa0", $depth * 2 ) . $val;
                return str_repeat( "\t", $depth ) . wfElement( 'option', $attribs, $val ) . "\n";
        }
-       
+
        function msg( $str ) {
                $out = wfMsg( $str );
                return wfEmptyMsg( $str, $out ) ? $str : $out;
        }
-       
+
        /**#@-*/
-       
+
        /**
         *  Accessor for $this->licenses
         *
@@ -164,7 +150,7 @@ class License {
         * @var string
         */
        var $template;
-       
+
        /**
         * @var string
         */
@@ -177,7 +163,7 @@ class License {
         */
        function License( $str ) {
                list( $text, $template ) = explode( '|', strrev( $str ), 2 );
-               
+
                $this->template = strrev( $template );
                $this->text = strrev( $text );
        }