Scripts and data used for generating ZhConversion.php
[lhc/web/wiklou.git] / includes / SpecialPreferences.php
index e3d6142..ee38e53 100644 (file)
@@ -36,7 +36,7 @@ class PreferencesForm {
         * Load some values
         */
        function PreferencesForm( &$request ) { 
-               global $wgLang, $wgAllowRealName;
+               global $wgLang, $wgContLang, $wgAllowRealName;
                
                $this->mQuickbar = $request->getVal( 'wpQuickbar' );
                $this->mOldpass = $request->getVal( 'wpOldpass' );
@@ -81,7 +81,7 @@ class PreferencesForm {
                # Note: namespaces don't necessarily have consecutive keys
                $this->mSearchNs = array();
                if ( $this->mPosted ) {
-                       $namespaces = $wgLang->getNamespaces();
+                       $namespaces = $wgContLang->getNamespaces();
                        foreach ( $namespaces as $i => $namespace ) {
                                if ( $i >= 0 ) {
                                        $this->mSearchNs[$i] = $request->getCheck( "wpNs$i" ) ? 1 : 0;
@@ -218,7 +218,7 @@ class PreferencesForm {
         * @access private
         */
        function resetPrefs() {
-               global $wgUser, $wgLang, $wgAllowRealName;
+               global $wgUser, $wgLang, $wgContLang, $wgAllowRealName;
 
                $this->mOldpass = $this->mNewpass = $this->mRetypePass = '';
                $this->mUserEmail = $wgUser->getEmail();
@@ -249,7 +249,7 @@ class PreferencesForm {
                        $this->mToggles[$tname] = $wgUser->getOption( $tname );
                }
 
-               $namespaces = $wgLang->getNamespaces();
+               $namespaces = $wgContLang->getNamespaces();
                foreach ( $namespaces as $i => $namespace ) {
                        if ( $i >= 0 ) {
                                $this->mSearchNs[$i] = $wgUser->getOption( 'searchNs'.$i );
@@ -261,10 +261,10 @@ class PreferencesForm {
         * @access private
         */
        function namespacesCheckboxes() {
-               global $wgLang, $wgUser;
+               global $wgContLang, $wgUser;
                
                # Determine namespace checkboxes
-               $namespaces = $wgLang->getNamespaces();
+               $namespaces = $wgContLang->getNamespaces();
                $r1 = '';
 
                foreach ( $namespaces as $i => $name ) {
@@ -309,12 +309,10 @@ class PreferencesForm {
        /**
         * @access private
         */
-
        function mainPrefsForm( $err ) {
-               global $wgUser, $wgOut, $wgLang, $wgUseDynamicDates, $wgValidSkinNames;
-               global $wgAllowRealName, $wgImageLimits;
-        
-           global $wgLanguageNames;
+               global $wgUser, $wgOut, $wgLang, $wgContLang, $wgUseDynamicDates, $wgValidSkinNames;
+               global $wgAllowRealName, $wgImageLimits;
+               global $wgLanguageNames;
 
                $wgOut->setPageTitle( wfMsg( 'preferences' ) );
                $wgOut->setArticleRelated( false );
@@ -360,7 +358,7 @@ class PreferencesForm {
                $yem = wfMsg( 'youremail' );
                $yrn = ($wgAllowRealName) ? wfMsg( 'yourrealname' ) : '';
                $yl  = wfMsg( 'yourlanguage' );
-        $yv  = wfMsg( 'yourvariant' );
+               $yv  = wfMsg( 'yourvariant' );
                $emf = wfMsg( 'emailflag' );
                $ynn = wfMsg( 'yournick' );
                $stt = wfMsg ( 'stubthreshold' ) ;
@@ -387,43 +385,48 @@ class PreferencesForm {
 
                $wgOut->addHTML( "<fieldset>
                <legend>".wfMsg('prefs-personal')."</legend>");
-               if ($wgAllowRealName) {
-                   $wgOut->addHTML("<div><label>$yrn: <input type='text' name=\"wpRealName\" value=\"{$this->mRealName}\" size='20' /></label></div>");
+                       if ($wgAllowRealName) {
+                       $wgOut->addHTML("<div><label>$yrn: <input type='text' name=\"wpRealName\" value=\"{$this->mRealName}\" size='20' /></label></div>");
                }
-               $wgOut->addHTML("
+               $wgOut->addHTML("
                <div><label>$yem: <input type='text' name=\"wpUserEmail\" value=\"{$this->mUserEmail}\" size='20' /></label></div>
                <div><label><input type='checkbox' $emfc value=\"1\" name=\"wpEmailFlag\" /> $emf</label></div>
                <div><label>$ynn: <input type='text' name=\"wpNick\" value=\"{$this->mNick}\" size='12' /></label></div>
                <div><label>$yl: <select name=\"wpUserLanguage\" />\n");
 
-        foreach($wgLanguageNames as $code => $name) {
-            $sel = ($code == $this->mUserLanguage)? "selected" : "";
-            $wgOut->addHtml("\t<option value=\"$code\" $sel>$code - $name</option>\n");
-        }
-        $wgOut->addHtml("</label></div>\n" );
-
-        /* see if there are multiple language variants to choose from*/
-        $variants = $wgLang->getVariants();
-        $size=sizeof($variants);
-
-        $variantArray=array();
-        foreach($variants as $v) {
-            $v = str_replace( '_', '-', strtolower($v));
-            if($name=$wgLanguageNames[$v]) {
-                $variantArray[$v] = $name;
-            }
-        }
-        $size=sizeof($variantArray);
-
-        if(sizeof($variantArray) > 1) {
-                   $wgOut->addHtml("
-              <div><label>$yv: <select name=\"wpUserVariant\" />\n");
-            foreach($variantArray as $code => $name) {
-              $sel = ($code==$this->mUserVariant)? "selected" : "";
-              $wgOut->addHtml("\t<option value=\"$code\" $sel>$code - $name</option>\n");
-            }
-            $wgOut->addHtml("</label></div>\n");
-        }
+               foreach($wgLanguageNames as $code => $name) {
+                       global $IP;
+                       /* only add languages that have a file */
+                       $langfile="$IP/languages/Language".str_replace('-', '_', ucfirst($code)).".php";
+                       if(file_exists($langfile)) {
+                               $sel = ($code == $this->mUserLanguage)? "selected" : "";
+                               $wgOut->addHtml("\t<option value=\"$code\" $sel>$code - $name</option>\n");
+                       }
+               }
+               $wgOut->addHtml("</select></label></div>\n" );
+
+               /* see if there are multiple language variants to choose from*/
+               $variants = $wgContLang->getVariants();
+               $size=sizeof($variants);
+               
+               $variantArray=array();
+               foreach($variants as $v) {
+                       $v = str_replace( '_', '-', strtolower($v));
+                       if($name=$wgLanguageNames[$v]) {
+                               $variantArray[$v] = $name;
+                       }
+               }
+               $size=sizeof($variantArray);
+               
+               if(sizeof($variantArray) > 1) {
+                       $wgOut->addHtml("
+                               <div><label>$yv: <select name=\"wpUserVariant\" />\n");
+                       foreach($variantArray as $code => $name) {
+                               $sel = ($code==$this->mUserVariant)? "selected" : "";
+                               $wgOut->addHtml("\t<option value=\"$code\" $sel>$code - $name</option>\n");
+                       }
+                       $wgOut->addHtml("</select></label></div>\n");
+               }
 
                # Fields for changing password
                #
@@ -513,6 +516,7 @@ class PreferencesForm {
                </div> " .
                $this->getToggle( "editwidth" ) .
                $this->getToggle( "showtoolbar" ) .
+               $this->getToggle( "previewonfirst" ) .
                $this->getToggle( "previewontop" ) .
                $this->getToggle( "watchdefault" ) .
                $this->getToggle( "minordefault" ) . "