r96590 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r96589‎ | r96590 | r96591 >
Date:18:08, 8 September 2011
Author:maxsem
Status:ok
Tags:
Comment:
Syntax help in Special:Hieroglyphs
Modified paths:
  • /trunk/extensions/wikihiero/SpecialHieroglyphs.php (modified) (history)
  • /trunk/extensions/wikihiero/wikihiero.i18n.php (modified) (history)

Diff [purge]

Index: trunk/extensions/wikihiero/SpecialHieroglyphs.php
@@ -21,6 +21,20 @@
2222 const HIEROGLYPHS_PER_ROW = 10;
2323 const CACHE_EXPIRY = 86400; // 1 day
2424
 25+ private $hiero;
 26+ private $syntaxHelp = array(
 27+ array( 'code' => '-', 'message' => 'wikihiero-separator', 'example' => 'A1 - B1' ),
 28+ array( 'code' => ':', 'message' => 'wikihiero-superposition', 'example' => 'p:t' ),
 29+ array( 'code' => ':', 'message' => 'wikihiero-juxtaposition', 'example' => 'p*t' ),
 30+ array( 'code' => '!', 'message' => 'wikihiero-eol', 'example' => 'A1-B1 ! C1-D1' ),
 31+ );
 32+ private $helpColumns = array(
 33+ 'code',
 34+ 'meaning',
 35+ 'example',
 36+ 'result',
 37+ );
 38+
2539 public function __construct() {
2640 parent::__construct( 'Hieroglyphs' );
2741 }
@@ -62,6 +76,8 @@
6377 . Html::closeElement( 'form' )
6478 );
6579
 80+ $this->hiero = new WikiHiero();
 81+
6682 $out->addHTML( '<table><tr><td>' );
6783 $out->addHTML( '<div class="mw-hiero-list">' );
6884 $out->addHTML( $this->listHieroglyphs() );
@@ -86,15 +102,25 @@
87103 return $html;
88104 }
89105 $html = '';
90 - $hiero = new WikiHiero();
91 - $files = array_keys( $hiero->getFiles() );
 106+
 107+ $html .= $this->getHeading( 'wikihiero-syntax', 'syntax' );
 108+ $html .= '<table class="wikitable"><tr>';
 109+ foreach ( $this->helpColumns as $col ) {
 110+ $html .= '<th>' . wfMessage( "wikihiero-th-$col" )->escaped() . '</th>';
 111+ }
 112+ $html .= '</tr>';
 113+ foreach ( $this->syntaxHelp as $e ) {
 114+ $html .= $this->getSyntaxHelp( $e['code'], $e['message'], $e['example'] );
 115+ }
 116+ $html .= "</table>\n";
 117+
 118+ $files = array_keys( $this->hiero->getFiles() );
92119 natsort( $files );
93120
94121 foreach ( $this->getCategories() as $cat ) {
95122 $alnum = strlen( $cat ) == 1;
96 - $html .= "<h2 id=\"cat-$cat\">" . wfMessage( "wikihiero-category-$cat" )->escaped() . "</h2>
97 -<table class=\"wikitable\">
98 -";
 123+ $html .= $this->getHeading( "wikihiero-category-$cat", "cat-$cat" );
 124+ $html .= "<table class=\"wikitable\">\n";
99125 $upperRow = $lowerRow = '';
100126 $columns = 0;
101127 $rows = 0;
@@ -105,7 +131,7 @@
106132 if ( strpos( $code, $cat ) !== 0 || ( $alnum && !ctype_digit( $code[1] ) ) ) {
107133 continue; // wrong category
108134 }
109 - $upperRow .= '<td>' . $hiero->renderHtml( $code ) . '</td>';
 135+ $upperRow .= '<td>' . $this->hiero->renderHtml( $code ) . '</td>';
110136 $lowerRow .= '<th>' . htmlspecialchars( $code ) . '</th>';
111137 $columns++;
112138 if ( $columns == self::HIEROGLYPHS_PER_ROW ) {
@@ -128,11 +154,22 @@
129155 }
130156
131157 private function getToc() {
132 - $html = '<table class="toc mw-hiero-toc"><tr>';
 158+ $html = '<table class="toc mw-hiero-toc">';
 159+
 160+ $syntax = wfMessage( 'wikihiero-syntax' )->text();
 161+ $html .= '<tr><td colspan="5">'
 162+ . Html::element( 'a',
 163+ array( 'href' => "#syntax", 'title' => $syntax ),
 164+ $syntax
 165+ )
 166+ . '</td></tr>';
133167 $count = 0;
134168 $cats = $this->getCategories();
135169 $end = array_pop( $cats );
136170 foreach ( $cats as $cat ) {
 171+ if ( $count % 5 == 0 ) {
 172+ $html .= '<tr>';
 173+ }
137174 $html .= '<td>'
138175 . Html::element( 'a',
139176 array( 'href' => "#cat-$cat", 'title' => wfMessage( "wikihiero-category-$cat" )->text() ),
@@ -141,16 +178,16 @@
142179 . '</td>';
143180 $count++;
144181 if ( $count % 5 == 0 ) {
145 - $html .= '</tr><tr>';
 182+ $html .= '</tr>';
146183 }
147184 }
148 - $html .= '</tr><tr><td colspan="5">'
 185+ $html .= '<tr><td colspan="5">'
149186 . Html::element( 'a',
150187 array( 'href' => "#cat-$end", 'title' => wfMessage( "wikihiero-category-$end" )->text() ),
151188 $end
152189 )
153 - . '</td>';
154 - return $html . '</tr></table>';
 190+ . '</td></tr></table>';
 191+ return $html;
155192 }
156193
157194 /**
@@ -166,4 +203,16 @@
167204 $res[] = 'Aa';
168205 return $res;
169206 }
 207+
 208+ private function getHeading( $message, $anchor ) {
 209+ return "<h2 id=\"$anchor\">" . wfMessage( $message )->escaped() . "</h2>\n";
 210+ }
 211+
 212+ private function getSyntaxHelp( $code, $message, $example ) {
 213+ return '<tr><th>' . htmlspecialchars( $code ) . '</th><td>'
 214+ . wfMessage( $message )->escaped() . '</td><td>'
 215+ . '<code>' . htmlspecialchars( "<hiero>$example</hiero>" ) . '</code></td><td>'
 216+ . $this->hiero->renderHtml( $example )
 217+ . "</td></tr>\n";
 218+ }
170219 }
\ No newline at end of file
Index: trunk/extensions/wikihiero/wikihiero.i18n.php
@@ -15,6 +15,15 @@
1616 See [http://en.wikipedia.org/wiki/Help:WikiHiero_syntax here] for markup description.',
1717 'wikihiero-input' => 'Input text',
1818 'wikihiero-result' => 'Result',
 19+ 'wikihiero-syntax' => 'Syntax',
 20+ 'wikihiero-th-code' => 'Code',
 21+ 'wikihiero-th-meaning' => 'Meaning',
 22+ 'wikihiero-th-example' => 'Example code',
 23+ 'wikihiero-th-result' => 'Result',
 24+ 'wikihiero-separator' => 'Separator',
 25+ 'wikihiero-eol' => 'End of line',
 26+ 'wikihiero-superposition' => 'Subdivision',
 27+ 'wikihiero-juxtaposition' => 'Juxtaposition',
1928 'wikihiero-load-error' => 'Load error!',
2029 'wikihiero-category-A' => 'A: Man and his occupations',
2130 'wikihiero-category-B' => 'B: Woman and her occupations',
@@ -192,6 +201,11 @@
193202 */
194203 $messages['bg'] = array(
195204 'wikihiero-desc' => 'Добавя етикет <code>&lt;hiero&gt;</code> за показване на [[Special:Hieroglyphs|йероглифи]]',
 205+ 'wikihiero-syntax' => 'Синтаксис',
 206+ 'wikihiero-eol' => 'Край на реда',
 207+ 'wikihiero-separator' => 'Сепаратор',
 208+ 'wikihiero-superposition' => 'Разделител',
 209+ 'wikihiero-juxtaposition' => 'Премятане',
196210 'wikihiero-category-A' => 'A: Мъжът и дейностите му',
197211 'wikihiero-category-B' => 'B: Жената и дейностите й',
198212 'wikihiero-category-C' => 'C: Антропоморфни божества',
@@ -212,6 +226,11 @@
213227 */
214228 $messages['br'] = array(
215229 'wikihiero-desc' => 'Ouzhpennañ a ra ar valizenn <code>&lt;hiero&gt;</code> evit embann ar [[Special:Hieroglyphs|hieroglifoù]].',
 230+ 'wikihiero-syntax' => 'Ereadur',
 231+ 'wikihiero-eol' => 'Dibenn al linenn',
 232+ 'wikihiero-separator' => 'Dispartier',
 233+ 'wikihiero-superposition' => 'Isrann',
 234+ 'wikihiero-juxtaposition' => 'Kenstok',
216235 'wikihiero-category-A' => 'A: Мъжът и дейностите му',
217236 'wikihiero-category-B' => 'B: Жената и дейностите й',
218237 'wikihiero-category-C' => 'C: Антропоморфни божества',
@@ -239,6 +258,11 @@
240259 */
241260 $messages['ca'] = array(
242261 'wikihiero-desc' => "Afegeix l'etiqueta <code>&lt;hiero&gt;</code> per a visualitzar [[Special:Hieroglyphs|jeroglífics]]",
 262+ 'wikihiero-syntax' => 'Sintaxi',
 263+ 'wikihiero-eol' => 'Fi de línia',
 264+ 'wikihiero-separator' => 'Separador',
 265+ 'wikihiero-superposition' => 'Subdivisió',
 266+ 'wikihiero-juxtaposition' => 'Juxtaposició',
243267 'wikihiero-category-A' => 'A: L\'home i les seves ocupacions',
244268 'wikihiero-category-B' => 'B: La dona i les seves ocupacions',
245269 'wikihiero-category-C' => 'C: Deitats antropomòrfiques',
@@ -259,6 +283,11 @@
260284 */
261285 $messages['cs'] = array(
262286 'wikihiero-desc' => 'Přidává značku <code>&lt;hiero&gt;</code> pro zobrazování [[Special:Hieroglyphs|hieroglyfů]]',
 287+ 'wikihiero-syntax' => 'Syntaxe',
 288+ 'wikihiero-eol' => 'Konec řádka',
 289+ 'wikihiero-separator' => 'Oddělovač',
 290+ 'wikihiero-superposition' => 'Podrozdělení',
 291+ 'wikihiero-juxtaposition' => 'Juxtapozice',
263292 'wikihiero-category-A' => 'A: Muž a jeho práce',
264293 'wikihiero-category-B' => 'B: Žena a její práce',
265294 'wikihiero-category-C' => 'C: Antropomorfní božstva',
@@ -328,6 +357,11 @@
329358 'wikihiero-input' => 'Eingabetext',
330359 'wikihiero-result' => 'Ergebnis',
331360 'wikihiero-load-error' => 'Ladefehler!',
 361+ 'wikihiero-syntax' => 'Syntax',
 362+ 'wikihiero-eol' => 'Ende der Zeile',
 363+ 'wikihiero-separator' => 'Trennzeichen',
 364+ 'wikihiero-superposition' => 'Untereinanderstellung',
 365+ 'wikihiero-juxtaposition' => 'Nebeneinanderstellung',
332366 'wikihiero-category-A' => 'A: Männer und ihre Beschäftigungen',
333367 'wikihiero-category-B' => 'B: Frauen und ihre Beschäftigungen',
334368 'wikihiero-category-C' => 'C: Menschenähnliche Gottheiten',
@@ -392,6 +426,11 @@
393427 'wikihiero-input' => 'Enmetu tekston',
394428 'wikihiero-result' => 'Rezulto',
395429 'wikihiero-load-error' => 'Eraro de ŝarĝado!',
 430+ 'wikihiero-syntax' => 'Sintakso',
 431+ 'wikihiero-eol' => 'Linifino',
 432+ 'wikihiero-separator' => 'Disigilo',
 433+ 'wikihiero-superposition' => 'Subdivido',
 434+ 'wikihiero-juxtaposition' => 'Apudmeto',
396435 'wikihiero-category-A' => 'A: Viro kaj siaj okupoj',
397436 'wikihiero-category-B' => 'B: Virino kaj siaj okupoj',
398437 'wikihiero-category-C' => 'C: Homformaj diuloj',
@@ -425,6 +464,11 @@
426465 */
427466 $messages['es'] = array(
428467 'wikihiero-desc' => 'Añade elemento <code>&lt;hiero&gt;</code> para mostrar un [[Special:Hieroglyphs|jeroglífico]]',
 468+ 'wikihiero-syntax' => 'Sintaxis',
 469+ 'wikihiero-eol' => 'Fin de línea',
 470+ 'wikihiero-separator' => 'Separador',
 471+ 'wikihiero-superposition' => 'Dispårtaedje',
 472+ 'wikihiero-juxtaposition' => 'Yuxtaposición',
429473 'wikihiero-category-A' => 'A: El hombre y sus oficios',
430474 'wikihiero-category-B' => 'B: La mujer y sus oficios',
431475 'wikihiero-category-C' => 'C: Dioses antropomórficos',
@@ -514,6 +558,11 @@
515559 'wikihiero-input' => 'Texte entré',
516560 'wikihiero-result' => 'Résultat',
517561 'wikihiero-load-error' => 'Erreur de chargement!',
 562+ 'wikihiero-syntax' => 'Syntaxe',
 563+ 'wikihiero-eol' => 'Fin de ligne',
 564+ 'wikihiero-separator' => 'Separateur',
 565+ 'wikihiero-superposition' => 'Subdivision',
 566+ 'wikihiero-juxtaposition' => 'Juxtaposition',
518567 'wikihiero-category-A' => 'A: Hommes et leurs occupations',
519568 'wikihiero-category-B' => 'B: Femmes et leurs occupations',
520569 'wikihiero-category-C' => 'C: Divinités',
@@ -716,6 +765,11 @@
717766 */
718767 $messages['ia'] = array(
719768 'wikihiero-desc' => 'Adde le etiquetta <code>&lt;hiero&gt;</code> pro inserer [[Special:Hieroglyphs|hieroglyphos]]',
 769+ 'wikihiero-syntax' => 'Syntaxe',
 770+ 'wikihiero-eol' => 'Fin de linea',
 771+ 'wikihiero-separator' => 'Separator',
 772+ 'wikihiero-superposition' => 'Subdivision',
 773+ 'wikihiero-juxtaposition' => 'Juxtaposition',
720774 );
721775
722776 /** Indonesian (Bahasa Indonesia)
@@ -754,6 +808,10 @@
755809 'wikihiero-input' => 'Inserisci il testo',
756810 'wikihiero-result' => 'Risultato',
757811 'wikihiero-load-error' => 'Errore di caricamento!',
 812+ 'wikihiero-syntax' => 'Sintassi',
 813+ 'wikihiero-eol' => 'Fine riga',
 814+ 'wikihiero-separator' => 'Separatore',
 815+ 'wikihiero-superposition' => 'Suddivisione',
758816 'wikihiero-category-A' => "A: L'uomo e le sue occupazioni",
759817 'wikihiero-category-B' => 'B: La donna e le sue occupazioni',
760818 'wikihiero-category-C' => 'C: Divinità antropomorfe',
@@ -825,6 +883,11 @@
826884 );
827885
828886 $messages['kk'] = array(
 887+ 'wikihiero-syntax' => 'Синтаксис',
 888+ 'wikihiero-eol' => 'Жол аяғы',
 889+ 'wikihiero-separator' => 'Айырғыш',
 890+ 'wikihiero-superposition' => 'Төменгі бөлім',
 891+ 'wikihiero-juxtaposition' => 'Тығыз жақындату',
829892 'wikihiero-category-A' => 'A: Ер адам және оның шұғылдануы',
830893 'wikihiero-category-B' => 'B: Әйел адам және оның шұғылдануы',
831894 'wikihiero-category-C' => 'C: Адам пішімді құдіреттер',
@@ -862,6 +925,11 @@
863926 );
864927
865928 $messages['la'] = array(
 929+ 'wikihiero-syntax' => 'Syntaxis',
 930+ 'wikihiero-eol' => 'Finis versus',
 931+ 'wikihiero-separator' => 'Separator',
 932+ 'wikihiero-superposition' => 'Subdivisio',
 933+ 'wikihiero-juxtaposition' => 'Iuxtapositio',
866934 'wikihiero-category-A' => 'A: Vir et negotia sua',
867935 'wikihiero-category-B' => 'B: Femina et negotia sua',
868936 'wikihiero-category-C' => 'C: Numina humanus aspectus',
@@ -1036,6 +1104,11 @@
10371105 'wikihiero-input' => 'Invoertekst',
10381106 'wikihiero-result' => 'Resultaat',
10391107 'wikihiero-load-error' => 'Fout bij het laden!',
 1108+ 'wikihiero-syntax' => 'Syntax',
 1109+ 'wikihiero-eol' => 'Einde van regel',
 1110+ 'wikihiero-separator' => 'Scheidingsteken',
 1111+ 'wikihiero-superposition' => 'Onderverdeling',
 1112+ 'wikihiero-juxtaposition' => 'Nevenschikking',
10401113 'wikihiero-category-A' => 'A: De man en zijn bezigheden',
10411114 'wikihiero-category-B' => 'B: De vrouw en haar bezigheden',
10421115 'wikihiero-category-C' => 'C: Anthropomorfe Goden',
@@ -1188,6 +1261,11 @@
11891262 'wikihiero-input' => 'Texto de entrada',
11901263 'wikihiero-result' => 'Resultado',
11911264 'wikihiero-load-error' => 'Erro de carga!',
 1265+ 'wikihiero-syntax' => 'Sintaxe',
 1266+ 'wikihiero-eol' => 'Fim de linha',
 1267+ 'wikihiero-separator' => 'Separador',
 1268+ 'wikihiero-superposition' => 'Subdivisão',
 1269+ 'wikihiero-juxtaposition' => 'Justaposição',
11921270 'wikihiero-category-A' => 'A: O homem e suas ocupações',
11931271 'wikihiero-category-B' => 'B: A mulher e suas ocupações',
11941272 'wikihiero-category-C' => 'C: Divindades antropomorfas',
@@ -1349,6 +1427,11 @@
13501428 'wikihiero-input' => 'Входной текст:',
13511429 'wikihiero-result' => 'Результат',
13521430 'wikihiero-load-error' => 'Ошибка загрузки!',
 1431+ 'wikihiero-syntax' => 'Синтаксис',
 1432+ 'wikihiero-eol' => 'Перевод строки',
 1433+ 'wikihiero-separator' => 'Разделитель',
 1434+ 'wikihiero-superposition' => 'Вертикальная группировка',
 1435+ 'wikihiero-juxtaposition' => 'Горизонтальная группировка',
13531436 'wikihiero-category-A' => 'A: Мужчина и его занятия',
13541437 'wikihiero-category-B' => 'B: Женщина и её занятия',
13551438 'wikihiero-category-C' => 'C: Антропоморфные боги',
@@ -1415,6 +1498,11 @@
14161499 */
14171500 $messages['sk'] = array(
14181501 'wikihiero-desc' => 'Pridáva značku <code>&lt;hiero&gt;</code> na zobrazovanie [[Special:Hieroglyphs|hieroglyfov]]',
 1502+ 'wikihiero-syntax' => 'Syntax',
 1503+ 'wikihiero-eol' => 'Koniec riadka',
 1504+ 'wikihiero-separator' => 'Oddeľovač',
 1505+ 'wikihiero-superposition' => 'Podrozdelenie',
 1506+ 'wikihiero-juxtaposition' => 'Juxtapozícia',
14191507 'wikihiero-category-A' => 'A: Muž a jeho práce',
14201508 'wikihiero-category-B' => 'B: Žena a jej práce',
14211509 'wikihiero-category-C' => 'C: Antropomorfné božstvá',
@@ -1488,6 +1576,11 @@
14891577 */
14901578 $messages['sr-ec'] = array(
14911579 'wikihiero-desc' => 'Додаје <code>&lt;hiero&gt;</code> ознаку за приказ [[Special:Hieroglyphs|хијероглифа]].',
 1580+ 'wikihiero-syntax' => 'Синтакса',
 1581+ 'wikihiero-eol' => 'Крај реда',
 1582+ 'wikihiero-separator' => 'Раздвајач',
 1583+ 'wikihiero-superposition' => 'Преметање',
 1584+ 'wikihiero-juxtaposition' => 'Прирашћивање',
14921585 'wikihiero-category-A' => 'A: Мушкарац и његова занимања',
14931586 'wikihiero-category-B' => 'B: Жена и њена занимања',
14941587 'wikihiero-category-C' => 'C: Човеколика божанства',
@@ -1534,6 +1627,11 @@
15351628 'wikihiero-input' => 'Inmatningstext',
15361629 'wikihiero-result' => 'Resultat',
15371630 'wikihiero-load-error' => 'Inläsningsfel!',
 1631+ 'wikihiero-syntax' => 'Syntax',
 1632+ 'wikihiero-eol' => 'Radbrytning',
 1633+ 'wikihiero-separator' => 'Separator',
 1634+ 'wikihiero-superposition' => 'Underavdelning',
 1635+ 'wikihiero-juxtaposition' => 'Juxaposition (stående förbindelse)',
15381636 'wikihiero-category-A' => 'A: Mannen och hans sysslor',
15391637 'wikihiero-category-B' => 'B: Kvinnan och hennes sysslor',
15401638 'wikihiero-category-C' => 'C: Gudomligheter',
@@ -1714,6 +1812,9 @@
17151813 );
17161814
17171815 $messages['wa'] = array(
 1816+ 'wikihiero-syntax' => 'Sintacse',
 1817+ 'wikihiero-eol' => 'Fén d\' roye',
 1818+ 'wikihiero-separator' => 'Separateur',
17181819 'wikihiero-category-A' => 'A: L\' ome et ses fijhaedjes',
17191820 'wikihiero-category-B' => 'B: Li feme et ses fijhaedjes',
17201821 'wikihiero-category-C' => 'C: Dius',

Status & tagging log