r53634 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r53633‎ | r53634 | r53635 >
Date:03:11, 22 July 2009
Author:mrzman
Status:deferred
Tags:
Comment:
*Refactor the backend to be a little less horrible to work with and eliminate some code duplication
*Fix bug 19723 by hooking on pagemoves as well
*Remove unused messages
Modified paths:
  • /trunk/extensions/IndexFunction/IndexFunction.i18n.php (modified) (history)
  • /trunk/extensions/IndexFunction/IndexFunction.php (modified) (history)
  • /trunk/extensions/IndexFunction/IndexFunction_body.php (modified) (history)

Diff [purge]

Index: trunk/extensions/IndexFunction/IndexFunction_body.php
@@ -1,36 +1,123 @@
22 <?php
33
 4+/* TODO:
 5+ * Memcached
 6+ * Warnings for API edit
 7+ * Better documentation
 8+*/
 9+
410 class IndexFunction {
511
6 - // Utility function to get the target pageid for a possible index-title
7 - static function getIndexTarget( Title $title ) {
8 - $ns = $title->getNamespace();
9 - $t = $title->getDBkey();
 12+ var $mTo = array(); // An array of titles for pages being indexed
 13+ var $mFrom = null; // A title object representing the index-title
 14+
 15+ function __construct() {}
 16+
 17+ // Constructor for a known index-title
 18+ public static function newFromTitle( Title $indextitle ) {
 19+ $ns = $indextitle->getNamespace();
 20+ $t = $indextitle->getDBkey();
1021 $dbr = wfGetDB( DB_SLAVE );
1122 $res = $dbr->select( 'indexes', 'in_from',
1223 array( 'in_namespace' => $ns, 'in_title' => $t ),
1324 __METHOD__
1425 );
15 - return $res;
 26+ if ( !$res->numRows() ) {
 27+ return null;
 28+ }
 29+ $ind = new IndexFunction();
 30+ $ids = array();
 31+ foreach ( $res as $row ) {
 32+ $ids[] = $row->in_from;
 33+ }
 34+ $ind->mTo = Title::newFromIDs( $ids );
 35+ $ind->mFrom = $indextitle;
 36+ return $ind;
1637 }
 38+
 39+ // Constructor for known target
 40+ public static function newFromTarget( Title $target ) {
 41+ $pageid = $target->getArticleID();
 42+ $dbr = wfGetDB( DB_SLAVE );
 43+ $res = $dbr->select( 'indexes', array('in_namespace', 'in_title'),
 44+ array( 'in_from' => $pageid ),
 45+ __METHOD__
 46+ );
 47+ if ( !$res->numRows() ) {
 48+ return null;
 49+ }
 50+ $ind = new IndexFunction();
 51+ $row = $res->fetchRow();
 52+ $ind->mFrom = Title::makeTitle( $row->in_namespace, $row->in_title );
 53+ return $ind;
 54+ }
 55+
 56+ public function getIndexTitle() {
 57+ return $this->mFrom;
 58+ }
 59+
 60+ public function getTargets() {
 61+ if ( $this->mTo ) {
 62+ return $this->mTo;
 63+ }
 64+ $dbr = wfGetDB( DB_SLAVE );
 65+ $ns = $this->mFrom->getNamespace();
 66+ $t = $this->mFrom->getDBkey();
 67+ $res = $dbr->select( 'indexes', 'in_from',
 68+ array( 'in_namespace' => $ns, 'in_title' => $t ),
 69+ __METHOD__
 70+ );
 71+ $ids = array();
 72+ foreach ( $res as $row ) {
 73+ $ids[] = $row->in_from;
 74+ }
 75+ $this->mTo = Title::newFromIDs( $ids );
 76+ return $this->mTo;
 77+ }
1778
 79+ // Makes an HTML <ul> list of targets
 80+ public function makeTargetList() {
 81+ global $wgUser;
 82+ $sk = $wgUser->getSkin();
 83+ $targets = $this->getTargets();
 84+ $list = Xml::openElement( 'ul' );
 85+ foreach( $targets as $t ) {
 86+ $link = $sk->link( $t, $t->getPrefixedText(), array(), array(), array('known', 'noclasses') );
 87+ $list.= Xml::tags( 'li', null, $link );
 88+ }
 89+ $list .= Xml::CloseElement( 'ul' );
 90+ return $list;
 91+ }
 92+
 93+ // Returns true if a redirect should go to a special page
 94+ // ie - if there are multiple targets
 95+ public function useSpecialPage() {
 96+ if ( !$this->mTo ) {
 97+ $this->getTargets();
 98+ }
 99+ return count( $this->mTo) > 1;
 100+ }
 101+}
 102+
 103+class IndexFunctionHooks {
 104+
18105 // Makes "Go" searches for an index title go directly to their target
19106 static function redirectSearch( $term, &$title ) {
20107 $title = Title::newFromText( $term );
21108 if ( is_null($title) ) {
22109 return true;
23110 }
24 - $res = self::getIndexTarget( $title );
25 - if ( $res->numRows() == 0 ) {
 111+ $index = IndexFunction::newFromTitle( $title );
 112+ if ( !$index ) {
26113 return true;
27 - } elseif ( $res->numRows() > 1 ) {
 114+ } elseif ( $index->useSpecialPage() ) {
28115 global $wgOut;
29116 $title = SpecialPage::getTitleFor( 'Index', $title->getPrefixedText() );
30117 $wgOut->redirect( $title->getLocalURL() );
31118 return true;
32119 }
33 - $res = $res->fetchRow();
34 - $title = Title::newFromId( $res );
 120+ $targets = $index->getTargets();
 121+ $title = $targets[0];
35122 return false;
36123 }
37124
@@ -39,19 +126,17 @@
40127 if ( $article->exists() ) {
41128 return true;
42129 }
43 - $res = self::getIndexTarget( $title );
44 - if ( $res->numRows() == 0 ) {
 130+ $index = IndexFunction::newFromTitle( $title );
 131+ if ( !$index ) {
45132 return true;
46 - } elseif ( $res->numRows() > 1 ) {
 133+ } elseif ($index->useSpecialPage() ) {
47134 global $wgOut;
48135 $t = SpecialPage::getTitleFor( 'Index', $title->getPrefixedText() );
49136 $wgOut->redirect( $t->getLocalURL() );
50137 return true;
51 - } else {
52 - $res = $res->fetchRow();
53 - $redir = Title::newFromID( $res );
54 - }
55 - $target = $redir;
 138+ }
 139+ $targets = $index->getTargets();
 140+ $target = $targets[0];
56141 $article->mIsRedirect = true;
57142 $ignoreRedirect = false;
58143 return true;
@@ -62,8 +147,8 @@
63148 if ( in_array( 'known', $options ) ) {
64149 return true;
65150 }
66 - $res = self::getIndexTarget( $target );
67 - if ( $res->numRows() == 0 ) {
 151+ $index = IndexFunction::newFromTitle( $target );
 152+ if ( !$index ) {
68153 return true;
69154 }
70155 $attribs['class'] = str_replace( 'new', 'mw-index', $attribs['class'] );
@@ -189,23 +274,46 @@
190275 $dbw = wfGetDB( DB_MASTER );
191276 $dbw->delete( 'indexes',
192277 array( 'in_namespace'=>$ns, 'in_title'=>$dbkey ),
193 - __METHOD__ );
 278+ __METHOD__
 279+ );
194280 return true;
195281 }
196282
197283 // Show a warning when editing an index-title
198284 static function editWarning( $editpage ) {
199285 $t = $editpage->mTitle;
200 - $target = self::getIndexTarget( $t );
201 - if ( $target->numRows() != 1 ) { # FIXME
 286+ $index = IndexFunction::newFromTitle( $t );
 287+ if (!$index) {
202288 return true;
203289 }
204 - $target = $target->fetchRow();
205 - $page = Title::newFromID( $target['in_from'] );
206290 wfLoadExtensionMessages( 'IndexFunction' );
207 - $warn = wfMsgExt( 'indexfunc-editwarn', array( 'parse' ), $page->getPrefixedText() );
208 - $editpage->editFormTextBeforeContent .= "<span class='error'>$warn</span>";
 291+ $list = $index->makeTargetList();
 292+ $c = count( $index->getTargets() );
 293+ $warn = wfMsgExt( 'indexfunc-editwarning', array( 'parsemag' ), $list, $c );
 294+ $editpage->editFormTextTop .= "<span class='error'>$warn</span>";
209295 return true;
210296 }
 297+
 298+ static function afterMove( &$form, &$orig, &$new ) {
 299+ global $wgOut;
 300+ $index = IndexFunction::newFromTitle( $new );
 301+ if ( !$index ) {
 302+ return true;
 303+ }
 304+ $c = count( $index->getTargets() );
 305+ $list = $index->makeTargetList();
 306+ $newns = $new->getNamespace();
 307+ $newdbk = $new->getDBkey();
 308+ $dbw = wfGetDB( DB_MASTER );
 309+ $dbw->delete( 'indexes',
 310+ array( 'in_namespace'=>$newns, 'in_title'=>$newdbk ),
 311+ __METHOD__
 312+ );
 313+ $msg = wfMsgExt( 'indexfunc-movewarn', array( 'parsemag' ), $new->getPrefixedText(), $list, $c );
 314+ $msg = "<span class='error'>$msg</span>";
 315+ $wgOut->addHTML( $msg );
 316+ return true;
 317+ }
 318+
211319 }
212320
Index: trunk/extensions/IndexFunction/IndexFunction.i18n.php
@@ -11,13 +11,15 @@
1212 'indexfunc-desc' => 'Parser function to create automatic redirects and disambiguation pages',
1313
1414 'indexfunc-badtitle' => 'Invalid title: "$1"',
15 - 'indexfunc-editwarn' => 'Warning: This title is an index title for [[$1]].
 15+ 'indexfunc-editwarning' => 'Warning: This title is an index title for the following {{PLURAL:$2|page|pages}}:
 16+$1
1617 Be sure the page you are about to create does not already exist under a different title.
17 -If you create this page, remove this title from the <nowiki>{{#index:}}</nowiki> on $1.',
 18+If you create this page, remove this title from the <nowiki>{{#index:}}</nowiki> on the above {{PLURAL:$2|page|pages}}.',
1819 'indexfunc-index-exists' => 'The page "$1" already exists',
19 - 'indexfunc-index-taken' => '"$1" is already used as an index by "$2"',
 20+ 'indexfunc-movewarn' => 'Warning: "$1" is an index title for the following {{PLURAL:$3|page|pages}}:
 21+$2
 22+Please remove "$1" from the <nowiki>{{#index:}}</nowiki> on the above {{PLURAL:$3|page|pages}}.',
2023
21 - 'index' => 'Index',
2224 'index-legend' => 'Search the index',
2325 'index-search' => 'Search:',
2426 'index-submit' => 'Submit',
@@ -34,7 +36,6 @@
3537 */
3638 $messages['qqq'] = array(
3739 'indexfunc-desc' => 'Short description of this extension, shown in [[Special:Version]]. Do not translate or change links or tag names.',
38 - 'index' => 'This is either the name of the parser function, to be used inside the wiki code, or not used, if I got it right. --[[User:Purodha|Purodha Blissenbach]] 00:13, 15 July 2009 (UTC)',
3940 'index-legend' => 'Used in [[Special:Index]].',
4041 'index-search' => '{{Identical|Search}}',
4142 'index-submit' => '{{Identical|Submit}}',
@@ -47,12 +48,7 @@
4849 $messages['be-tarask'] = array(
4950 'indexfunc-desc' => 'Функцыя парсэра для стварэньня аўтаматычных перанакіраваньняў і старонак неадназначнасьцяў',
5051 'indexfunc-badtitle' => 'Няслушная назва: «$1»',
51 - 'indexfunc-editwarn' => 'Папярэджаньне: гэтая назва зьяўляецца індэкснай для [[$1]].
52 -Упэўніцеся, што старонка, якую Вы спрабуеце стварыць, не існуе над іншай назвай.
53 -Калі Вы стварыце гэтую старонку, выдаліце гэтую назву з <nowiki>{{#index:}}</nowiki> на $1.',
5452 'indexfunc-index-exists' => 'Старонка «$1» ужо існуе',
55 - 'indexfunc-index-taken' => '«$1» ужо выкарыстоўваецца як індэкс для «$2»',
56 - 'index' => 'Індэкс',
5753 'index-legend' => 'Пошук у індэксе',
5854 'index-search' => 'Пошук:',
5955 'index-submit' => 'Адправіць',
@@ -67,12 +63,7 @@
6864 $messages['bs'] = array(
6965 'indexfunc-desc' => 'Parserska funkcija za pravljenje automatskih preusmjerenja i čvor stranica',
7066 'indexfunc-badtitle' => 'Nevaljan naslov: "$1"',
71 - 'indexfunc-editwarn' => 'Upozorenje: Ovaj naslov je naslov indeksa za [[$1]].
72 -Provjerite da li stranica koju namjeravate napraviti već ne postoji pod drugim naslovom.
73 -Ako napravite ovu stranicu, uklonite ovaj naslov iz <nowiki>{{#index:}}</nowiki> na $1.',
7467 'indexfunc-index-exists' => 'Stranica "$1" već postoji',
75 - 'indexfunc-index-taken' => '"$1" je već iskorišten kao indeks u "$2"',
76 - 'index' => 'Indeks',
7768 'index-legend' => 'Pretraživanje indeksa',
7869 'index-search' => 'Traži:',
7970 'index-submit' => 'Pošalji',
@@ -88,8 +79,6 @@
8980 'indexfunc-desc' => 'Función analizadora para crear redirecciones y páginas de desambiguación',
9081 'indexfunc-badtitle' => 'Título inválido: "$1"',
9182 'indexfunc-index-exists' => 'La página "$1" ya existe',
92 - 'indexfunc-index-taken' => '"$1" ya es usada como un índice por "$2"',
93 - 'index' => 'Índice',
9483 'index-legend' => 'Buscar el índice',
9584 'index-search' => 'Buscar:',
9685 'index-submit' => 'Enviar',
@@ -105,12 +94,7 @@
10695 $messages['fr'] = array(
10796 'indexfunc-desc' => "Fonction du parseur pour créer des pages de redirection et d'homonymie automatiquement",
10897 'indexfunc-badtitle' => 'Titre invalide : « $1»',
109 - 'indexfunc-editwarn' => 'Attention : Ce titre est un titre d’index pour [[$1]].
110 -Assurez-vous que la page que vous vous apprêtez à créer n’existe pas déjà sous un autre titre.
111 -Si vous créez cette page, supprimez ce titre de la <nowiki>{{#index:}}</nowiki> sur $1.',
11298 'indexfunc-index-exists' => 'La page « $1 » existe déjà',
113 - 'indexfunc-index-taken' => '« $1 » est déjà utilisé comme un index par « $2 »',
114 - 'index' => 'Index',
11599 'index-legend' => 'Rechercher dans l’index',
116100 'index-search' => 'Chercher:',
117101 'index-submit' => 'Envoyer',
@@ -125,12 +109,7 @@
126110 $messages['gl'] = array(
127111 'indexfunc-desc' => 'Funcións analíticas para crear redireccións automáticas e páxinas de homónimos',
128112 'indexfunc-badtitle' => 'Título inválido: "$1"',
129 - 'indexfunc-editwarn' => 'Aviso: este título é un título de índice para "[[$1]]".
130 -Asegúrese de que a páxina que está a piques de crear aínda non existe cun título diferente.
131 -Se crea esta páxina, elimine este título de <nowiki>{{#index:}}</nowiki> en "$1".',
132113 'indexfunc-index-exists' => 'A páxina "$1" xa existe',
133 - 'indexfunc-index-taken' => '"$1" xa se usa como índice de "$2"',
134 - 'index' => 'Índice',
135114 'index-legend' => 'Procurar no índice',
136115 'index-search' => 'Procurar:',
137116 'index-submit' => 'Enviar',
@@ -145,12 +124,7 @@
146125 $messages['gsw'] = array(
147126 'indexfunc-desc' => 'Parserfunktion go automatischi Wyterleitige un Begriffsklärige aalege',
148127 'indexfunc-badtitle' => 'Nit giltige Titel „$1“',
149 - 'indexfunc-editwarn' => 'Warnig: Dää Titel isch e Verzeichnis-Titel fir [[$1]].
150 -Stell sicher, ass es die Syte, wu Du grad witt aalege, nit scho unter eme andere Titel git.
151 -Wänn Du die Syte aaleisch, nimm dää Titel us em <nowiki>{{#index:}}</nowiki> uf $1 uuse.',
152128 'indexfunc-index-exists' => 'D Syte „$1“ git s scho.',
153 - 'indexfunc-index-taken' => '„$1“ wird scho as Verzeichnis brucht dur „$2“',
154 - 'index' => 'Verzeichnis',
155129 'index-legend' => 'S Verzeichnis dursueche',
156130 'index-search' => 'Suech:',
157131 'index-submit' => 'Abschicke',
@@ -165,12 +139,7 @@
166140 $messages['hsb'] = array(
167141 'indexfunc-desc' => 'Parserowa funkcija za wutworjenje awtomatiskich daleposrědkowanjow a rozjasnjenjow wjacezmyslnosćow',
168142 'indexfunc-badtitle' => 'Njepłaćiwy titul: "$1"',
169 - 'indexfunc-editwarn' => 'Warnowanje: Tutón titul je indeksowy titul za [[$1]].
170 -Přeswědč so, zo strona, kotruž chceš wutworić, pod druhim titulom njeeksistuje.
171 -Jeli tutu stronu tworiš, wotstroń tutón titul z <nowiki>{{#index:}}</nowiki> na $1.',
172143 'indexfunc-index-exists' => 'Strona "$1" hižo eksistuje',
173 - 'indexfunc-index-taken' => '"$1" so hižo wot "$2" jako indeks wužiwa',
174 - 'index' => 'Indeks',
175144 'index-legend' => 'Indeks přepytać',
176145 'index-search' => 'Pytać:',
177146 'index-submit' => 'Wotpósłać',
@@ -185,12 +154,7 @@
186155 $messages['ia'] = array(
187156 'indexfunc-desc' => 'Function del analysator syntactic pro le creation automatic de redirectiones e paginas de disambiguation',
188157 'indexfunc-badtitle' => 'Titulo invalide: "$1"',
189 - 'indexfunc-editwarn' => 'Attention: Iste titulo es un titulo de indice pro [[$1]].
190 -Assecura te que le pagina que tu va crear non ja existe sub un altere titulo.
191 -Si tu crea iste pagina, remove iste titulo del <nowiki>{{#index:}}</nowiki> in $1.',
192158 'indexfunc-index-exists' => 'Le pagina "$1" ja existe',
193 - 'indexfunc-index-taken' => '"$1" es ja usate como indice per "$2"',
194 - 'index' => 'Indice',
195159 'index-legend' => 'Cercar in le indice',
196160 'index-search' => 'Cerca:',
197161 'index-submit' => 'Submitter',
@@ -214,10 +178,7 @@
215179 $messages['ja'] = array(
216180 'indexfunc-desc' => '自動的なリダイレクトや曖昧さ回避ページを作成するためのパーサー関数',
217181 'indexfunc-badtitle' => '不正なタイトル:「$1」',
218 - 'indexfunc-editwarn' => '警告: このタイトルは[[$1]]の索引タイトルです。あなたが作成しようとしているページが既に別のタイトルで存在していないことを確認してください。このページを作成したら、このタイトルを$1の <nowiki>{{#index:}}</nowiki> から除去してください。',
219182 'indexfunc-index-exists' => 'ページ「$1」は既に存在します。',
220 - 'indexfunc-index-taken' => '「$1」は既に索引として「$2」に使われています',
221 - 'index' => '索引',
222183 'index-legend' => '索引の検索',
223184 'index-search' => '検索:',
224185 'index-submit' => '送信',
@@ -232,12 +193,7 @@
233194 $messages['ksh'] = array(
234195 'indexfunc-desc' => 'Paaserfunxjuhn för Ömleijdunge un „Watt ėßß datt?“-Sigge automattesch jemaat ze krijje.',
235196 'indexfunc-badtitle' => '„$1“ es ene onjöltije Sigge-Tittel.',
236 - 'indexfunc-editwarn' => 'Opjepaß: Dä Tittel hät en automattesche „Watt ėßß datt?“-Sigg udder en automattesche Ömleijdung op de Sigg „[[$1]]“.
237 -Beß sescher, dat di Sigg, di heh aanlääje wells nit ald onger enem andere Nahme aanjelaat es.
238 -Wann De heh di Sigg aanlääß, donn dä iere Tittel uß dämm <code lang="en"><nowiki>{{#index:}}</nowiki></code> op dä Sigg „$1“ eruß nämme.',
239197 'indexfunc-index-exists' => 'Di Sigg „$1“ jitt et ald.',
240 - 'indexfunc-index-taken' => '„$1“ weed ald als för automattesche „Watt ėßß datt?“-Sigg udder en automattesche Ömleijdung en dä Sigg „$2“ jebruch.',
241 - 'index' => 'index',
242198 'index-legend' => 'Donn en de automatesche Ömleidunge un „Watt ėßß datt?“-Leßte söhke',
243199 'index-search' => 'Söhk noh:',
244200 'index-submit' => 'Lohß Jonn!',
@@ -253,8 +209,6 @@
254210 'indexfunc-desc' => 'Parser-Fonctioun fir Viruleedungen an Homonymie-Säiten automatesch unzeleeën',
255211 'indexfunc-badtitle' => 'Net valabelen Titel: "$1"',
256212 'indexfunc-index-exists' => 'D\'Säit "$1" gëtt et schonn',
257 - 'indexfunc-index-taken' => '"$1" gëtt schonn als Index vum "$2" benotzt',
258 - 'index' => 'Index',
259213 'index-legend' => 'Am Index sichen',
260214 'index-search' => 'Sichen:',
261215 'index-missing-param' => 'Dës Säit kann net ouni Parameter benotzt ginn',
@@ -267,12 +221,7 @@
268222 $messages['nl'] = array(
269223 'indexfunc-desc' => "Parserfunctie om automatisch doorverwijzingen en doorverwijspagina's aan te maken",
270224 'indexfunc-badtitle' => 'Ongeldige paginanaam: "$1"',
271 - 'indexfunc-editwarn' => 'Waarschuwing: Deze paginanaam is een indexnaam voor [[$1]].
272 -Zorg dat de pagina die u aan gaat maken niet al bestaan onder een andere naam.
273 -Als u deze pagina aanmaakt, verwijder deze pagina dan uit de <nowiki>{{#index:}}</nowiki> op $1.',
274225 'indexfunc-index-exists' => 'De pagina "$1" bestaat al',
275 - 'indexfunc-index-taken' => '"$1" wordt al gebruikt als een index bij "$2"',
276 - 'index' => 'Index',
277226 'index-legend' => 'De index doorzoeken',
278227 'index-search' => 'Zoeken:',
279228 'index-submit' => 'OK',
@@ -287,12 +236,7 @@
288237 $messages['oc'] = array(
289238 'indexfunc-desc' => "Foncion del parser per crear de paginas de redireccion e d'omonimia automaticament",
290239 'indexfunc-badtitle' => 'Títol invalid : « $1»',
291 - 'indexfunc-editwarn' => 'Atencion : Aqueste títol es un títol d’indèx per [[$1]].
292 -Asseguratz-vos que la pagina que sètz a mand de crear existís pas ja jos un autre títol.
293 -Se creatz aquesta pagina, suprimissètz aqueste títol de la <nowiki>{{#index:}}</nowiki> sus $1.',
294240 'indexfunc-index-exists' => 'La pagina « $1 » existís ja',
295 - 'indexfunc-index-taken' => '« $1 » ja es utilizat coma un indèx per « $2 »',
296 - 'index' => 'Indèx',
297241 'index-legend' => 'Recercar dins l’indèx',
298242 'index-search' => 'Cercar :',
299243 'index-submit' => 'Mandar',
@@ -307,12 +251,7 @@
308252 $messages['ru'] = array(
309253 'indexfunc-desc' => 'Функция парсера для создания автоматических перенаправлений и страниц неоднозначностей',
310254 'indexfunc-badtitle' => 'Ошибочный заголовок «$1»',
311 - 'indexfunc-editwarn' => 'Предупреждение. Это название является индексным названием [[$1]].
312 -Убедитесь, что страницы, которую вы собираетесь создать, не существует под другим названием.
313 -Если создаёте эту страницу, удалите это название из <nowiki>{{#index:}}</nowiki> на $1.',
314255 'indexfunc-index-exists' => 'Страница «[[$1]]» уже существует',
315 - 'indexfunc-index-taken' => '«$1» уже используется как индекс для «$2»',
316 - 'index' => 'Индекс',
317256 'index-legend' => 'Поиск по индексу',
318257 'index-search' => 'Поиск:',
319258 'index-submit' => 'Отправить',
@@ -327,12 +266,7 @@
328267 $messages['sk'] = array(
329268 'indexfunc-desc' => 'Funkcia syntaktického analyzátora na automatickú tvorbu presmerovaní a rozlišovacích stránok',
330269 'indexfunc-badtitle' => 'Neplatný názov: „$1“',
331 - 'indexfunc-editwarn' => 'Upozornenie: Tento názov je indexový názov pre [[$1]].
332 -Uistite sa, že stránka, ktorú sa chystáte vytvoriť už neexistuje pod iným názvom.
333 -Ak vytvoríte túto stránku, odstráňte tento názov z <nowiki>{{#index:}}</nowiki> na $1.',
334270 'indexfunc-index-exists' => 'Stránka „$1“ už existuje',
335 - 'indexfunc-index-taken' => '„$1“ sa už používa ako index v „$2“',
336 - 'index' => 'Index',
337271 'index-legend' => 'Hľadať v indexe',
338272 'index-search' => 'Hľadať:',
339273 'index-submit' => 'Odoslať',
Index: trunk/extensions/IndexFunction/IndexFunction.php
@@ -13,21 +13,23 @@
1414
1515 # Register function
1616 $wgHooks['ParserFirstCallInit'][] = 'efIndexSetup';
17 -$wgHooks['LanguageGetMagic'][] = 'IndexFunction::addIndexFunction';
 17+$wgHooks['LanguageGetMagic'][] = 'IndexFunctionHooks::addIndexFunction';
1818 # Add to database
19 -$wgHooks['OutputPageParserOutput'][] = 'IndexFunction::doIndexes';
 19+$wgHooks['OutputPageParserOutput'][] = 'IndexFunctionHooks::doIndexes';
2020 # Make links to indexes blue
21 -$wgHooks['LinkEnd'][] = 'IndexFunction::blueLinkIndexes';
 21+$wgHooks['LinkEnd'][] = 'IndexFunctionHooks::blueLinkIndexes';
2222 # Make links to indexes redirect
23 -$wgHooks['InitializeArticleMaybeRedirect'][] = 'IndexFunction::doRedirect';
 23+$wgHooks['InitializeArticleMaybeRedirect'][] = 'IndexFunctionHooks::doRedirect';
2424 # Make "go" searches for indexes redirect
25 -$wgHooks['SearchGetNearMatch'][] = 'IndexFunction::redirectSearch';
 25+$wgHooks['SearchGetNearMatch'][] = 'IndexFunctionHooks::redirectSearch';
2626 # Remove things from the index table when a page is deleted
27 -$wgHooks['ArticleDeleteComplete'][] = 'IndexFunction::onDelete';
 27+$wgHooks['ArticleDeleteComplete'][] = 'IndexFunctionHooks::onDelete';
2828 # Remove things from the index table when creating a new page
29 -$wgHooks['ArticleInsertComplete'][] = 'IndexFunction::onCreate';
 29+$wgHooks['ArticleInsertComplete'][] = 'IndexFunctionHooks::onCreate';
3030 # Show a warning when editing an index title
31 -$wgHooks['EditPage::showEditForm:initial'][] = 'IndexFunction::editWarning';
 31+$wgHooks['EditPage::showEditForm:initial'][] = 'IndexFunctionHooks::editWarning';
 32+# Show a warning after page move, and do some cleanup
 33+$wgHooks['SpecialMovepageAfterMove'][] = 'IndexFunctionHooks::afterMove';
3234
3335 $wgHooks['LoadExtensionSchemaUpdates'][] = 'efIndexUpdateSchema';
3436
@@ -38,10 +40,11 @@
3941 $wgAutoloadClasses['SpecialIndex'] = $dir . 'SpecialIndex.php';
4042
4143 $wgExtensionMessagesFiles['IndexFunction'] = $dir . 'IndexFunction.i18n.php';
 44+$wgAutoloadClasses['IndexFunctionHooks'] = $dir . 'IndexFunction_body.php';
4245 $wgAutoloadClasses['IndexFunction'] = $dir . 'IndexFunction_body.php';
4346
4447 function efIndexSetup( &$parser ) {
45 - $parser->setFunctionHook( 'index-func', array( 'IndexFunction', 'indexRender' ) );
 48+ $parser->setFunctionHook( 'index-func', array( 'IndexFunctionHooks', 'indexRender' ) );
4649 return true;
4750 }
4851

Status & tagging log