specialpreferences.php
来自「php 开发的内容管理系统」· PHP 代码 · 共 939 行 · 第 1/3 页
PHP
939 行
/* see if there are multiple language variants to choose from*/ if(!$wgDisableLangConversion) { $variants = $wgContLang->getVariants(); $variantArray = array(); foreach($variants as $v) { $v = str_replace( '_', '-', strtolower($v)); if( array_key_exists( $v, $languages ) ) { // If it doesn't have a name, we'll pretend it doesn't exist $variantArray[$v] = $languages[$v]; } } $selbox = null; foreach($variantArray as $code => $name) { $sel = $code == $this->mUserVariant ? 'selected="selected"' : ''; $selbox .= "<option value=\"$code\" $sel>$code - $name</option>"; } if(count($variantArray) > 1) { $wgOut->addHtml( $this->addRow( wfMsg( 'yourvariant' ), "<select name='wpUserVariant'>$selbox</select>" ) ); } } $wgOut->addHTML('</table>'); # Password if( $wgAuth->allowPasswordChange() ) { $this->mOldpass = htmlspecialchars( $this->mOldpass ); $this->mNewpass = htmlspecialchars( $this->mNewpass ); $this->mRetypePass = htmlspecialchars( $this->mRetypePass ); $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'changepassword' ) . '</legend><table>'); $wgOut->addHTML( $this->addRow( '<label for="wpOldpass">' . wfMsg( 'oldpassword' ) . '</label>', "<input type='password' name='wpOldpass' id='wpOldpass' value=\"{$this->mOldpass}\" size='20' />" ) . $this->addRow( '<label for="wpNewpass">' . wfMsg( 'newpassword' ) . '</label>', "<input type='password' name='wpNewpass' id='wpNewpass' value=\"{$this->mNewpass}\" size='20' />" ) . $this->addRow( '<label for="wpRetypePass">' . wfMsg( 'retypenew' ) . '</label>', "<input type='password' name='wpRetypePass' id='wpRetypePass' value=\"{$this->mRetypePass}\" size='20' />" ) . "</table>\n" . $this->getToggle( "rememberpassword" ) . "</fieldset>\n\n" ); } # <FIXME> # Enotif if ($wgEnableEmail) { $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'email' ) . '</legend>' ); $wgOut->addHTML( $emailauthenticated. $enotifrevealaddr. $enotifwatchlistpages. $enotifusertalkpages. $enotifminoredits ); if ($wgEnableUserEmail) { $emf = wfMsg( 'allowemail' ); $disabled = $disableEmailPrefs ? ' disabled="disabled"' : ''; $wgOut->addHTML( "<div><input type='checkbox' $emfc $disabled value='1' name='wpEmailFlag' id='wpEmailFlag' /> <label for='wpEmailFlag'>$emf</label></div>" ); } $wgOut->addHTML( '</fieldset>' ); } # </FIXME> # Show little "help" tips for the real name and email address options if( $wgAllowRealName || $wgEnableEmail ) { if( $wgAllowRealName ) $tips[] = wfMsg( 'prefs-help-realname' ); if( $wgEnableEmail ) $tips[] = wfMsg( 'prefs-help-email' ); $wgOut->addHtml( '<div class="prefsectiontip">' . implode( '<br />', $tips ) . '</div>' ); } $wgOut->addHTML( '</fieldset>' ); # Quickbar # if ($this->mSkin == 'cologneblue' || $this->mSkin == 'standard') { $wgOut->addHtml( "<fieldset>\n<legend>" . wfMsg( 'qbsettings' ) . "</legend>\n" ); for ( $i = 0; $i < count( $qbs ); ++$i ) { if ( $i == $this->mQuickbar ) { $checked = ' checked="checked"'; } else { $checked = ""; } $wgOut->addHTML( "<div><label><input type='radio' name='wpQuickbar' value=\"$i\"$checked />{$qbs[$i]}</label></div>\n" ); } $wgOut->addHtml( "</fieldset>\n\n" ); } else { # Need to output a hidden option even if the relevant skin is not in use, # otherwise the preference will get reset to 0 on submit $wgOut->addHtml( wfHidden( 'wpQuickbar', $this->mQuickbar ) ); } # Skin # $wgOut->addHTML( "<fieldset>\n<legend>\n" . wfMsg('skin') . "</legend>\n" ); $mptitle = Title::newMainPage(); $previewtext = wfMsg('skinpreview'); # Only show members of Skin::getSkinNames() rather than # $skinNames (skins is all skin names from Language.php) $validSkinNames = Skin::getSkinNames(); foreach ($validSkinNames as $skinkey => $skinname ) { if ( in_array( $skinkey, $wgSkipSkins ) ) { continue; } $checked = $skinkey == $this->mSkin ? ' checked="checked"' : ''; $sn = isset( $skinNames[$skinkey] ) ? $skinNames[$skinkey] : $skinname; $mplink = htmlspecialchars($mptitle->getLocalURL("useskin=$skinkey")); $previewlink = "<a target='_blank' href=\"$mplink\">$previewtext</a>"; if( $skinkey == $wgDefaultSkin ) $sn .= ' (' . wfMsg( 'default' ) . ')'; $wgOut->addHTML( "<input type='radio' name='wpSkin' id=\"wpSkin$skinkey\" value=\"$skinkey\"$checked /> <label for=\"wpSkin$skinkey\">{$sn}</label> $previewlink<br />\n" ); } $wgOut->addHTML( "</fieldset>\n\n" ); # Math # global $wgUseTeX; if( $wgUseTeX ) { $wgOut->addHTML( "<fieldset>\n<legend>" . wfMsg('math') . '</legend>' ); foreach ( $mathopts as $k => $v ) { $checked = $k == $this->mMath ? ' checked="checked"' : ''; $wgOut->addHTML( "<div><label><input type='radio' name='wpMath' value=\"$k\"$checked /> ".wfMsg($v)."</label></div>\n" ); } $wgOut->addHTML( "</fieldset>\n\n" ); } # Files # $wgOut->addHTML("<fieldset> <legend>" . wfMsg( 'files' ) . "</legend> <div><label for='wpImageSize'>" . wfMsg('imagemaxsize') . "</label> <select id='wpImageSize' name='wpImageSize'>"); $imageLimitOptions = null; foreach ( $wgImageLimits as $index => $limits ) { $selected = ($index == $this->mImageSize) ? 'selected="selected"' : ''; $imageLimitOptions .= "<option value=\"{$index}\" {$selected}>{$limits[0]}脳{$limits[1]}". wfMsgHtml('unit-pixel') ."</option>\n"; } $imageThumbOptions = null; $wgOut->addHTML( "{$imageLimitOptions}</select></div> <div><label for='wpThumbSize'>" . wfMsg('thumbsize') . "</label> <select name='wpThumbSize' id='wpThumbSize'>"); foreach ( $wgThumbLimits as $index => $size ) { $selected = ($index == $this->mThumbSize) ? 'selected="selected"' : ''; $imageThumbOptions .= "<option value=\"{$index}\" {$selected}>{$size}". wfMsgHtml('unit-pixel') ."</option>\n"; } $wgOut->addHTML( "{$imageThumbOptions}</select></div></fieldset>\n\n"); # Date format # # Date/Time # $wgOut->addHTML( "<fieldset>\n<legend>" . wfMsg( 'datetime' ) . "</legend>\n" ); if ($dateopts) { $wgOut->addHTML( "<fieldset>\n<legend>" . wfMsg( 'dateformat' ) . "</legend>\n" ); $idCnt = 0; $epoch = '20010408091234'; foreach($dateopts as $key => $option) { if( $key == MW_DATE_DEFAULT ) { $formatted = wfMsgHtml( 'datedefault' ); } else { $formatted = htmlspecialchars( $wgLang->timeanddate( $epoch, false, $key ) ); } ($key == $this->mDate) ? $checked = ' checked="checked"' : $checked = ''; $wgOut->addHTML( "<div><input type='radio' name=\"wpDate\" id=\"wpDate$idCnt\" ". "value=\"$key\"$checked /> <label for=\"wpDate$idCnt\">$formatted</label></div>\n" ); $idCnt++; } $wgOut->addHTML( "</fieldset>\n" ); } $nowlocal = $wgLang->time( $now = wfTimestampNow(), true ); $nowserver = $wgLang->time( $now, false ); $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'timezonelegend' ). '</legend><table>' . $this->addRow( wfMsg( 'servertime' ), $nowserver ) . $this->addRow( wfMsg( 'localtime' ), $nowlocal ) . $this->addRow( '<label for="wpHourDiff">' . wfMsg( 'timezoneoffset' ) . '</label>', "<input type='text' name='wpHourDiff' id='wpHourDiff' value=\"" . htmlspecialchars( $this->mHourDiff ) . "\" size='6' />" ) . "<tr><td colspan='2'> <input type='button' value=\"" . wfMsg( 'guesstimezone' ) ."\" onclick='javascript:guessTimezone()' id='guesstimezonebutton' style='display:none;' /> </td></tr></table></fieldset>// Modified for mediawiki for XOOPS - by D.J. <div class='prefsectiontip'>" . wfMsg( 'timezonetext' ) . "</div> </fieldset>\n\n" ); # Editing # global $wgLivePreview, $wgUseRCPatrol; $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'textboxsize' ) . '</legend> <div>' . wfInputLabel( wfMsg( 'rows' ), 'wpRows', 'wpRows', 3, $this->mRows ) . ' ' . wfInputLabel( wfMsg( 'columns' ), 'wpCols', 'wpCols', 3, $this->mCols ) . "</div>" . $this->getToggles( array( 'editsection', 'editsectiononrightclick', 'editondblclick', 'editwidth', 'showtoolbar', 'previewonfirst', 'previewontop', 'watchcreations', 'watchdefault', 'minordefault', 'externaleditor', 'externaldiff', $wgLivePreview ? 'uselivepreview' : false, $wgUser->isAllowed( 'patrol' ) && $wgUseRCPatrol ? 'autopatrol' : false, 'forceeditsummary', ) ) . '</fieldset>' ); $this->mUsedToggles['autopatrol'] = true; # Don't show this up for users who can't; the handler below is dumb and doesn't know it $wgOut->addHTML( '<fieldset><legend>' . htmlspecialchars(wfMsg('prefs-rc')) . '</legend>' . wfInputLabel( wfMsg( 'recentchangescount' ), 'wpRecent', 'wpRecent', 3, $this->mRecent ) . $this->getToggles( array( 'hideminor', $wgRCShowWatchingUsers ? 'shownumberswatching' : false, 'usenewrc' ) ) . '</fieldset>' ); # Watchlist $wgOut->addHTML( '<fieldset><legend>' . wfMsgHtml( 'prefs-watchlist' ) . '</legend>' ); $wgOut->addHTML( wfInputLabel( wfMsg( 'prefs-watchlist-days' ), 'wpWatchlistDays', 'wpWatchlistDays', 3, $this->mWatchlistDays ) ); $wgOut->addHTML( '<br /><br />' ); # Spacing $wgOut->addHTML( $this->getToggles( array( 'watchlisthideown', 'watchlisthidebots', 'extendwatchlist' ) ) ); $wgOut->addHTML( wfInputLabel( wfMsg( 'prefs-watchlist-edits' ), 'wpWatchlistEdits', 'wpWatchlistEdits', 3, $this->mWatchlistEdits ) ); $wgOut->addHTML( '</fieldset>' ); # Search $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'searchresultshead' ) . '</legend><table>' . $this->addRow( wfLabel( wfMsg( 'resultsperpage' ), 'wpSearch' ), wfInput( 'wpSearch', 4, $this->mSearch, array( 'id' => 'wpSearch' ) ) ) . $this->addRow( wfLabel( wfMsg( 'contextlines' ), 'wpSearchLines' ), wfInput( 'wpSearchLines', 4, $this->mSearchLines, array( 'id' => 'wpSearchLines' ) ) ) . $this->addRow( wfLabel( wfMsg( 'contextchars' ), 'wpSearchChars' ), wfInput( 'wpSearchChars', 4, $this->mSearchChars, array( 'id' => 'wpSearchChars' ) ) ) . "</table><fieldset><legend>" . wfMsg( 'defaultns' ) . "</legend>$ps</fieldset></fieldset>" ); # Misc # $wgOut->addHTML('<fieldset><legend>' . wfMsg('prefs-misc') . '</legend>'); $wgOut->addHTML( wfInputLabel( wfMsg( 'stubthreshold' ), 'wpStubs', 'wpStubs', 6, $this->mStubs ) ); $msgUnderline = htmlspecialchars( wfMsg ( 'tog-underline' ) ); $msgUnderlinenever = htmlspecialchars( wfMsg ( 'underline-never' ) ); $msgUnderlinealways = htmlspecialchars( wfMsg ( 'underline-always' ) ); $msgUnderlinedefault = htmlspecialchars( wfMsg ( 'underline-default' ) ); $uopt = $wgUser->getOption("underline"); $s0 = $uopt == 0 ? ' selected="selected"' : ''; $s1 = $uopt == 1 ? ' selected="selected"' : ''; $s2 = $uopt == 2 ? ' selected="selected"' : ''; $wgOut->addHTML("<div class='toggle'><label for='wpOpunderline'>$msgUnderline</label><select name='wpOpunderline' id='wpOpunderline'><option value=\"0\"$s0>$msgUnderlinenever</option><option value=\"1\"$s1>$msgUnderlinealways</option><option value=\"2\"$s2>$msgUnderlinedefault</option></select></div>"); foreach ( $togs as $tname ) { if( !array_key_exists( $tname, $this->mUsedToggles ) ) { $wgOut->addHTML( $this->getToggle( $tname ) ); } } $wgOut->addHTML( '</fieldset>' ); $token = $wgUser->editToken(); $wgOut->addHTML( " <div id='prefsubmit'> <div> <input type='submit' name='wpSaveprefs' class='btnSavePrefs' value=\"" . wfMsgHtml( 'saveprefs' ) . "\" accesskey=\"". wfMsgHtml('accesskey-save')."\" title=\"".wfMsgHtml('tooltip-save')."\" /> <input type='submit' name='wpReset' value=\"" . wfMsgHtml( 'resetprefs' ) . "\" /> </div> </div> <input type='hidden' name='wpEditToken' value='{$token}' /> </div></form>\n" ); $wgOut->addWikiText( '<div class="prefcache">' . wfMsg('clearyourcache') . '</div>' ); }}?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?