// Enforcing
"eqeqeq": true,
+ "es3": true,
"latedef": true,
"noarg": true,
"nonew": true,
return;
}
+ if ( !JobQueueGroup::singleton()->queuesHaveJobs( JobQueueGroup::TYPE_DEFAULT ) ) {
+ return; // do not send request if there are probably no jobs
+ }
+
$query = array( 'title' => 'Special:RunJobs',
'tasks' => 'jobs', 'maxjobs' => $n, 'sigexpiry' => time() + 5 );
$query['signature'] = SpecialRunJobs::getQuerySignature( $query );
} elseif ( array_key_exists( 'other-message', $params ) ) {
$params['other'] = wfMessage( $params['other-message'] )->plain();
} else {
- $params['other'] = null;
+ $params['other'] = wfMessage( 'htmlform-selectorother-other' )->plain();
}
parent::__construct( $params );
return array_diff( $this->getQueueTypes(), $wgJobTypesExcludedFromDefaultQueue );
}
+ /**
+ * Check if there are any queues with jobs (this is cached)
+ *
+ * @param integer $type JobQueueGroup::TYPE_* constant
+ * @return bool
+ * @since 1.23
+ */
+ public function queuesHaveJobs( $type = self::TYPE_ANY ) {
+ global $wgMemc;
+
+ $key = wfMemcKey( 'jobqueue', 'queueshavejobs', $type );
+
+ $value = $wgMemc->get( $key );
+ if ( $value === false ) {
+ $queues = $this->getQueuesWithJobs();
+ if ( $type == self::TYPE_DEFAULT ) {
+ $queues = array_intersect( $queues, $this->getDefaultQueueTypes() );
+ }
+ $value = count( $queues ) ? 'true' : 'false';
+ $wgMemc->add( $key, $value, 15 );
+ }
+
+ return ( $value === 'true' );
+ }
+
/**
* Get the list of job types that have non-empty queues
*
$ret = self::getTarget( $this->mTarget );
if ( !$ret instanceof User ) {
if ( $this->mTarget != '' ) {
+ // Messages used here: notargettext, noemailtext, nowikiemailtext
$ret = ( $ret == 'notarget' ) ? 'emailnotarget' : ( $ret . 'text' );
$out->wrapWikiMsg( "<p class='error'>$1</p>", $ret );
}
$target = self::getTarget( $data['Target'] );
if ( !$target instanceof User ) {
+ // Messages used here: notargettext, noemailtext, nowikiemailtext
return $context->msg( $target . 'text' )->parseAsBlock();
}
) );
}
$out->addHTML( Xml::closeElement( 'table' ) );
+ $this->outputNamespaceProtectionInfo();
+ }
+
+ private function outputNamespaceProtectionInfo() {
+ global $wgNamespaceProtection, $wgParser, $wgContLang;
+ $out = $this->getOutput();
+
+ if ( count( $wgNamespaceProtection ) == 0 ) {
+ return;
+ }
+
+ $header = $this->msg( 'listgrouprights-namespaceprotection-header' )->parse();
+ $out->addHTML(
+ Html::rawElement( 'h2', array(), Html::element( 'span', array(
+ 'class' => 'mw-headline',
+ 'id' => $wgParser->guessSectionNameFromWikiText( $header )
+ ), $header ) ) .
+ Xml::openElement( 'table', array( 'class' => 'wikitable' ) ) .
+ Html::element(
+ 'th',
+ array(),
+ $this->msg( 'listgrouprights-namespaceprotection-namespace' )->text()
+ ) .
+ Html::element(
+ 'th',
+ array(),
+ $this->msg( 'listgrouprights-namespaceprotection-restrictedto' )->text()
+ )
+ );
+
+ ksort( $wgNamespaceProtection );
+ foreach ( $wgNamespaceProtection as $namespace => $rights ) {
+ if ( !in_array( $namespace, MWNamespace::getValidNamespaces() ) ) {
+ continue;
+ }
+
+ if ( $namespace == NS_MAIN ) {
+ $namespaceText = $this->msg( 'blanknamespace' )->text();
+ } else {
+ $namespaceText = $wgContLang->convertNamespace( $namespace );
+ }
+
+ $out->addHTML(
+ Xml::openElement( 'tr' ) .
+ Html::rawElement(
+ 'td',
+ array(),
+ Linker::link(
+ SpecialPage::getTitleFor( 'Allpages' ),
+ $namespaceText,
+ array(),
+ array( 'namespace' => $namespace )
+ )
+ ) .
+ Xml::openElement( 'td' ) . Xml::openElement( 'ul' )
+ );
+
+ if ( !is_array( $rights ) ) {
+ $rights = array( $rights );
+ }
+
+ foreach ( $rights as $right ) {
+ $out->addHTML(
+ Html::rawElement( 'li', array(), $this->msg(
+ 'listgrouprights-right-display',
+ User::getRightDescription( $right ),
+ Html::element(
+ 'span',
+ array( 'class' => 'mw-listgrouprights-right-name' ),
+ $right
+ )
+ )->parse() )
+ );
+ }
+
+ $out->addHTML(
+ Xml::closeElement( 'ul' ) .
+ Xml::closeElement( 'td' ) .
+ Xml::closeElement( 'tr' )
+ );
+ }
+ $out->addHTML( Xml::closeElement( 'table' ) );
}
/**
"disclaimers": "अस्वीकरण",
"disclaimerpage": "Project:साधारण अस्वीकरण",
"edithelp": "संपादन मॆं सहायता",
- "helppage": "Help:सहायता",
"mainpage": "मुख्य पृष्ठ",
"privacy": "गोपनीयता नीति",
"privacypage": "Project:गोपनीयता नीति",
"disclaimers": "Panyakalon",
"disclaimerpage": "Project:Pamorsoon umum",
"edithelp": "Pangurupion laho patotahon",
- "helppage": "Help:Isi",
"mainpage": "Pogu ni Alaman",
"mainpage-description": "Pogu ni alaman",
"portal": "Harbangan ni punguan",
"disclaimers": "انکار کننده ها",
"disclaimerpage": "Project:انکار کاربران",
"edithelp": "کمک برای اصلاح",
- "helppage": "Help:محتوا",
"mainpage": "صفحه اصلی",
"mainpage-description": "صفحه اصلی",
"policy-url": "Project:خط مشی",
"disclaimers": "Dazkaşşík",
"disclaimerpage": "Project:Las dazkaşşí",
"edithelp": "Radbadal ráhşoní",
- "helppage": "Help:Ridoband",
"mainpage": "Monpanna",
"mainpage-description": "Monpanna",
"portal": "Cágiŕd bundar",
"currentevents-url": "Project:Accanjingeŋ kokkoro",
"disclaimers": "Diseklaima",
"edithelp": "Paŋinriŋ mapadécéŋ",
- "helppage": "Help:Lise",
"mainpage": "Leppa Indoë",
"mainpage-description": "Leppa Indoë",
"portal": "Portal komunitas",
"currentevents-url": "Project:Һонин мэдээн",
"disclaimers": "Татагалзалнууд",
"disclaimerpage": "Project:Ниитэ татагалзал",
- "helppage": "Help:Агуулга",
"mainpage": "Нюур хуудаһан",
"mainpage-description": "Нюур хуудаһан",
"portal": "Хурал",
"disclaimers": "ཁས་མི་ལེན་པ།",
"disclaimerpage": "Project: སྤྱིར་བཏང་ཁས་མི་ལེན་པ།",
"edithelp": "ཞུན་དག་གྲོགས་རམ།",
- "helppage": "Help:ནང་དོན།",
"mainpage": "མ་ཤོག།",
"mainpage-description": "མ་ཤོག།",
"portal": "མི་སྡེའི་སྒོ་ར།",
"jumptosearch": "Sèirca",
"currentevents": "Fât e prugèt ed tót",
"currentevents-url": "Project:Prugèt_ed_tót",
- "helppage": "Help:Introdusiòun",
"portal": "Discóter e quistiunêr",
"portal-url": "Project:Bar",
"nstab-main": "Artécol",
"accountcreatedtext": "The user account for [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) has been created.",
"createaccount-title": "Account creation for {{SITENAME}}",
"createaccount-text": "Someone created an account for your email address on {{SITENAME}} ($4) named \"$2\", with password \"$3\".\nYou should log in and change your password now.\n\nYou may ignore this message, if this account was created in error.",
- "usernamehasherror": "Username cannot contain hash characters",
"login-throttled": "You have made too many recent login attempts.\nPlease wait $1 before trying again.",
"login-abort-generic": "Your login was unsuccessful - Aborted",
"loginlanguagelabel": "Language: $1",
"upload-prohibited": "Prohibited file types: $1.",
"uploadfooter": "-",
"upload-default-description": "-",
- "uploadlog": "upload log",
"uploadlogpage": "Upload log",
"uploadlogpagetext": "Below is a list of the most recent file uploads.\nSee the [[Special:NewFiles|gallery of new files]] for a more visual overview.",
"filename": "Filename",
"filereuploadsummary": "File changes:",
"filestatus": "Copyright status:",
"filesource": "Source:",
- "uploadedfiles": "Uploaded files",
"ignorewarning": "Ignore warning and save file anyway",
"ignorewarnings": "Ignore any warnings",
"minlength1": "Filenames must be at least one letter.",
"overwroteimage": "uploaded a new version of \"[[$1]]\"",
"uploaddisabled": "Uploads disabled.",
"copyuploaddisabled": "Upload by URL disabled.",
- "uploadfromurl-queued": "Your upload has been queued.",
"uploaddisabledtext": "File uploads are disabled.",
"php-uploaddisabledtext": "File uploads are disabled in PHP.\nPlease check the file_uploads setting.",
"uploadscripted": "This file contains HTML or script code that may be erroneously interpreted by a web browser.",
"upload-misc-error": "Unknown upload error",
"upload-misc-error-text": "An unknown error occurred during the upload.\nPlease verify that the URL is valid and accessible and try again.\nIf the problem persists, contact an [[Special:ListUsers/sysop|administrator]].",
"upload-too-many-redirects": "The URL contained too many redirects",
- "upload-unknown-size": "Unknown size",
"upload-http-error": "An HTTP error occurred: $1",
"upload-copy-upload-invalid-domain": "Copy uploads are not available from this domain.",
"backend-fail-stream": "Could not stream file \"$1\".",
"img-auth-streaming": "Streaming \"$1\".",
"img-auth-public": "The function of img_auth.php is to output files from a private wiki.\nThis wiki is configured as a public wiki.\nFor optimal security, img_auth.php is disabled.",
"img-auth-noread": "User does not have access to read \"$1\".",
- "img-auth-bad-query-string": "The URL has an invalid query string.",
"http-invalid-url": "Invalid URL: $1",
"http-invalid-scheme": "URLs with the \"$1\" scheme are not supported.",
"http-request-error": "HTTP request failed due to unknown error.",
"filehist-dimensions": "Dimensions",
"filehist-filesize": "File size",
"filehist-comment": "Comment",
- "filehist-missing": "File missing",
"imagelinks": "File usage",
"linkstoimage": "The following {{PLURAL:$1|page links|$1 pages link}} to this file:",
"linkstoimage-more": "More than $1 {{PLURAL:$1|page links|pages link}} to this file.\nThe following list shows the {{PLURAL:$1|first page link|first $1 page links}} to this file only.\nA [[Special:WhatLinksHere/$2|full list]] is available.",
"listgrouprights-removegroup-self": "Remove {{PLURAL:$2|group|groups}} from own account: $1",
"listgrouprights-addgroup-self-all": "Add all groups to own account",
"listgrouprights-removegroup-self-all": "Remove all groups from own account",
+ "listgrouprights-namespaceprotection-header": "Namespace restrictions",
+ "listgrouprights-namespaceprotection-namespace": "Namespace",
+ "listgrouprights-namespaceprotection-restrictedto": "Right(s) allowing user to edit",
"trackingcategories": "Tracking categories",
"trackingcategories-summary": "This page lists tracking categories which are automatically populated by the MediaWiki software. Their names can be changed by altering the relevant system messages in the {{ns:8}} namespace.",
"trackingcategories-msg": "Tracking category",
"noindex-category-desc": "The page is not indexed by robots because it has the magic word <code><nowiki>__NOINDEX__</nowiki></code> on it and is in a namespace where that flag is allowed.",
"index-category-desc": "The page has a <code><nowiki>__INDEX__</nowiki></code> on it (and is in a namespace where that flag is allowed), and hence is indexed by robots where it normally wouldn't be.",
"post-expand-template-inclusion-category-desc": "After expanding all the templates, the page size is bigger than <code>$wgMaxArticleSize</code>, so some templates weren't expanded.",
- "post-expand-template-argument-category-desc": "After expanding a template argument (something in triple braces, like <code>{{{Foo}}})</code>, the page is bigger than <code>$wgMaxArticleSize</code>.",
+ "post-expand-template-argument-category-desc": "After expanding a template argument (something in triple braces, like <code>{{{Foo}}}</code>), the page is bigger than <code>$wgMaxArticleSize</code>.",
"expensive-parserfunction-category-desc": "Too many expensive parser functions (like <code>#ifexist</code>) included on a page. See [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
"broken-file-category-desc": "Category added if the page contains a broken file link (a link to embed a file when the file does not exist).",
"hidden-category-category-desc": "This is a category with <code><nowiki>__HIDDENCAT__</nowiki></code> on it, which prevents it from showing up in the category links box on pages, by default.",
"emailuser-summary": "",
"emailpage": "Email user",
"emailpagetext": "You can use the form below to send an email message to this {{GENDER:$1|user}}.\nThe email address you entered in [[Special:Preferences|your user preferences]] will appear as the \"From\" address of the email, so the recipient will be able to reply directly to you.",
- "usermailererror": "Mail object returned error:",
"defemailsubject": "{{SITENAME}} email from user \"$1\"",
"usermaildisabled": "User email disabled",
"usermaildisabledtext": "You cannot send email to other users on this wiki",
"noemailtitle": "No email address",
"noemailtext": "This user has not specified a valid email address.",
- "nowikiemailtitle": "No email allowed",
"nowikiemailtext": "This user has chosen not to receive email from other users.",
"emailnotarget": "Non-existent or invalid username for recipient.",
"emailtarget": "Enter username of recipient",
"watching": "Watching...",
"unwatching": "Unwatching...",
"watcherrortext": "An error occurred while changing your watchlist settings for \"$1\".",
- "enotif_mailer": "{{SITENAME}} notification mailer",
"enotif_reset": "Mark all pages visited",
"enotif_impersonal_salutation": "{{SITENAME}} user",
"enotif_subject_deleted": "{{SITENAME}} page $1 has been {{GENDER:$2|deleted}} by $2",
"excontent": "content was: \"$1\"",
"excontentauthor": "content was: \"$1\" (and the only contributor was \"[[Special:Contributions/$2|$2]]\")",
"exbeforeblank": "content before blanking was: \"$1\"",
- "exblank": "page was empty",
"delete-confirm": "Delete \"$1\"",
"delete-legend": "Delete",
"historywarning": "<strong>Warning:</strong> The page you are about to delete has a history with approximately $1 {{PLURAL:$1|revision|revisions}}:",
"importunknownsource": "Unknown import source type",
"importcantopen": "Could not open import file",
"importbadinterwiki": "Bad interwiki link",
- "importnotext": "Empty or no text",
"importsuccess": "Import finished!",
- "importhistoryconflict": "Conflicting history revision exists (may have imported this page before)",
"importnosources": "No transwiki import sources have been defined and direct history uploads are disabled.",
"importnofile": "No import file was uploaded.",
"importuploaderrorsize": "Upload of import file failed.\nThe file is bigger than the allowed upload size.",
"disclaimers": "Deentine",
"disclaimerpage": "Project:Deentine kuuɓtidinɗe",
"edithelp": "Ballal Taƴtagol",
- "helppage": "Help:Loowdi",
"mainpage": "Hello jaɓɓorgo",
"mainpage-description": "Hello jaɓɓorgo",
"policy-url": "Eɓɓoore:Dawirgol",
"disclaimers": "Vastuuvaphaus",
"disclaimerpage": "Project: Ylheinen varoitus",
"edithelp": "Mookkausapua",
- "helppage": "Help: Sisältö",
"mainpage": "Alkusivu",
"mainpage-description": "Alkusivu",
"portal": "Kaikitten purthaali",
"disclaimers": "Avertissements",
"disclaimerpage": "Project:Avertissements ordinaires",
"edithelp": "Aide",
- "helppage": "Help:Aide",
"mainpage": "Page Principale",
"mainpage-description": "Page Principale",
"policy-url": "Project:Régulations",
"disclaimers": "Chotraio",
"disclaimerpage": "Project:Sadeo chotraio",
"edithelp": "Sudarunk palov",
- "helppage": "Help:Mozkur",
"mainpage": "Mukhel Pan",
"mainpage-description": "Mukhel Pan",
"portal": "Somudaik proves-dar",
"disclaimers": "𐍅𐌰𐌳𐌾𐍉𐌱𐌹𐌻𐌰𐌲𐌴𐌹𐌽𐍃",
"disclaimerpage": "Project:𐍅𐌰𐌳𐌾𐌹𐍃 𐌱𐌹𐌻𐌰𐌲𐌴𐌹𐌽𐍃",
"edithelp": "𐌼𐌰𐌹𐌳𐌴𐌹𐌽𐌹𐌷𐌹𐌻𐍀𐌰",
- "helppage": "Help:𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐍃𐌴𐌹𐌳𐍉",
"mainpage": "𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐍃𐌴𐌹𐌳𐍉",
"mainpage-description": "𐌷𐌰𐌿𐌱𐌹𐌳𐌰𐍃𐌴𐌹𐌳𐍉",
"portal": "𐌱𐌰𐌿𐍂𐌲𐌹𐍃 𐌲𐌰𐍅𐌹",
"disclaimers": "Hattara",
"disclaimerpage": "Project:Babban gargaɗi",
"edithelp": "Taimako kan gyara",
- "helppage": "Help:Tsaraba",
"mainpage": "Marhabin",
"privacy": "Manufar kare sirri",
"privacypage": "Project:Manufar kare sirri",
"october": "Nuliaġvik",
"november": "Quyyavik",
"december": "Uvluiḷaq",
- "helppage": "Help:anniqsuiruq",
"mainpage": "Makpiġaaq Kanna",
"mainpage-description": "Makpibaaq Kanna",
"portal-url": "Project:qargi"
"disclaimers": "nunxusra lo za'i na fuzme",
"disclaimerpage": "Project:kampu nunxusra be lo za'i na fuzme",
"edithelp": "stika nunsidju",
- "helppage": "Help:lo se vasru",
"mainpage": "Ralju Ckupau",
"mainpage-description": "ralju ckupau",
"portal": "bende ckupau",
"disclaimers": "Førbeholt",
"disclaimerpage": "Project:Huses førbeholt",
"edithelp": "Hjælp til redigærenge",
- "helppage": "Help:Hjælpførside",
"mainpage": "Førsit",
"mainpage-description": "Førsit",
"policy-url": "Project:Politik",
"currentevents": "Mâmbu ya malu-malu",
"currentevents-url": "Lukanu:Mâmbu ya malu-malu",
"edithelp": "Lusadisu ya kusoba",
- "helppage": "Lusadisu:Mâmbu",
"mainpage": "Mukânda ya ngudi",
"mainpage-description": "Mukânda ya ngudi",
"portal": "Mbôngi",
"currentevents": "Maannakkut pisut",
"disclaimers": "Aalajangersagaq",
"edithelp": "Ikiuutit",
- "helppage": "Help:Ikiuutit",
"mainpage": "Saqqaa",
"mainpage-description": "Saqqaa",
"portal": "Allattartup saqqaa",
"disclaimers": "Мийö сöстöмöсь йöз одзын",
"disclaimerpage": "Project:Мийö сöстöмöсь йöз одзын",
"edithelp": "Уджкерись понда отсöт",
- "helppage": "Help:Отсöт",
"mainpage": "Пондöтчан листбок",
"mainpage-description": "Пондöтчан листбок",
"privacy": "Астор дорьян йылiсь",
"disclaimers": "Disklamardèm",
"disclaimerpage": "Projèkt:Jènèral disklamar",
"edithelp": "Èdithèp",
- "helppage": "Help:Kòntèntdèm",
"mainpage": "Men Pej",
"mainpage-description": "Men Pej",
"policy-url": "Project:Pòlisia",
"disclaimers": "Kūondõkst",
"disclaimerpage": "Project:Kūondõkst",
"edithelp": "Redigīerimiz opātõks",
- "helppage": "Help:Sižāli",
"mainpage": "Eḑḑilēḑ",
"mainpage-description": "Eḑḑilēḑ",
"portal": "Kubgõnd vǟrõd",
"disclaimers": "Kʼabuli na var ixvenu ondepe",
"disclaimerpage": "Project:Mtelot kʼabuli na var ixvenu ondepe",
"edithelp": "Muçʼoşi iktirinen?",
- "helppage": "Help:Doloxe na renanpe",
"mainpage": "Dudi Butʼkʼa",
"mainpage-description": "Dudi But'k'a",
"privacy": "Şinaxeri Hakʼepe",
"disclaimers": "Деклараций",
"disclaimerpage": "Project:Декларацие ӂенералэ",
"edithelp": "Ажутор пентру едитаре",
- "helppage": "Help:Купринс",
"mainpage": "Прима паӂина",
"mainpage-description": "Прима паӂина",
"privacy": "Политика де интимитате",
"disclaimers": "Вӓшештӹмӹ шая (ответственность) гӹц карангмаш",
"disclaimerpage": "Project:Вӓшештӹмӓш (ответственность) гӹц карангмаш",
"edithelp": "Тӧрлӓш манын палшык",
- "helppage": "Help:Палшык",
"mainpage": "Тӹнг ӹлӹштӓш",
"mainpage-description": "Тӹнг ӹлӹштӓш",
"privacy": "Весӹвлӓлӓн шайышташ ак ли ылмы политика",
"currentevents": "Imwin",
"currentevents-url": "Project:Imwin",
"edithelp": "Oomo/edar Ipuok",
- "helppage": "Help:Oangan",
"mainpage": "Bwiema peij",
"mainpage-description": "Bwiema peij",
"editsection": "Kiwiwid",
"disclaimers": "डिस्क्लेमर्स",
"disclaimerpage": "Project:साधारण डिस्क्लेमर्स",
"edithelp": "सम्पादन ग्वहालि",
- "helppage": "Help:धलःपौ",
"mainpage": "मू पौ",
"mainpage-description": "मू पौ",
"policy-url": "Project:नीति",
"aboutpage": "Project: Hagaao",
"currentevents": "Tau Fakaholoaga Mogonei",
"edithelp": "Lagomatai ke he Fakahakohako",
- "helppage": "Help: Ke lata mo e tau mena i loto",
"mainpage": "Matapatu Lau",
"mainpage-description": "Matapatu Lau",
"portal": "Maaga ke Matutaki",
"currentevents": "Nuni eventes",
"currentevents-url": "Project:Nuni eventes",
"edithelp": "Helpo pri modifiko de pagines",
- "helppage": "Help:Kontenaje",
"mainpage": "Chefi pagine",
"mainpage-description": "Chefi pagine",
"portal": "Li komun chambre",
"aboutpage": "Project: baa haneʼ",
"copyright": "Díí naaltsoos bikáaʼgi saad shijaaʼígíí \"$1\" beehazʼą́ąnii bikʼehgo choidííłįįł",
"edithelp": "anáʼálwoʼ",
- "helppage": "Help:Bee hadítʼéhígíí",
"mainpage": "Íiyisíí Naaltsoos",
"mainpage-description": "Íiyisíí Naaltsoos",
"retrievedfrom": "\"$1\" bitsʼą́ą́dę́ę́ʼ",
"currentevents": "Saray nagagawa natan",
"currentevents-url": "Project:Saray nagagawa natan",
"edithelp": "Tolong nipakar ed panagbalo na artikulo",
- "helppage": "Help:Saray Laman",
"mainpage": "Arapan ya Bolong",
"mainpage-description": "Arapan ya Bolong",
"portal": "Pwerta na komyunidad",
"disclaimers": "Deklarashon di Liberashon for di Responsabilidatnan",
"disclaimerpage": "Project:Deklarashon di Liberashon for di Responsabilidat General",
"edithelp": "Ayudo ku editamentu",
- "helppage": "Help:Kontenido",
"mainpage": "Página Prinsipal",
"mainpage-description": "Página Prinsipal",
"policy-url": "Project:Pólisa",
"disclaimers": "Impressum",
"disclaimerpage": "Project:Impressum",
"edithelp": "Help tom Beoabeide",
- "helppage": "Help:Enhault",
"mainpage": "Hauptsied",
"mainpage-description": "Hauptsied",
"policy-url": "Project:Policy",
"talk": "diskushun",
"currentevents": "Dem Kurent Iwent",
"currentevents-url": "Project:Dem Kurent Iwent",
- "helppage": "Help:Dem Kontent",
"mainpage": "Mien Paij",
"mainpage-description": "Mien Paij",
"portal": "Trii'nohlij",
"listgrouprights-removegroup-self": "This is an individual right for groups, used on [[Special:ListGroupRights]].\n* $1 - the group names\n* $2 - the number of group names in $1",
"listgrouprights-addgroup-self-all": "Used on [[Special:ListGroupRights]].\n{{Related|Listgrouprights}}",
"listgrouprights-removegroup-self-all": "Used on [[Special:ListGroupRights]].\n{{Related|Listgrouprights}}",
+ "listgrouprights-namespaceprotection-header": "Shown on [[Special:ListGroupRights]] as the header for the namespace restrictions table.",
+ "listgrouprights-namespaceprotection-namespace": "Shown on [[Special:ListGroupRights]] as the 'namespace' column header for the namespace restrictions table.",
+ "listgrouprights-namespaceprotection-restrictedto": "Shown on [[Special:ListGroupRights]] as the 'right(s) allowing user to edit' column header for the namespace restrictions table.",
"trackingcategories": "[[Special:TrackingCategories]] page implementing list of Tracking categories [[mw:Special:MyLanguage/Help:Tracking categories|tracking category]].\n{{Identical|Tracking category}}",
"trackingcategories-summary": "Description for [[Special:TrackingCategories]] page [[mw:Help:Tracking categories|tracking category]]",
"trackingcategories-msg": "Header for the message column of the table on [[Special:TrackingCategories]]. This column lists the mediawiki message that controls the tracking category in question.\n{{Identical|Tracking category}}",
"disclaimers": "Infurmaziòn legêli",
"disclaimerpage": "Project: Avìs generèl",
"edithelp": "Livar dal spiegaziòn",
- "helppage": "Help:Tòt j argumént",
"mainpage": "Prèma Pagina",
"privacy": "Léz sora agli infurmaziòn persunèli",
"privacypage": "Project: Léz sora agli infurmaziòn persunèli",
"disclaimers": "Ismigilen",
"disclaimerpage": "Project:Asmigel amatu",
"edithelp": "Tallalt deg uẓareg",
- "helppage": "Help:Tira d yiwlafen",
"mainpage": "Tasna Tamezwarut",
"mainpage-description": "Tasna Tamezwarut",
"portal": "Tawwart n timetti",
"disclaimers": "Termenurya",
"disclaimerpage": "Project:Termenurya",
"edithelp": "Editisaripnasko zhutipen",
- "helppage": "Help:Zhutipen",
"mainpage": "Sherutni patrin",
"mainpage-description": "Sherutni patrin",
"portal": "Maladipnasko than",
"currentevents": "Evenimente di tora",
"disclaimers": "Nipricunuschire",
"edithelp": "Agiutor ti alãxire",
- "helppage": "Help:Conținut",
"mainpage": "Prota frânḑâ",
"mainpage-description": "Prota frânḑâ",
"portal": "Portalu a comunitatiľei",
"disclaimers": "Тајменулс",
"disclaimerpage": "Project:тајменул",
"edithelp": "Ајутор пентре едитаере",
- "helppage": "Help:Ајутор",
"mainpage": "Пажу принципу",
"mainpage-description": "Пажу принципу",
"privacy": "Политикмус де лижитул",
"disclaimers": "tǎmenuls",
"disclaimerpage": "Project:tǎmenul",
"edithelp": "Ajutor pentru editaere",
- "helppage": "Help:Ajutor",
"mainpage": "Pažu principu",
"mainpage-description": "Pažu principu",
"privacy": "Politikmus de ližitul",
"disclaimers": "غيرجوابداريناما",
"disclaimerpage": "Project:عام غيرجوابدارينامو",
"edithelp": "مدد براءِ ترميم",
- "helppage": "Help:فهرست",
"mainpage": "مُک صفحو",
"mainpage-description": "مُک صفحو",
"policy-url": "Project:پاليسي",
"currentevents-url": "Project:Âsango",
"disclaimers": "Zïngö-lê",
"disclaimerpage": "Project:Zïngö-lê",
- "helppage": "Help:Münä",
"mainpage": "Gä nzönî",
"mainpage-description": "Gä nzönî",
"portal": "Âsëwä",
"disclaimers": "Friijavuohte vastideamis",
"disclaimerpage": "Project:Bäjjesereaktah",
"edithelp": "Sjiehtedimmie viehkie",
- "helppage": "Help:Sisvege",
"mainpage": "Aalkoebielie",
"mainpage-description": "Aalkoebielie",
"portal": "Meatan portaale",
"currentevents": "Tentakalo tanyalo",
"currentevents-url": "Project:Tentakalo tanyalo",
"edithelp": "Lusito ngekuhlela",
- "helppage": "Help:Lokucuketfwe",
"mainpage": "Likhasi Lelikhulu",
"mainpage-description": "Likhasi lelikhulu",
"policy-url": "Project:Umtsetfo",
"jumptosearch": "утчан",
"currentevents": "Выль иворъёс",
"currentevents-url": "Project:Выль иворъёс",
- "helppage": "Help:Валэктон",
"mainpage": "Кутскон бам",
"mainpage-description": "Кутскон бам",
"portal": "Сообщество",
"disclaimers": "gangjmingz mienxcwz",
"disclaimerpage": "Project:Itbuen mienxcwz",
"edithelp": "Caeuq mungz san-zonz",
- "helppage": "Help:moegloeg",
"mainpage": "Yiebdaeuz",
"mainpage-description": "Yiebdeauz",
"policy-url": "Project:fuengcim",
+++ /dev/null
-{
- "@metadata": {
- "authors": [
- "Liangent",
- "PhiLiP",
- "Shizhao",
- "Wong128hk",
- "Xiaomingyan"
- ]
- },
- "tog-norollbackdiff": "进行回退后略过差异比较",
- "mytalk": "我的讨论页",
- "portal": "社区专页",
- "editing": "正在编辑 $1"
-}
"currentevents": "Izehlakalo ezimanje",
"currentevents-url": "Project:Izehlakalo ezimanje",
"edithelp": "Usizo ngokuhlela",
- "helppage": "Help:Isiqikili",
"mainpage": "Ikhasi Elikhulu",
"mainpage-description": "Ikhasi Elikhulu",
"portal": "Umnyango wamgwamanda",
"ooui-dialog-action-close": "বন্ধ",
"ooui-outline-control-move-down": "আইটেম নিচে স্থানান্তর",
"ooui-outline-control-move-up": "আইটেম উপরে স্থানান্তর",
+ "ooui-outline-control-remove": "আইটেম সরান",
"ooui-toolbar-more": "আরও"
-}
\ No newline at end of file
+}
"ooui-dialog-action-close": "បិទ",
"ooui-outline-control-move-down": "រុញទៅក្រោម",
"ooui-outline-control-move-up": "រុញទៅលើ",
+ "ooui-outline-control-remove": "ដកវត្ថុចេញ",
"ooui-toolbar-more": "បន្ថែម"
-}
\ No newline at end of file
+}
+++ /dev/null
-{
- "@metadata": [],
- "ooui-dialog-action-close": "關閉"
-}
\ No newline at end of file
+++ /dev/null
-{
- "@metadata": [],
- "ooui-dialog-action-close": "關閉",
- "ooui-outline-control-move-down": "向下移",
- "ooui-outline-control-move-up": "向上移",
- "ooui-toolbar-more": "更多"
-}
\ No newline at end of file
box-shadow: 0 0 0.25em rgba(0, 0, 0, 0.25);
}
+.oo-ui-fieldLayout-disabled .oo-ui-labeledElement-label {
+ color: #ccc;
+}
+
.oo-ui-fieldsetLayout {
border: none;
}
.oo-ui-menuToolGroup.oo-ui-widget-disabled {
color: #ccc;
text-shadow: 0 1px 1px #fff;
- background-color: #f3f3f3;
- border-color: #ddd;
+ border-color: rgba(0, 0, 0, 0.05);
}
.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator,
/*!
- * OOjs UI v0.1.0-pre (70932872ba)
+ * OOjs UI v0.1.0-pre (ac6848398c)
* https://www.mediawiki.org/wiki/OOjs_UI
*
* Copyright 2011–2014 OOjs Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: Tue Apr 08 2014 12:42:30 GMT-0700 (PDT)
+ * Date: Wed Apr 09 2014 17:58:17 GMT-0700 (PDT)
*/
( function ( OO ) {
this.$element.append( win.$element );
};
/**
+ * Modal dialog window.
+ *
* @abstract
* @class
* @extends OO.ui.Window
return this;
};
/**
- * Element with named flags, used for styling, that can be added, removed and listed and checked.
+ * Element with named flags that can be added, removed, listed and checked.
+ *
+ * A flag, when set, adds a CSS class on the `$element` by combing `oo-ui-flaggableElement-` with
+ * the flag name. Flags are primarily useful for styling.
*
* @class
* @abstract
this.$element.remove();
};
/**
- * Factory for tools.
+ * Factory for tool groups.
*
* @class
* @extends OO.Factory
if ( this.field instanceof OO.ui.InputWidget ) {
this.$label.on( 'click', OO.ui.bind( this.onLabelClick, this ) );
}
+ this.field.connect( this, { 'disable': 'onFieldDisable' } );
// Initialization
this.$element.addClass( 'oo-ui-fieldLayout' );
this.$field
.addClass( 'oo-ui-fieldLayout-field' )
+ .toggleClass( 'oo-ui-fieldLayout-disable', this.field.isDisabled() )
.append( this.field.$element );
this.setAlignment( config.align );
};
/* Methods */
/**
- * Handles label mouse click events.
+ * Handle field disable events.
+ *
+ * @param {boolean} value Field is disabled
+ */
+OO.ui.FieldLayout.prototype.onFieldDisable = function ( value ) {
+ this.$element.toggleClass( 'oo-ui-fieldLayout-disabled', value );
+};
+
+/**
+ * Handle label mouse click events.
*
* @method
* @param {jQuery.Event} e Mouse click event
OO.inheritClass( OO.ui.PanelLayout, OO.ui.Layout );
/**
- * Page within an OO.ui.BookletLayout.
+ * Page within an booklet layout.
*
* @class
* @extends OO.ui.PanelLayout
this.setLabel( labelTexts.join( ', ' ) || ' ' );
};
/**
- * UserInterface popup tool.
+ * Tool that shows a popup when selected.
*
* @abstract
* @class
return this;
};
/**
- * Creates an OO.ui.IconWidget object.
+ * Icon widget.
*
* @class
* @extends OO.ui.Widget
OO.ui.IconWidget.static.tagName = 'span';
/**
- * Creates an OO.ui.IndicatorWidget object.
+ * Indicator widget.
*
* @class
* @extends OO.ui.Widget
/**
* Container for multiple related buttons.
*
+ * Use together with OO.ui.ButtonWidget.
+ *
* @class
* @extends OO.ui.Widget
* @mixins OO.ui.GroupElement
OO.inheritClass( OO.ui.ButtonGroupWidget, OO.ui.Widget );
OO.mixinClass( OO.ui.ButtonGroupWidget, OO.ui.GroupElement );
/**
- * Creates an OO.ui.ButtonWidget object.
+ * Button widget.
*
* @class
* @abstract
return false;
};
/**
- * Creates an OO.ui.InputWidget object.
+ * Input widget.
*
* @class
* @abstract
return this;
};
/**
- * Creates an OO.ui.CheckboxInputWidget object.
+ * Checkbox widget.
*
* @class
* @extends OO.ui.InputWidget
}
};
/**
- * Creates an OO.ui.LabelWidget object.
+ * Label widget.
*
* @class
* @extends OO.ui.Widget
return [];
};
/**
- * Creates an OO.ui.OptionWidget object.
+ * Option widget.
+ *
+ * Use with OO.ui.SelectWidget.
*
* @class
* @abstract
return this.data;
};
/**
- * Create an OO.ui.SelectWidget object.
+ * Selection of options.
+ *
+ * Use together with OO.ui.OptionWidget.
*
* @class
* @abstract
return this;
};
/**
- * Creates an OO.ui.MenuItemWidget object.
+ * Menu item widget.
+ *
+ * Use with OO.ui.MenuWidget.
*
* @class
* @extends OO.ui.OptionWidget
OO.inheritClass( OO.ui.MenuItemWidget, OO.ui.OptionWidget );
/**
- * Create an OO.ui.MenuWidget object.
+ * Menu widget.
+ *
+ * Use together with OO.ui.MenuItemWidget.
*
* @class
* @extends OO.ui.SelectWidget
/**
* Inline menu of options.
*
+ * Use with OO.ui.MenuOptionWidget.
+ *
* @class
* @extends OO.ui.Widget
* @mixins OO.ui.IconedElement
return false;
};
/**
- * Creates an OO.ui.MenuSectionItemWidget object.
+ * Menu section item widget.
+ *
+ * Use with OO.ui.MenuWidget.
*
* @class
* @extends OO.ui.OptionWidget
/**
* Create an OO.ui.OutlineWidget object.
*
+ * Use with OO.ui.OutlineItemWidget.
+ *
* @class
* @extends OO.ui.SelectWidget
*
/**
* Creates an OO.ui.OutlineControlsWidget object.
*
+ * Use together with OO.ui.OutlineWidget.js
+ *
* @class
*
* @constructor
/**
* Creates an OO.ui.OutlineItemWidget object.
*
+ * Use with OO.ui.OutlineWidget.
+ *
* @class
* @extends OO.ui.OptionWidget
*
return this;
};
/**
- * Create an OO.ui.ButtonOptionWidget object.
+ * Option widget that looks like a button.
+ *
+ * Use together with OO.ui.ButtonSelectWidget.
*
* @class
* @extends OO.ui.OptionWidget
return this;
};
/**
- * Create an OO.ui.ButtonSelect object.
+ * Select widget containing button options.
+ *
+ * Use together with OO.ui.ButtonOptionWidget.
*
* @class
* @extends OO.ui.SelectWidget
OO.inheritClass( OO.ui.ButtonSelectWidget, OO.ui.SelectWidget );
/**
- * Creates an OO.ui.PopupWidget object.
+ * Container for content that is overlaid and positioned absolutely.
*
* @class
* @extends OO.ui.Widget
return false;
};
/**
- * Creates an OO.ui.SearchWidget object.
+ * Search widget.
+ *
+ * Combines query and results selection widgets.
*
* @class
* @extends OO.ui.Widget
return this.results;
};
/**
- * Creates an OO.ui.TextInputWidget object.
+ * Text input widget.
*
* @class
* @extends OO.ui.InputWidget
return this;
};
/**
- * Creates an OO.ui.TextInputMenuWidget object.
+ * Menu for a text input widget.
*
* @class
* @extends OO.ui.MenuWidget
return this;
};
/**
+ * Width with on and off states.
+ *
* Mixin for widgets with a boolean state.
*
* @class
return this;
};
/**
+ * Button that toggles on and off.
+ *
* @class
* @extends OO.ui.ButtonWidget
* @mixins OO.ui.ToggleWidget
return this;
};
/**
+ * Switch that slides on and off.
+ *
* @class
* @abstract
* @extends OO.ui.Widget
/*!
- * OOjs UI v0.1.0-pre (70932872ba)
+ * OOjs UI v0.1.0-pre (ac6848398c)
* https://www.mediawiki.org/wiki/OOjs_UI
*
* Copyright 2011–2014 OOjs Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: Tue Apr 08 2014 12:42:30 GMT-0700 (PDT)
+ * Date: Wed Apr 09 2014 17:58:17 GMT-0700 (PDT)
*/
/* Textures */
[ tail, 8 ],
[ tail, 19 ],
[ tail - 8, 8 ],
- [ tail, 8 ],
+ [ tail, 8 ]
] ) );
g.appendChild( node );
trigger: 'manual',
title: function () {
return profile.buildFlyout( $( this ).data( 'period' ) ).html();
- },
+ }
} ).on( 'mouseenter', function () {
hide();
addClass( this, 'tipsy-visible' );
*/
xCoord: function ( msTimestamp ) {
return ( msTimestamp - profile.data.timespan.start ) * profile.ratio;
- },
+ }
};
function ProfileData( data, width, mergeThresholdPx, dropThresholdPx ) {
return Object.keys( groups ).map( function ( group ) {
return {
name: group,
- events: groups[group],
+ events: groups[group]
};
} );
};
return [{
start: period.start,
end: period.end,
- contained: [period],
+ contained: [period]
}];
}
var last = result[result.length - 1];
result.push({
start: period.start,
end: period.end,
- contained: [period],
+ contained: [period]
});
}
return result;
* @param {Array} nodes List of nodes
* @return {string} Other message
*/
- int: function ( nodes ) {
+ 'int': function ( nodes ) {
return mw.jqueryMsg.getMessageFunction()( nodes[0].toLowerCase() );
},
setrelative = window.setrelative = function ( nodes ) {
var i = 0;
while ( i < nodes.length ) {
- if ( ( ( nodes[i].style.float && nodes[i].style.float !== ( 'none' ) ||
+ if ( ( ( nodes[i].style['float'] && nodes[i].style['float'] !== ( 'none' ) ||
( nodes[i].align && nodes[i].align !== ( 'none' ) ) ) &&
( !nodes[i].style.position || nodes[i].style.position !== 'relative' ) ) )
{
/* Content */
div#content {
- line-height: @content-line-height;
margin-left: 10em;
padding: @content-padding;
/* Border on top, left, and bottom side */
#bodyContent {
position: relative;
width: 100%;
- line-height: 1.5em;
+ line-height: @content-line-height;
font-size: @content-font-size;
}
+/*jshint -W024 */
( function ( mw, $ ) {
// mw.Title relies on these three config vars
// Restore them after each test run
+/*jshint -W024 */
( function ( mw, $ ) {
QUnit.module( 'mediawiki.Uri', QUnit.newMwEnvironment( {
setup: function () {
+/*jshint -W024 */
( function ( mw, $ ) {
var specialCharactersPageName;
'Mozilla/5.0 (Series40; NokiaX3-02/05.60; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/3.2.0.0.6',
'Mozilla/5.0 (Series40; Nokia305/05.92; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/3.7.0.0.11',
// Google Glass
- 'Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Glass 1 Build/IMM76L; XE11) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
+ 'Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Glass 1 Build/IMM76L; XE11) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'
],
// No explicit support for or against these browsers, they're
// given a shot at Grade A at their own risk.