http://www.mediawiki.org/wiki/Special:Code/MediaWiki/97890
Revision: 97890
Author: siebrand
Date: 2011-09-23 06:48:37 +0000 (Fri, 23 Sep 2011)
Log Message:
-----------
stylize.php, update whitespace, remove superfluous comment lines
update indentation and sprinkle some braces.
Modified Paths:
--------------
trunk/extensions/Gadgets/ApiQueryGadgetCategories.php
trunk/extensions/Gadgets/ApiQueryGadgets.php
trunk/extensions/Gadgets/Gadgets.i18n.php
trunk/extensions/Gadgets/Gadgets.php
trunk/extensions/Gadgets/Gadgets_body.php
trunk/extensions/Gadgets/Gadgets_tests.php
trunk/extensions/Gadgets/README
trunk/extensions/Gadgets/SpecialGadgets.php
Modified: trunk/extensions/Gadgets/ApiQueryGadgetCategories.php
===================================================================
--- trunk/extensions/Gadgets/ApiQueryGadgetCategories.php 2011-09-23
06:15:20 UTC (rev 97889)
+++ trunk/extensions/Gadgets/ApiQueryGadgetCategories.php 2011-09-23
06:48:37 UTC (rev 97890)
@@ -50,14 +50,17 @@
if ( isset( $this->props['name'] ) ) {
$row['name'] = $category;
}
+
if ( $category !== "" ) {
if ( isset( $this->props['title'] ) ) {
$row['desc'] = wfMessage(
"gadget-section-$category" )->parse();
}
}
+
if ( isset( $this->props['members'] ) ) {
$row['members'] = count( $list );
}
+
$data[] = $row;
}
}
@@ -102,6 +105,7 @@
public function getExamples() {
$params = $this->getAllowedParams();
$allProps = implode( '|', $params['prop'][ApiBase::PARAM_TYPE]
);
+
return array(
'Get a list of existing gadget categories:',
' api.php?action=query&list=gadgetcategories',
@@ -113,5 +117,4 @@
public function getVersion() {
return __CLASS__ . ': $Id$';
}
-
}
Modified: trunk/extensions/Gadgets/ApiQueryGadgets.php
===================================================================
--- trunk/extensions/Gadgets/ApiQueryGadgets.php 2011-09-23 06:15:20 UTC
(rev 97889)
+++ trunk/extensions/Gadgets/ApiQueryGadgets.php 2011-09-23 06:48:37 UTC
(rev 97890)
@@ -59,6 +59,7 @@
if ( $this->categories && !isset(
$this->categories[$category] ) ) {
continue;
}
+
foreach ( $list as $g ) {
if ( $this->isNeeded( $g ) ) {
$result[] = $g;
@@ -80,15 +81,19 @@
if ( isset( $this->props['id'] ) ) {
$row['id'] = $g->getName();
}
+
if ( isset( $this->props['metadata'] ) ) {
$row['metadata'] = $this->fakeMetadata( $g );
$this->setIndexedTagNameForMetadata(
$row['metadata'] );
}
+
if ( isset( $this->props['desc'] ) ) {
$row['desc'] = $g->getDescription();
}
+
$data[] = $row;
}
+
$result->setIndexedTagName( $data, 'gadget' );
$result->addValue( 'query', $this->getModuleName(), $data );
}
@@ -212,5 +217,4 @@
public function getVersion() {
return __CLASS__ . ': $Id$';
}
-
}
Modified: trunk/extensions/Gadgets/Gadgets.i18n.php
===================================================================
--- trunk/extensions/Gadgets/Gadgets.i18n.php 2011-09-23 06:15:20 UTC (rev
97889)
+++ trunk/extensions/Gadgets/Gadgets.i18n.php 2011-09-23 06:48:37 UTC (rev
97890)
@@ -15,10 +15,10 @@
* @author Daniel Kinzler, brightbyte.de
*/
$messages['en'] = array(
- #for Special:Version
+ # for Special:Version
'gadgets-desc' => 'Lets users select custom [[Special:Gadgets|CSS
and JavaScript gadgets]] in their [[Special:Preferences|preferences]]',
- #for Special:Preferences
+ # for Special:Preferences
'prefs-gadgets' => 'Gadgets',
'gadgets-prefstext' => 'Below is a list of special gadgets you can
enable for your account.
These gadgets are mostly based on JavaScript, so JavaScript has to be enabled
in your browser for them to work.
@@ -27,7 +27,7 @@
Also note that these special gadgets are not part of the MediaWiki software,
and are usually developed and maintained by users on your local wiki.
Local administrators can edit the [[MediaWiki:Gadgets-definition|definitions]]
and [[Special:Gadgets|descriptions]] of available gadgets.',
- #for Special:Gadgets
+ # for Special:Gadgets
'gadgets' => 'Gadgets',
'gadgets-title' => 'Gadgets',
'gadgets-pagetext' => "Below is a list of special gadgets users can
enable on their [[Special:Preferences|preferences page]], as defined by the
[[MediaWiki:Gadgets-definition|definitions]].
@@ -128,7 +128,7 @@
'gadgets-prefstext' => "Contino ye una lista de trastes especials que
puede fer servir en a suya cuenta.
Como quasi totz istos trastes son feitos en JavaScript, caldrá que tienga
activato JavaScript en o suyo navegador ta que vaigan bien. Pare cuenta que
istos trastes no tendrán garra efeuto en ista pachina de preferencias.
-Pare cuenta tamién que istos trastes especials no fan parte d'o software
MediaWiki, y que gosan estar desenvolicatos y mantenitos por usuarios d'a suya
wiki local.
+Pare cuenta tamién que istos trastes especials no fan parte d'o software
MediaWiki, y que gosan estar desenvolicatos y mantenitos por usuarios d'a suya
wiki local.
Os almenistradors locals pueden editar os trastes disponibles en as pachinas
de [[MediaWiki:Gadgets-definition|definicions]] y de
[[Special:Gadgets|descripcions]].",
'gadgets' => 'Trastes',
'gadgets-title' => 'Trastes',
@@ -689,14 +689,14 @@
'gadgets-desc' => 'Permesas al uzantoj elekti proprajn
[[Special:Gadgets|CSS kaj JavaScript aldonaĵojn]] en ties
[[Special:Preferences|preferoj]].',
'prefs-gadgets' => 'Aldonaĵoj',
'gadgets-prefstext' => 'Jen listo de specialaj aldonaĵoj kiujn vi povas
aktivigi por via uzulkonto.
-Plej multaj el ili baziĝas sur Ĵavaskriptoj, sekve Ĵavaskripto nepre estu
aktivigita por ke ili funkciu.
-Notu ke tiuj aldonaĵoj ne efikos sur viaj preferoj.
+Plej multaj el ili baziĝas sur Ĵavaskriptoj, sekve Ĵavaskripto nepre estu
aktivigita por ke ili funkciu.
+Notu ke tiuj aldonaĵoj ne efikos sur viaj preferoj.
Notu ankaŭ ke ili ne estas parto de la programaro MediaWiki, kaj estas kutime
evoluigitaj kaj prizorgataj de uzuloj sur via loka vikio.
Lokaj administrantoj povas redakti liston de haveblaj aldonaĵoj per
[[MediaWiki:Gadgets-definition|difinoj]] kaj [[Special:Gadgets|priskriboj]].',
'gadgets' => 'Aldonaĵoj',
'gadgets-title' => 'Aldonaĵoj',
- 'gadgets-pagetext' => 'Jen listo da specialaj aldonaĵoj kiujn uzuloj
povas aktivigi en [[Special:Preferences|siaj preferoj]], kiel difinite en
[[MediaWiki:Gadgets-definition|difinoj]].
+ 'gadgets-pagetext' => 'Jen listo da specialaj aldonaĵoj kiujn uzuloj
povas aktivigi en [[Special:Preferences|siaj preferoj]], kiel difinite en
[[MediaWiki:Gadgets-definition|difinoj]].
Ĉi tiu superrigardo provizas facilan aliron al la sistemaj mesaĝoj kiuj
difinas la priskribon kaj la kodon de ĉiuj aldonaĵoj.',
'gadgets-uses' => 'uzas',
'gadgets-required-rights' => 'Bezonas la {{PLURAL:$2|$1 rajton|jenajn
rajtojn: $1}}.',
@@ -1088,8 +1088,8 @@
'gadgets-export' => 'Izvezi',
'gadgets-export-title' => "Izvoz JS skripti (''gadgets'')",
'gadgets-not-found' => "''Gadget'' \"\$1\" nije pronađen.",
- 'gadgets-export-text' => 'Za izvoz $1 JavaScript pomoćne skripte
(\'\'gadgeta\'\'), kliknite na "{{int:gadgets-export-download}}" gumb, snimiti
preuzetu datoteku,
-zatim idete na Special:Import na odredišnoj wiki i postavite skriptu tamo.
Zatim dodajte sljedeće na "MediaWiki:Gadgets-definition stranici:
+ 'gadgets-export-text' => 'Za izvoz $1 JavaScript pomoćne skripte
(\'\'gadgeta\'\'), kliknite na "{{int:gadgets-export-download}}" gumb, snimiti
preuzetu datoteku,
+zatim idete na Special:Import na odredišnoj wiki i postavite skriptu tamo.
Zatim dodajte sljedeće na "MediaWiki:Gadgets-definition stranici:
<pre>$2</pre>
Morate imati odgovarajuća prava na odredišnoj wiki (uključujući i pravo na
uređivanje sistemskih poruka) i uvoz iz snimljenih datoteka mora biti
omogućen.',
'gadgets-export-download' => 'Preuzmi',
@@ -1302,7 +1302,7 @@
$messages['jv'] = array(
'gadgets-desc' => 'Marengaké para panganggo milih
[[Special:Gadgets|gadget CSS lan JavaScript]] ngliwati
[[Special:Preferences|préferènsi]] dhéwé-dhéwé.',
'prefs-gadgets' => 'Gadget',
- 'gadgets-prefstext' => 'Ing ngisor iki daftar gadget astaméwa sing bisa
panjenangan aktifaké kanggo rékening panjenengan. Gadget-gadget iki sabagéyan
gedhé adhedhasar JavaScript dadi panjenengan kudu ngaktifaké JavaScript ing
panjlajah wèb panjenengan supaya bisa nglakokaké.
+ 'gadgets-prefstext' => 'Ing ngisor iki daftar gadget astaméwa sing bisa
panjenangan aktifaké kanggo rékening panjenengan. Gadget-gadget iki sabagéyan
gedhé adhedhasar JavaScript dadi panjenengan kudu ngaktifaké JavaScript ing
panjlajah wèb panjenengan supaya bisa nglakokaké.
Mangga diwigatèkaké yèn gadget-gadget iki ora ndarbèni pangaruh marang kaca
préferènsi iki.
Uga mangga diwigatèkaké yèn gadget astaméwa iki dudu bagéyan saka piranti
empuk MediaWiki lan biasané dikembangaké lan diopèni déning panganggo-panganggo
ing wiki lokal panjenengan. Pangurus lokal bisa nyunting gadget sing
kasedyakaké nganggo [[MediaWiki:Gadgets-definition|dhéfinisi]] lan
[[Special:Gadgets|uraian]].',
@@ -1490,7 +1490,7 @@
D'Gadgete baséiere meeschtens op engem JavaScript, dofir muss JavaScript an
Ärem Browser aktivéiert sinn, fir datt se fonctionéieren.
D'Gadgete fonctionéieren awer net op dëser Säit mat de perséinlechen
Astellungen.
-Ausserdeem sollt Dir wëssen, datt dës Gadgete generell net Deel vu MediaWiki
sinn, a meeschtens vu Benotzer vu lokale Wikien entwéckelt an ënnerhale ginn.
+Ausserdeem sollt Dir wëssen, datt dës Gadgete generell net Deel vu MediaWiki
sinn, a meeschtens vu Benotzer vu lokale Wikien entwéckelt an ënnerhale ginn.
Lokal Wiki-Administrateure kënnen d'Lëscht von den disponibele Gadgeten op de
Säiten [[MediaWiki:Gadgets-definition|Definitioune vun Gadgeten]] a
[[Special:Gadgets|Beschreiwunge vu Gadgeten]] änneren.",
'gadgets' => 'Gadgeten',
'gadgets-title' => 'Gadgeten',
@@ -1519,7 +1519,7 @@
De oetbreijinge zeen veurnamelik gebaseerd op JavaScript, dus JavaScript mót
veur diene browser ingesjakeld zeen óm die te laote wirke.
De oetbreijinge höbbe geine invlood op dees pazjena mit veurkäöre.
-Dees sjpeciaal oetbreijinge zeen ouch gein óngerdeil van de MediaWiki-software
en die mótte meistal óntwikkeld en óngerhauwe waere door gebroekers van diene
wiki.
+Dees sjpeciaal oetbreijinge zeen ouch gein óngerdeil van de MediaWiki-software
en die mótte meistal óntwikkeld en óngerhauwe waere door gebroekers van diene
wiki.
Lokaal beheerders kónne de besjikbaar oetbreijinge aangaeve in
[[MediaWiki:Gadgets-definition]] en [[Special:Gadgets]].',
'gadgets' => 'Oetbreijinger',
'gadgets-title' => 'Oetbreijinger',
@@ -1740,7 +1740,7 @@
'prefs-gadgets' => 'उपकरणहरु',
'gadgets-prefstext' => 'विशेष उपकरणहरुको सूची तल दिइएकोछ तपाईंले आफ्नो
खातामा सक्रिय पार्न सक्नुहुन्छ।
प्राय सबै उपकरणहरु जाभास्क्रीप्टमा आधारित छन्, यस कारण ब्राउजरमा काम गराउनको
लागि जाभास्क्रीप्टलाई सक्रिय गर्नु पर्छ।
-याद राख्नुहोस् ती उपकरणहरुले अभिरुचि पृष्ठमा असर गर्दैनन्।
+याद राख्नुहोस् ती उपकरणहरुले अभिरुचि पृष्ठमा असर गर्दैनन्।
यो पनि याद राखुहोस् यी विशेष उपकरणहरु मीडिया विकि सफ्टवेयरभित्र पर्दैनन् र
प्राय स्थानीय विकि प्रयोगकर्ताहरुले विकास यसको विकास र सञ्चालन गर्दछन्।
स्थानीय प्रबन्धकहरुले उपलब्ध उपकरणहरुका
[[MediaWiki:Gadgets-definition|परिभाषाहरु]] र [[Special:Gadgets|विवरणहरु]]
सम्पादन गर्दछन्।',
'gadgets' => 'उपकरणहरु',
'gadgets-title' => 'उपकरणहरु',
@@ -1952,15 +1952,15 @@
$messages['pms'] = array(
'gadgets-desc' => "A lassa che j'utent a selession-o
[[Special:Gadgets|CSS e gadget JavaScript]] ant ij [[Special:Preferences|sò
gust]]",
'prefs-gadgets' => 'Component',
- 'gadgets-prefstext' => "Ambelessì sota a-i é na lista ëd component ch'a
peul vischesse ant sò cont personal.
-Sti component-sì a son dzortut basà ansima a JavaScript, donca a venta anans
tut che JavaScript a sia avisch ant sò navigator, s'a veul che ij component a
travajo.
+ 'gadgets-prefstext' => "Ambelessì sota a-i é na lista ëd component ch'a
peul vischesse ant sò cont personal.
+Sti component-sì a son dzortut basà ansima a JavaScript, donca a venta anans
tut che JavaScript a sia avisch ant sò navigator, s'a veul che ij component a
travajo.
Ch'a ten-a present che sti component a l'han gnun efet ansima a la pàgina dij
\"sò gust\".
-Ch'a nòta ëdcò che a son nen part dël programa MediaWiki e che për sòlit a
resto dësvlupà e mantnù da dj'utent dla wiki andova chiel/chila as treuva
adess.
+Ch'a nòta ëdcò che a son nen part dël programa MediaWiki e che për sòlit a
resto dësvlupà e mantnù da dj'utent dla wiki andova chiel/chila as treuva adess.
J'aministrator locaj a peulo regolé ij component disponibij ën dovrand le
pàgine [[MediaWiki:Gadgets-definition|definission dij component]] e
[[Special:Gadgets|component]].",
'gadgets' => 'Component',
'gadgets-title' => 'Component',
- 'gadgets-pagetext' => "Ambelessì sota a-i é na lista ëd component
spessiaj che j'utent a peulo butesse avisch ant ij [[Special:Preferences|sò
gust]], conforma a la [[MediaWiki:Gadgets-definition|definission dij
component]].
+ 'gadgets-pagetext' => "Ambelessì sota a-i é na lista ëd component
spessiaj che j'utent a peulo butesse avisch ant ij [[Special:Preferences|sò
gust]], conforma a la [[MediaWiki:Gadgets-definition|definission dij
component]].
Sta lista complessiva a smon na stra còmoda për rivé a le pàgine ëd messagi ëd
sistema ch'a definisso descrission e còdes ëd vira component.",
'gadgets-uses' => 'a dòvra',
'gadgets-required-rights' => 'A ciama {{PLURAL:$2|ël drit $1|ij drit
sì-dapress: $1}}.',
@@ -2142,8 +2142,8 @@
'gadgets-export' => 'Экспортировать',
'gadgets-export-title' => 'Экспорт гаджета',
'gadgets-not-found' => 'Гаджет «$1» не найден.',
- 'gadgets-export-text' => 'Для экспорта гаджета $1, нажмите кнопку
«{{int:gadgets-export-download}}», сохраните загруженный файл,
-перейдите на страницу Special:Import целевой вики и загрузите файл. Затем
добавьте следующие строки на страницу MediaWiki:Gadgets-definition:
+ 'gadgets-export-text' => 'Для экспорта гаджета $1, нажмите кнопку
«{{int:gadgets-export-download}}», сохраните загруженный файл,
+перейдите на страницу Special:Import целевой вики и загрузите файл. Затем
добавьте следующие строки на страницу MediaWiki:Gadgets-definition:
<pre>$2</pre>
Вы должны иметь соответствующие разрешения в целевой вики (в том числе право
на редактирование системных сообщений), также на сервере должна быть включена
настройка импорта из файлов.',
'gadgets-export-download' => 'Загрузить',
@@ -2198,8 +2198,8 @@
'gadgets-export' => 'Экспортаа',
'gadgets-export-title' => 'Ҕааддьыты таһаарыы (экспорт)',
'gadgets-not-found' => '"$1" ҕааддьыт көстүбэтэ.',
- 'gadgets-export-text' => '$1 ҕааддьыты таһаарарга (экспорт),
«{{int:gadgets-export-download}}» тимэҕи баттаа, хачайдаммыт билэни бигэргэт,
-онтон угуохтаах биикиҥ Special:Import сирэйигэр киирэн уган кэбис. Ол кэннэ
MediaWiki:Gadgets-definition сирэйгэ бу устуруокалары эп:
+ 'gadgets-export-text' => '$1 ҕааддьыты таһаарарга (экспорт),
«{{int:gadgets-export-download}}» тимэҕи баттаа, хачайдаммыт билэни бигэргэт,
+онтон угуохтаах биикиҥ Special:Import сирэйигэр киирэн уган кэбис. Ол кэннэ
MediaWiki:Gadgets-definition сирэйгэ бу устуруокалары эп:
<pre>$2</pre>
Угуохтаах биикигэр аналлаах көҥүллээх буолуохтааххын (ол иһигэр тиһилик
биллэриилэрин эрэдээксийэлиир кыах), эбиитин сиэрбэргэ билэни киллэрии
көҥүллэммит буолуохтаах.',
'gadgets-export-download' => 'Хачайдааһын',
@@ -2263,8 +2263,8 @@
'gadgets-export' => 'Exportovať',
'gadgets-export-title' => 'Export nástroja',
'gadgets-not-found' => 'Nástroj „$1” nebol nájdený.',
- 'gadgets-export-text' => 'Ak chcete exportovať nástroj $1, kliknite na
tlačidlo „{{int:gadgets-export-download}}“, uložte stiahnutý súbor,
- choďte na stránku Special:Import na cieľovej wiki a nahrajte ho. Potom
pridajte nasledujúce na stránku MediaWiki:Gadgets-definition:
+ 'gadgets-export-text' => 'Ak chcete exportovať nástroj $1, kliknite na
tlačidlo „{{int:gadgets-export-download}}“, uložte stiahnutý súbor,
+ choďte na stránku Special:Import na cieľovej wiki a nahrajte ho. Potom
pridajte nasledujúce na stránku MediaWiki:Gadgets-definition:
<pre>$2</pre>
Musíte mať príslušné oprávnenia na cieľovej wiki (vrátane práva na úpravu
systémových správ) a import z nahraného súboru musí byť povolený.',
'gadgets-export-download' => 'Stiahnuť',
@@ -2278,8 +2278,8 @@
'gadgets-desc' => 'Omogoča uporabnikom, da vključijo
[[Special:Gadgets|vtičnike CSS in JavaScript]] v
[[Special:Preferences|nastavitvah]]',
'prefs-gadgets' => 'Vtičniki',
'gadgets-prefstext' => 'Prikazan je seznam posebnih vtičnikov, ki si
jih lahko omogočite za vaš račun.
-Večinoma temeljijo na JavaScript, zato mora biti za njihovo delovanje omogočen
v vašem brskalniku.
-Ti vtičniki nimajo nobenega vpliva na to nastavitveno stran.
+Večinoma temeljijo na JavaScript, zato mora biti za njihovo delovanje omogočen
v vašem brskalniku.
+Ti vtičniki nimajo nobenega vpliva na to nastavitveno stran.
Prav tako pomnite, da ti vtičniki niso del programja MediaWiki, in jih
običajno razvijajo ter vzdržujejo uporabniki na vašem lokalnem wikiju.
Administratorji lahko uredite seznam vtičnikov z uporabo
[[Special:Gadgets|posebne strani]] in [[MediaWiki:Gadgets-definition|opisov]].',
@@ -2550,8 +2550,8 @@
'gadgets-export' => 'Iluwas',
'gadgets-export-title' => 'Pagluluwas ng gadyet',
'gadgets-not-found' => 'Hindi natagpuan ang gadyet na "$1".',
- 'gadgets-export-text' => 'Upang iluwas ang gadyet na $1, pindutin ang
pindutang "{{int:gadgets-export-download}}", sagipin ang talaksang ikinargang
paibaba,
-pumunta sa Special:Import na nasa kapupuntahang wiki at ikarga itong paitaas.
Pagkaraan ay idagdag ang sumusunod sa pahina ng MediaWiki:Gadgets-definition:
+ 'gadgets-export-text' => 'Upang iluwas ang gadyet na $1, pindutin ang
pindutang "{{int:gadgets-export-download}}", sagipin ang talaksang ikinargang
paibaba,
+pumunta sa Special:Import na nasa kapupuntahang wiki at ikarga itong paitaas.
Pagkaraan ay idagdag ang sumusunod sa pahina ng MediaWiki:Gadgets-definition:
<pre>$2</pre>
Dapat kang mayroong nararapat na mga pahintulot sa kapupuntahang wiki (kasama
ang karapatang mamatnugot ng mga mensahe ng sistema) at dapat na gumagana ang
mga inangkat mula sa mga talaksang ikinargang paitaas',
'gadgets-export-download' => 'Ikargang pababa',
Modified: trunk/extensions/Gadgets/Gadgets.php
===================================================================
--- trunk/extensions/Gadgets/Gadgets.php 2011-09-23 06:15:20 UTC (rev
97889)
+++ trunk/extensions/Gadgets/Gadgets.php 2011-09-23 06:48:37 UTC (rev
97890)
@@ -2,7 +2,6 @@
/**
* Gadgets extension - lets users select custom javascript gadgets
*
- *
* For more info see http://mediawiki.org/wiki/Extension:Gadgets
*
* @file
@@ -12,7 +11,7 @@
* @license GNU General Public Licence 2.0 or later
*/
-if( !defined( 'MEDIAWIKI' ) ) {
+if ( !defined( 'MEDIAWIKI' ) ) {
echo( "This file is an extension to the MediaWiki software and cannot
be used standalone.\n" );
die( 1 );
}
@@ -36,7 +35,7 @@
$wgHooks['ResourceLoaderRegisterModules'][] = 'GadgetHooks::registerModules';
$wgHooks['UnitTestsList'][] = 'GadgetHooks::unitTestsList';
-$dir = dirname(__FILE__) . '/';
+$dir = dirname( __FILE__ ) . '/';
$wgExtensionMessagesFiles['Gadgets'] = $dir . 'Gadgets.i18n.php';
$wgExtensionAliasesFiles['Gadgets'] = $dir . 'Gadgets.alias.php';
Modified: trunk/extensions/Gadgets/Gadgets_body.php
===================================================================
--- trunk/extensions/Gadgets/Gadgets_body.php 2011-09-23 06:15:20 UTC (rev
97889)
+++ trunk/extensions/Gadgets/Gadgets_body.php 2011-09-23 06:48:37 UTC (rev
97890)
@@ -2,7 +2,6 @@
/**
* Gadgets extension - lets users select custom javascript gadgets
*
- *
* For more info see http://mediawiki.org/wiki/Extension:Gadgets
*
* @file
@@ -13,7 +12,6 @@
*/
class GadgetHooks {
-
/**
* ArticleSaveComplete hook handler.
*
@@ -22,9 +20,9 @@
* @param $text String: New page text
*/
public static function articleSaveComplete( $article, $user, $text ) {
- //update cache if MediaWiki:Gadgets-definition was edited
+ // update cache if MediaWiki:Gadgets-definition was edited
$title = $article->mTitle;
- if( $title->getNamespace() == NS_MEDIAWIKI && $title->getText()
== 'Gadgets-definition' ) {
+ if ( $title->getNamespace() == NS_MEDIAWIKI &&
$title->getText() == 'Gadgets-definition' ) {
Gadget::loadStructuredList( $text );
}
return true;
@@ -36,15 +34,16 @@
*/
public static function userGetDefaultOptions( &$defaultOptions ) {
$gadgets = Gadget::loadStructuredList();
- if (!$gadgets) return true;
+ if ( !$gadgets ) return true;
- foreach( $gadgets as $section => $thisSection ) {
- foreach( $thisSection as $gadgetId => $gadget ) {
+ foreach ( $gadgets as $section => $thisSection ) {
+ foreach ( $thisSection as $gadgetId => $gadget ) {
if ( $gadget->isOnByDefault() ) {
$defaultOptions['gadget-' . $gadgetId]
= 1;
}
}
}
+
return true;
}
@@ -55,13 +54,17 @@
*/
public static function getPreferences( $user, &$preferences ) {
$gadgets = Gadget::loadStructuredList();
- if (!$gadgets) return true;
+ if ( !$gadgets ) {
+ return true;
+ }
+
$options = array();
$default = array();
- foreach( $gadgets as $section => $thisSection ) {
+ foreach ( $gadgets as $section => $thisSection ) {
$available = array();
- foreach( $thisSection as $gadget ) {
+
+ foreach ( $thisSection as $gadget ) {
if ( $gadget->isAllowed( $user ) ) {
$gname = $gadget->getName();
$available[$gadget->getDescription()] =
$gname;
@@ -70,8 +73,10 @@
}
}
}
+
if ( $section !== '' ) {
$section = wfMsgExt( "gadget-section-$section",
'parseinline' );
+
if ( count ( $available ) ) {
$options[$section] = $available;
}
@@ -111,9 +116,11 @@
*/
public static function registerModules( &$resourceLoader ) {
$gadgets = Gadget::loadList();
+
if ( !$gadgets ) {
return true;
}
+
foreach ( $gadgets as $g ) {
$module = $g->getModule();
if ( $module ) {
@@ -121,6 +128,7 @@
}
}
return true;
+
}
/**
@@ -147,6 +155,7 @@
if ( $gadget->hasModule() ) {
$out->addModules(
$gadget->getModuleName() );
}
+
foreach ( $gadget->getLegacyScripts() as $page
) {
$lb->add( NS_MEDIAWIKI, $page );
$pages[] = $page;
@@ -157,8 +166,12 @@
$lb->execute( __METHOD__ );
$done = array();
+
foreach ( $pages as $page ) {
- if ( isset( $done[$page] ) ) continue;
+ if ( isset( $done[$page] ) ) {
+ continue;
+ }
+
$done[$page] = true;
self::applyScript( $page, $out );
}
@@ -180,12 +193,14 @@
# ResourceLoader handle this in OutputPage::getModules()
# TODO: make this extension load everything via RL, then we
don't need to worry
# about any of this.
- if( $out->getAllowedModules( ResourceLoaderModule::TYPE_SCRIPTS
) < ResourceLoaderModule::ORIGIN_USER_SITEWIDE ){
+ if ( $out->getAllowedModules(
ResourceLoaderModule::TYPE_SCRIPTS ) <
ResourceLoaderModule::ORIGIN_USER_SITEWIDE ) {
return;
}
$t = Title::makeTitleSafe( NS_MEDIAWIKI, $page );
- if ( !$t ) return;
+ if ( !$t ) {
+ return;
+ }
$u = $t->getLocalURL( 'action=raw&ctype=' . $wgJsMimeType );
$out->addScriptFile( $u, $t->getLatestRevID() );
@@ -197,6 +212,7 @@
*/
public static function unitTestsList( $files ) {
$files[] = dirname( __FILE__ ) . '/Gadgets_tests.php';
+
return true;
}
}
@@ -211,10 +227,10 @@
const GADGET_CLASS_VERSION = 5;
private $version = self::GADGET_CLASS_VERSION,
- $scripts = array(),
- $styles = array(),
+ $scripts = array(),
+ $styles = array(),
$dependencies = array(),
- $name,
+ $name,
$definition,
$resourceLoaded = false,
$requiredRights = array(),
@@ -231,13 +247,14 @@
if ( !preg_match( '/^\*+ *([a-zA-Z](?:[-_:.\w\d
]*[a-zA-Z0-9])?)(\s*\[.*?\])?\s*((\|[^|]*)+)\s*$/', $definition, $m ) ) {
return false;
}
- //NOTE: the gadget name is used as part of the name of a form
field,
+ // NOTE: the gadget name is used as part of the name of a form
field,
// and must follow the rules defined in
http://www.w3.org/TR/html4/types.html#type-cdata
// Also, title-normalization applies.
$gadget = new Gadget();
- $gadget->name = trim( str_replace(' ', '_', $m[1] ) );
+ $gadget->name = trim( str_replace( ' ', '_', $m[1] ) );
$gadget->definition = $definition;
$options = trim( $m[2], ' []' );
+
foreach ( preg_split( '/\s*\|\s*/', $options, -1,
PREG_SPLIT_NO_EMPTY ) as $option ) {
$arr = preg_split( '/\s*=\s*/', $option, 2 );
$option = $arr[0];
@@ -247,6 +264,7 @@
} else {
$params = array();
}
+
switch ( $option ) {
case 'ResourceLoader':
$gadget->resourceLoaded = true;
@@ -262,14 +280,17 @@
break;
}
}
+
foreach ( preg_split( '/\s*\|\s*/', $m[3], -1,
PREG_SPLIT_NO_EMPTY ) as $page ) {
$page = "Gadget-$page";
+
if ( preg_match( '/\.js/', $page ) ) {
$gadget->scripts[] = $page;
} elseif ( preg_match( '/\.css/', $page ) ) {
$gadget->styles[] = $page;
}
}
+
return $gadget;
}
@@ -394,17 +415,21 @@
*/
public function getModule() {
$pages = array();
- foreach( $this->styles as $style ) {
+
+ foreach ( $this->styles as $style ) {
$pages['MediaWiki:' . $style] = array( 'type' =>
'style' );
}
+
if ( $this->supportsResourceLoader() ) {
foreach ( $this->scripts as $script ) {
$pages['MediaWiki:' . $script] = array( 'type'
=> 'script' );
}
}
+
if ( !count( $pages ) ) {
return null;
}
+
return new GadgetResourceLoaderModule( $pages,
$this->dependencies );
}
@@ -442,10 +467,13 @@
public static function loadList() {
static $gadgets = null;
- if ( $gadgets !== null ) return $gadgets;
+ if ( $gadgets !== null ) {
+ return $gadgets;
+ }
wfProfileIn( __METHOD__ );
$struct = self::loadStructuredList();
+
if ( !$struct ) {
$gadgets = $struct;
wfProfileOut( __METHOD__ );
@@ -478,6 +506,7 @@
}
}
}
+
return true; // empty array
}
@@ -493,13 +522,15 @@
global $wgMemc;
static $gadgets = null;
- if ( $gadgets !== null && $forceNewText === null ) return
$gadgets;
+ if ( $gadgets !== null && $forceNewText === null ) {
+ return $gadgets;
+ }
wfProfileIn( __METHOD__ );
$key = wfMemcKey( 'gadgets-definition',
self::GADGET_CLASS_VERSION );
if ( $forceNewText === null ) {
- //cached?
+ // cached?
$gadgets = $wgMemc->get( $key );
if ( self::isValidList( $gadgets ) ) {
wfProfileOut( __METHOD__ );
@@ -537,10 +568,10 @@
}
}
- //cache for a while. gets purged automatically when
MediaWiki:Gadgets-definition is edited
- $wgMemc->set( $key, $gadgets, 60*60*24 );
+ // cache for a while. gets purged automatically when
MediaWiki:Gadgets-definition is edited
+ $wgMemc->set( $key, $gadgets, 60 * 60 * 24 );
$source = $forceNewText !== null ? 'input text' :
'MediaWiki:Gadgets-definition';
- wfDebug( __METHOD__ . ": $source parsed, cache entry $key
updated\n");
+ wfDebug( __METHOD__ . ": $source parsed, cache entry $key
updated\n" );
wfProfileOut( __METHOD__ );
return $gadgets;
Modified: trunk/extensions/Gadgets/Gadgets_tests.php
===================================================================
--- trunk/extensions/Gadgets/Gadgets_tests.php 2011-09-23 06:15:20 UTC (rev
97889)
+++ trunk/extensions/Gadgets/Gadgets_tests.php 2011-09-23 06:48:37 UTC (rev
97890)
@@ -1,14 +1,14 @@
<?php
-
/**
* @group Gadgets
*/
-class GadgetsTest extends PHPUnit_Framework_TestCase {
+class GadgetsTest extends PHPUnit_Framework_TestCase {
private function create( $line ) {
$g = Gadget::newFromDefinition( $line );
// assertInstanceOf() is available since PHPUnit 3.5
$this->assertEquals( 'Gadget', get_class( $g ) );
+
return $g;
}
@@ -34,7 +34,7 @@
$g = $this->create( '*foo [ResourceLoader]|foo.js|foo.css' );
$this->assertEquals( 'foo', $g->getName() );
$this->assertTrue( $g->supportsResourceLoader() );
- $this->assertEquals(0, count( $g->getLegacyScripts() ) );
+ $this->assertEquals( 0, count( $g->getLegacyScripts() ) );
}
function testDependencies() {
@@ -45,12 +45,11 @@
}
function testPreferences() {
- global $wgUser;
+ global $wgUser, $wgOut, $wgTitle;
// This test makes call to the parser which requires valids
Outputpage
// and Title objects. Set them up there, they will be released
at the
// end of the test.
- global $wgOut, $wgTitle;
$old_wgOut = $wgOut;
$old_wgTitle = $wgTitle;
$wgTitle = Title::newFromText( 'Parser test for Gadgets
extension' );
Modified: trunk/extensions/Gadgets/README
===================================================================
--- trunk/extensions/Gadgets/README 2011-09-23 06:15:20 UTC (rev 97889)
+++ trunk/extensions/Gadgets/README 2011-09-23 06:48:37 UTC (rev 97890)
@@ -32,7 +32,7 @@
== Caveats ==
-* Gadgets do not apply to Special:Preferences, Special:UserLogin and
+* Gadgets do not apply to Special:Preferences, Special:UserLogin and
Special:ResetPass so users can always disable any broken gadgets they
may have enabled, and malicious gadgets will be unable to steal passwords.
* Uses BeforePageDisplay hook, thus only works with MonoBook based skins;
Modified: trunk/extensions/Gadgets/SpecialGadgets.php
===================================================================
--- trunk/extensions/Gadgets/SpecialGadgets.php 2011-09-23 06:15:20 UTC (rev
97889)
+++ trunk/extensions/Gadgets/SpecialGadgets.php 2011-09-23 06:48:37 UTC (rev
97890)
@@ -9,14 +9,6 @@
* @license GNU General Public License 2.0 or later
*/
-if( !defined( 'MEDIAWIKI' ) ) {
- echo( "not a valid entry point.\n" );
- die( 1 );
-}
-
-/**
- *
- */
class SpecialGadgets extends SpecialPage {
/**
@@ -32,13 +24,14 @@
*/
function execute( $par ) {
$parts = explode( '/', $par );
+
if ( count( $parts ) == 2 && $parts[0] == 'export' ) {
$this->showExportForm( $parts[1] );
} else {
$this->showMainForm();
}
}
-
+
/**
* Displays form showing the list of installed gadgets
*/
@@ -63,43 +56,50 @@
$msgOpt = array( 'parseinline', 'parsemag' );
$editInterfaceAllowed = $wgUser->isAllowed( 'editinterface' );
-
+
foreach ( $gadgets as $section => $entries ) {
if ( $section !== false && $section !== '' ) {
$t = Title::makeTitleSafe( NS_MEDIAWIKI,
"Gadget-section-$section$lang" );
if ( $editInterfaceAllowed ) {
$lnkTarget = $t
- ? $skin->link( $t, wfMsgHTML(
'edit' ), array(), array( 'action' => 'edit' ) )
+ ? $skin->link( $t, wfMsgHTML(
'edit' ), array(), array( 'action' => 'edit' ) )
: htmlspecialchars( $section );
$lnk = "    [$lnkTarget]";
} else {
$lnk = '';
}
+
$ttext = wfMsgExt( "gadget-section-$section",
$msgOpt );
- if( $listOpen ) {
+ if ( $listOpen ) {
$wgOut->addHTML( Xml::closeElement(
'ul' ) . "\n" );
$listOpen = false;
}
+
$wgOut->addHTML( Html::rawElement( 'h2',
array(), $ttext . $lnk ) . "\n" );
}
foreach ( $entries as $gadget ) {
$t = Title::makeTitleSafe( NS_MEDIAWIKI,
"Gadget-{$gadget->getName()}$lang" );
- if ( !$t ) continue;
+ if ( !$t ) {
+ continue;
+ }
+
$links = array();
if ( $editInterfaceAllowed ) {
$links[] = $skin->link( $t, wfMsgHTML(
'edit' ), array(), array( 'action' => 'edit' ) );
}
+
$links[] = $skin->link( $this->getTitle(
"export/{$gadget->getName()}" ), wfMsgHtml( 'gadgets-export' ) );
-
+
$ttext = wfMsgExt(
"gadget-{$gadget->getName()}", $msgOpt );
- if( !$listOpen ) {
+ if ( !$listOpen ) {
$listOpen = true;
$wgOut->addHTML( Xml::openElement( 'ul'
) );
}
+
$lnk = '  ' . wfMsg( 'parentheses',
$wgLang->pipeList( $links ) );
$wgOut->addHTML( Xml::openElement( 'li' ) .
$ttext . $lnk . "<br />" .
@@ -109,26 +109,31 @@
$lnk = array();
foreach ( $gadget->getScriptsAndStyles() as
$codePage ) {
$t = Title::makeTitleSafe(
NS_MEDIAWIKI, $codePage );
- if ( !$t ) continue;
+ if ( !$t ) {
+ continue;
+ }
+
$lnk[] = $skin->link( $t,
htmlspecialchars( $t->getText() ) );
}
$wgOut->addHTML( $wgLang->commaList( $lnk ) );
$rights = $gadget->getRequiredRights();
+
if ( count( $rights ) ) {
- $wgOut->addHTML( '<br />' .
+ $wgOut->addHTML( '<br />' .
wfMessage(
'gadgets-required-rights', $wgLang->commaList( $rights ), count( $rights )
)->parse()
);
}
+
if ( $gadget->isOnByDefault() ) {
$wgOut->addHTML( '<br />' . wfMessage(
'gadgets-default' )->parse() );
}
-
+
$wgOut->addHTML( Xml::closeElement( 'li' ) .
"\n" );
}
}
- if( $listOpen ) {
+ if ( $listOpen ) {
$wgOut->addHTML( Xml::closeElement( 'ul' ) . "\n" );
}
}
@@ -145,7 +150,7 @@
$wgOut->showErrorPage( 'error', 'gadgets-not-found',
array( $gadget ) );
return;
}
-
+
$g = $gadgets[$gadget];
$this->setHeaders();
$wgOut->setPagetitle( wfMsg( "gadgets-export-title" ) );
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs