Index: trunk/extensions/RefreshSpecial/RefreshSpecial.body.php |
— | — | @@ -24,9 +24,16 @@ |
25 | 25 | */ |
26 | 26 | public function execute( $par ) { |
27 | 27 | global $wgOut, $wgUser, $wgRequest; |
| 28 | + |
28 | 29 | wfLoadExtensionMessages('RefreshSpecial'); |
29 | 30 | |
30 | 31 | $wgOut->setPageTitle( wfMsg('refreshspecial-title') ); |
| 32 | + |
| 33 | + if( !$wgUser->isAllowed('refreshspecial') ) { |
| 34 | + $wgOut->permissionRequired( 'refreshspecial' ); |
| 35 | + return; |
| 36 | + } |
| 37 | + |
31 | 38 | $cSF = new RefreshSpecialForm(); |
32 | 39 | |
33 | 40 | $action = $wgRequest->getVal( 'action' ); |
— | — | @@ -57,7 +64,7 @@ |
58 | 65 | */ |
59 | 66 | function showForm( $err ) { |
60 | 67 | global $wgOut, $wgUser, $wgRequest, $wgQueryPages; |
61 | | - |
| 68 | + |
62 | 69 | $token = htmlspecialchars( $wgUser->editToken() ); |
63 | 70 | $titleObj = SpecialPage::getTitleFor( 'RefreshSpecial' ); |
64 | 71 | $action = $titleObj->escapeLocalURL( "action=submit" ); |
— | — | @@ -76,7 +83,7 @@ |
77 | 84 | /** |
78 | 85 | * List pages right here |
79 | 86 | * |
80 | | - * @todo Display a time estimate or a raw factor |
| 87 | + * @todo Display a time estimate or a raw factor |
81 | 88 | * I guess it's not that important, since we have a 1000 rows limit on refresh? |
82 | 89 | * that brings up an interesting question - do we need that limit or not? |
83 | 90 | */ |
— | — | @@ -99,14 +106,14 @@ |
100 | 107 | $wgOut->addHTML("<li> |
101 | 108 | <input type=\"checkbox\" name=\"wpSpecial[]\" value=\"$special\" $checked /> |
102 | 109 | <b>$special</b> |
103 | | - </li>"); |
| 110 | + </li>"); |
104 | 111 | } |
105 | 112 | } |
106 | 113 | |
107 | 114 | $wgOut->addHTML("<li> |
108 | | - <input type=\"checkbox\" name=\"check_all\" id=\"refreshSpecialCheckAll\" onclick=\"refreshSpecialCheck(this.form);\" /><label for=\"refreshSpecialCheckAll\">".wfMsg ('refreshspecial-select-all-pages') ." |
109 | | - <noscript>".wfMsg ('refreshspecial-js-disabled')." |
110 | | - </noscript>"); |
| 115 | + <input type=\"checkbox\" name=\"check_all\" id=\"refreshSpecialCheckAll\" onclick=\"refreshSpecialCheck(this.form);\" /><label for=\"refreshSpecialCheckAll\"> " . wfMsg ( 'refreshspecial-select-all-pages' ) . " |
| 116 | + <noscript>" . wfMsg ( 'refreshspecial-js-disabled' ) . " |
| 117 | + </noscript>" ); |
111 | 118 | $wgOut->addHTML("</label> |
112 | 119 | </li> |
113 | 120 | <script type=\"text/javascript\"> |
— | — | @@ -128,7 +135,7 @@ |
129 | 136 | /** |
130 | 137 | * Take amount of elapsed time, produce hours (hopefully never needed...), minutes, seconds |
131 | 138 | * |
132 | | - * @param $amount int |
| 139 | + * @param $amount int |
133 | 140 | * @return array Amount of elapsed time |
134 | 141 | */ |
135 | 142 | function compute_time($amount) { |
— | — | @@ -193,44 +200,47 @@ |
194 | 201 | if( !( isset( $options['only'] ) ) or ( $options['only'] == $queryPage->getName() ) ) { |
195 | 202 | $wgOut->addHTML("<b>$special</b>: "); |
196 | 203 | |
197 | | - if ( $queryPage->isExpensive() ) { |
198 | | - $t1 = explode( ' ', microtime() ); |
199 | | - # Do the query |
200 | | - $num = $queryPage->recache( $limit === null ? REFRESHSPECIAL_ROW_LIMIT : $limit ); |
201 | | - $t2 = explode( ' ', microtime() ); |
| 204 | + if ( $queryPage->isExpensive() ) { |
| 205 | + $t1 = explode( ' ', microtime() ); |
| 206 | + # Do the query |
| 207 | + $num = $queryPage->recache( $limit === null ? REFRESHSPECIAL_ROW_LIMIT : $limit ); |
| 208 | + $t2 = explode( ' ', microtime() ); |
202 | 209 | |
203 | | - if ( $num === false ) { |
204 | | - $wgOut->addHTML( wfMsg('refreshspecial-db-error') . "<br />" ); |
205 | | - } else { |
206 | | - $message = "got $num rows in "; |
207 | | - $elapsed = ($t2[0] - $t1[0]) + ($t2[1] - $t1[1]); |
208 | | - $total['elapsed'] += $elapsed; |
209 | | - $total['rows'] += $num; |
210 | | - $total['pages']++; |
211 | | - $ftime = $this->compute_time($elapsed); |
212 | | - $this->format_time_message($ftime, $message); |
213 | | - $wgOut->addHTML("$message<br />"); |
214 | | - } |
| 210 | + if ( $num === false ) { |
| 211 | + $wgOut->addHTML( wfMsg('refreshspecial-db-error') . "<br />" ); |
| 212 | + } else { |
| 213 | + $message = wfMsgExt( 'refreshspecial-page-result', array( 'escape', 'parsemag' ), $num ) . " "; |
| 214 | + $elapsed = ($t2[0] - $t1[0]) + ($t2[1] - $t1[1]); |
| 215 | + $total['elapsed'] += $elapsed; |
| 216 | + $total['rows'] += $num; |
| 217 | + $total['pages']++; |
| 218 | + $ftime = $this->compute_time($elapsed); |
| 219 | + $this->format_time_message($ftime, $message); |
| 220 | + $wgOut->addHTML("$message<br />"); |
| 221 | + } |
| 222 | + |
215 | 223 | $t1 = explode( ' ', microtime() ); |
216 | | - # Reopen any connections that have closed |
217 | | - if ( !wfGetLB()->pingAll() ) { |
218 | | - $wgOut->addHTML("<br />"); |
219 | | - do { |
220 | | - $wgOut->addHTML( wfMsg('refreshspecial-reconnecting') ."<br />" ); |
221 | | - sleep(REFRESHSPECIAL_RECONNECTION_SLEEP); |
222 | | - } while ( !wfGetLB()->pingAll() ); |
223 | | - $wgOut->addHTML( wfMsg('refreshspecial-reconnected') . "<br /><br />" ); |
224 | | - } else { |
225 | | - # Commit the results |
226 | | - $dbw->commit(); |
227 | | - } |
228 | 224 | |
229 | | - # Wait for the slave to catch up |
230 | | - $slaveDB = wfGetDB( DB_SLAVE, array( 'QueryPage::recache', 'vslow' ) ); |
231 | | - while( $slaveDB->getLag() > REFRESHSPECIAL_SLAVE_LAG_LIMIT ) { |
232 | | - $wgOut->addHTML( wfMsg('refreshspecial-slave-lagged') ."<br />" ); |
233 | | - sleep(REFRESHSPECIAL_SLAVE_LAG_SLEEP); |
234 | | - } |
| 225 | + # Reopen any connections that have closed |
| 226 | + if ( !wfGetLB()->pingAll() ) { |
| 227 | + $wgOut->addHTML("<br />"); |
| 228 | + do { |
| 229 | + $wgOut->addHTML( wfMsg('refreshspecial-reconnecting') ."<br />" ); |
| 230 | + sleep(REFRESHSPECIAL_RECONNECTION_SLEEP); |
| 231 | + } while ( !wfGetLB()->pingAll() ); |
| 232 | + $wgOut->addHTML( wfMsg('refreshspecial-reconnected') . "<br /><br />" ); |
| 233 | + } else { |
| 234 | + # Commit the results |
| 235 | + $dbw->commit(); |
| 236 | + } |
| 237 | + |
| 238 | + # Wait for the slave to catch up |
| 239 | + $slaveDB = wfGetDB( DB_SLAVE, array( 'QueryPage::recache', 'vslow' ) ); |
| 240 | + while( $slaveDB->getLag() > REFRESHSPECIAL_SLAVE_LAG_LIMIT ) { |
| 241 | + $wgOut->addHTML( wfMsg('refreshspecial-slave-lagged') ."<br />" ); |
| 242 | + sleep(REFRESHSPECIAL_SLAVE_LAG_SLEEP); |
| 243 | + } |
| 244 | + |
235 | 245 | $t2 = explode( ' ', microtime() ); |
236 | 246 | $elapsed_total = ($t2[0] - $t1[0]) + ($t2[1] - $t1[1]); |
237 | 247 | $total['total_elapsed'] += $elapsed + $elapsed_total; |
— | — | @@ -244,7 +254,7 @@ |
245 | 255 | $total_elapsed_message = ''; |
246 | 256 | $this->format_time_message( $this->compute_time($total['elapsed']), $elapsed_message ); |
247 | 257 | $this->format_time_message( $this->compute_time($total['total_elapsed']), $total_elapsed_message ); |
248 | | - $wgOut->addHTML( wfMsg('refreshspecial-total-display', $total['pages'], $total['rows'], $elapsed_message, $total_elapsed_message) ); |
| 258 | + $wgOut->addHTML( "<br />" . wfMsgExt('refreshspecial-total-display', array( 'escape', 'parsemag' ), $total['pages'], $total['rows'], $elapsed_message, $total_elapsed_message) ); |
249 | 259 | $wgOut->addHTML("</ul></form>"); |
250 | 260 | } |
251 | 261 | |
— | — | @@ -276,4 +286,4 @@ |
277 | 287 | $link_back = $sk->makeKnownLinkObj( $titleObj, wfMsg('refreshspecial-link-back') ); |
278 | 288 | $wgOut->addHTML("<br /><b>" . $link_back . "</b>"); |
279 | 289 | } |
280 | | -} |
\ No newline at end of file |
| 290 | +} |
Index: trunk/extensions/RefreshSpecial/RefreshSpecial.i18n.php |
— | — | @@ -15,7 +15,9 @@ |
16 | 16 | 'refreshspecial' => 'Refresh special pages', |
17 | 17 | 'refreshspecial-desc' => 'Allows [[Special:RefreshSpecial|manual special page refresh]] of special pages', |
18 | 18 | 'refreshspecial-title' => 'Refresh special pages', |
19 | | - 'refreshspecial-help' => 'This special page provides means to manually refresh special pages. When you have chosen all pages that you want to refresh, click on the Refresh button below to make it go. Warning: the refresh may take a while on larger wikis.', |
| 19 | + 'refreshspecial-help' => 'This special page provides means to manually refresh special pages. |
| 20 | +When you have chosen all pages that you want to refresh, click on the "Refresh selected" button below to refresh the selected special pages. |
| 21 | +Warning: the refresh may take a while on larger wikis.', |
20 | 22 | 'refreshspecial-button' => 'Refresh selected', |
21 | 23 | 'refreshspecial-fail' => 'Please check at least one special page to refresh.', |
22 | 24 | 'refreshspecial-refreshing' => 'refreshing special pages', |
— | — | @@ -23,7 +25,7 @@ |
24 | 26 | 'refreshspecial-success-subtitle' => 'refreshing special pages', |
25 | 27 | 'refreshspecial-choice' => 'refreshing special pages', |
26 | 28 | 'refreshspecial-js-disabled' => '(<i>You cannot select all pages when JavaScript is disabled</i>)', |
27 | | - 'refreshspecial-select-all-pages' => ' select all pages ', |
| 29 | + 'refreshspecial-select-all-pages' => 'Select all pages', |
28 | 30 | 'refreshspecial-link-back' => 'Go back to special page', |
29 | 31 | 'refreshspecial-none-selected' => 'You have not selected any special pages. Reverting to default selection.', |
30 | 32 | 'refreshspecial-db-error' => 'Failed: database error', |
— | — | @@ -31,7 +33,9 @@ |
32 | 34 | 'refreshspecial-slave-lagged' => 'Slave lagged, waiting...', |
33 | 35 | 'refreshspecial-reconnected' => 'Reconnected.', |
34 | 36 | 'refreshspecial-reconnecting' => 'Connection failed, reconnecting in 10 seconds...', |
35 | | - 'refreshspecial-total-display' => '<br />Refreshed $1 pages totaling $2 rows in time $3 (complete time of the script run is $4)', |
| 37 | + 'refreshspecial-page-result' => 'got $1 {{PLURAL:$1|row|rows}} in', |
| 38 | + 'refreshspecial-total-display' => 'Refreshed $1 {{PLURAL:$1|page|pages}} totaling $2 {{PLURAL:$2|row|rows}} in time $3 (complete time of the script run is $4)', |
| 39 | + 'right-refreshspecial' => 'Refresh special pages', |
36 | 40 | ); |
37 | 41 | |
38 | 42 | /** Arabic (العربية) |
— | — | @@ -49,7 +53,7 @@ |
50 | 54 | 'refreshspecial-success-subtitle' => 'جاري تحديث الصفحات الخاصة', |
51 | 55 | 'refreshspecial-choice' => 'تحديث الصفحات الخاصة', |
52 | 56 | 'refreshspecial-js-disabled' => '(<i>أنت لا يمكنك اختيار كل الصفحات عندما تكون الجافاسكريبت معطلة</i>)', |
53 | | - 'refreshspecial-select-all-pages' => ' اختر كل الصفحات', |
| 57 | + 'refreshspecial-select-all-pages' => ' اختر كل الصفحات', |
54 | 58 | 'refreshspecial-link-back' => 'رجوع إلى الامتداد', |
55 | 59 | 'refreshspecial-here' => '<b>هنا</b>', |
56 | 60 | 'refreshspecial-none-selected' => 'أنت لم تختر أي صفحة خاصة. استرجاع إلى الاختيار الافتراضي.', |
— | — | @@ -58,7 +62,7 @@ |
59 | 63 | 'refreshspecial-slave-lagged' => 'الخادم التابع تأخر، جاري الانتظار...', |
60 | 64 | 'refreshspecial-reconnected' => 'تمت إعادة التوصيل.', |
61 | 65 | 'refreshspecial-reconnecting' => 'التوصيل فشل، إعادة التوصيل خلال 10 ثواني...', |
62 | | - 'refreshspecial-total-display' => '<br />حدث $1 صفحة بإجمالي $2 صف في وقت $3 (الزمن الإجمالي لعمل السكريبت هو $4)', |
| 66 | + 'refreshspecial-total-display' => 'حدث $1 صفحة بإجمالي $2 صف في وقت $3 (الزمن الإجمالي لعمل السكريبت هو $4)', |
63 | 67 | ); |
64 | 68 | |
65 | 69 | /** Egyptian Spoken Arabic (مصرى) |
— | — | @@ -76,7 +80,7 @@ |
77 | 81 | 'refreshspecial-success-subtitle' => 'جارى تحديث الصفحات الخاصة', |
78 | 82 | 'refreshspecial-choice' => 'تحديث الصفحات الخاصة', |
79 | 83 | 'refreshspecial-js-disabled' => '(<i>أنت لا يمكنك اختيار كل الصفحات عندما تكون الجافاسكريبت معطلة</i>)', |
80 | | - 'refreshspecial-select-all-pages' => ' اختر كل الصفحات', |
| 84 | + 'refreshspecial-select-all-pages' => ' اختر كل الصفحات', |
81 | 85 | 'refreshspecial-link-back' => 'رجوع إلى الامتداد', |
82 | 86 | 'refreshspecial-here' => '<b>هنا</b>', |
83 | 87 | 'refreshspecial-none-selected' => 'أنت لم تختر أى صفحة خاصة. استرجاع إلى الاختيار الافتراضي.', |
— | — | @@ -85,14 +89,14 @@ |
86 | 90 | 'refreshspecial-slave-lagged' => 'الخادم التابع تأخر، جارى الانتظار...', |
87 | 91 | 'refreshspecial-reconnected' => 'تمت إعادة التوصيل.', |
88 | 92 | 'refreshspecial-reconnecting' => 'التوصيل فشل، إعادة التوصيل خلال 10 ثواني...', |
89 | | - 'refreshspecial-total-display' => '<br />حدث $1 صفحة بإجمالى $2 صف فى وقت $3 (الزمن الإجمالى لعمل السكريبت هو $4)', |
| 93 | + 'refreshspecial-total-display' => 'حدث $1 صفحة بإجمالى $2 صف فى وقت $3 (الزمن الإجمالى لعمل السكريبت هو $4)', |
90 | 94 | ); |
91 | 95 | |
92 | 96 | /** Bulgarian (Български) |
93 | 97 | * @author DCLXVI |
94 | 98 | */ |
95 | 99 | $messages['bg'] = array( |
96 | | - 'refreshspecial-select-all-pages' => ' избиране на всички страници', |
| 100 | + 'refreshspecial-select-all-pages' => ' избиране на всички страници', |
97 | 101 | 'refreshspecial-here' => '<b>тук</b>', |
98 | 102 | 'refreshspecial-no-page' => 'Няма такава специална страница', |
99 | 103 | ); |
— | — | @@ -112,7 +116,7 @@ |
113 | 117 | 'refreshspecial-success-subtitle' => 'obnovují se speciální stránky', |
114 | 118 | 'refreshspecial-choice' => 'obnovují se speciální stránky', |
115 | 119 | 'refreshspecial-js-disabled' => '(<i>Není možné použít funkci výběru všech stránek, pokud máte vypnutý JavaScript</i>)', |
116 | | - 'refreshspecial-select-all-pages' => ' vybrat všechny stránky', |
| 120 | + 'refreshspecial-select-all-pages' => ' vybrat všechny stránky', |
117 | 121 | 'refreshspecial-link-back' => 'Zpět na rozšíření', |
118 | 122 | 'refreshspecial-here' => '<b>zde</b>', |
119 | 123 | 'refreshspecial-none-selected' => 'Nevybrali jste žádné speciální stránky. Vrací se původní výběr.', |
— | — | @@ -121,7 +125,7 @@ |
122 | 126 | 'refreshspecial-slave-lagged' => 'Spojení s databázovým slave je pomalé, čeká se…', |
123 | 127 | 'refreshspecial-reconnected' => 'Znovu připojený.', |
124 | 128 | 'refreshspecial-reconnecting' => 'Spojení selhalo, opětovné připojení za 10 sekund…', |
125 | | - 'refreshspecial-total-display' => '<br />{{PLURAL:$1|Obnovena $1 stránka|Obnoveny $1 stránky|Obnoveno $1 stránek}}, což činí $2 {{PLURAL:$2|řádek|řádky|řádků}} za čas $3 (celkový čas běhu skriptu je $4)', |
| 129 | + 'refreshspecial-total-display' => '{{PLURAL:$1|Obnovena $1 stránka|Obnoveny $1 stránky|Obnoveno $1 stránek}}, což činí $2 {{PLURAL:$2|řádek|řádky|řádků}} za čas $3 (celkový čas běhu skriptu je $4)', |
126 | 130 | ); |
127 | 131 | |
128 | 132 | /** German (Deutsch) |
— | — | @@ -141,7 +145,7 @@ |
142 | 146 | 'refreshspecial-success-subtitle' => 'aktualisiere Spezialseiten', |
143 | 147 | 'refreshspecial-choice' => 'aktualisiere Spezialseiten', |
144 | 148 | 'refreshspecial-js-disabled' => '(<i>Du kannst nicht alle Seiten auswählen, wenn du Javascript deaktiviert hast</i>)', |
145 | | - 'refreshspecial-select-all-pages' => ' alle Seiten auswählen', |
| 149 | + 'refreshspecial-select-all-pages' => ' alle Seiten auswählen', |
146 | 150 | 'refreshspecial-link-back' => 'Zurück zur Erweiterung', |
147 | 151 | 'refreshspecial-here' => '<b>hier</b>', |
148 | 152 | 'refreshspecial-none-selected' => 'Du hast keine Spezialseiten ausgewählt; somit Zurücksetzung auf die Standardauswahl.', |
— | — | @@ -150,7 +154,7 @@ |
151 | 155 | 'refreshspecial-slave-lagged' => 'Slave-Server hängt hinterher, warten...', |
152 | 156 | 'refreshspecial-reconnected' => 'Wiederverbunden.', |
153 | 157 | 'refreshspecial-reconnecting' => 'Verbindung fehlgeschlagen, wiederverbinde in 10 Sekunden …', |
154 | | - 'refreshspecial-total-display' => '<br />Aktualisierte $1 Seiten, insgesamt $2 Zeilen in einer Zeit von $3 (Gesamtlaufzeit des Skripts: $4)', |
| 158 | + 'refreshspecial-total-display' => 'Aktualisierte $1 Seiten, insgesamt $2 Zeilen in einer Zeit von $3 (Gesamtlaufzeit des Skripts: $4)', |
155 | 159 | ); |
156 | 160 | |
157 | 161 | /** German (formal address) (Deutsch (Sie-Form)) |
— | — | @@ -165,7 +169,7 @@ |
166 | 170 | * @author Yekrats |
167 | 171 | */ |
168 | 172 | $messages['eo'] = array( |
169 | | - 'refreshspecial-select-all-pages' => ' selekti ĉiujn paĝojn', |
| 173 | + 'refreshspecial-select-all-pages' => 'selekti ĉiujn paĝojn', |
170 | 174 | 'refreshspecial-here' => '<b>ĉi tie</b>', |
171 | 175 | ); |
172 | 176 | |
— | — | @@ -192,7 +196,7 @@ |
193 | 197 | 'refreshspecial-success-subtitle' => 'päivitetään toimintosivuja', |
194 | 198 | 'refreshspecial-choice' => 'päivitetään toimintosivuja', |
195 | 199 | 'refreshspecial-js-disabled' => '(<i>Et voi valita kaikkia sivuja kun JavaScript on pois käytöstä</i>)', |
196 | | - 'refreshspecial-select-all-pages' => ' valitse kaikki sivut', |
| 200 | + 'refreshspecial-select-all-pages' => 'valitse kaikki sivut', |
197 | 201 | 'refreshspecial-link-back' => 'Palaa lisäosaan', |
198 | 202 | 'refreshspecial-here' => '<b>täällä</b>', |
199 | 203 | 'refreshspecial-none-selected' => 'Et ole valinnut yhtään toimintosivua. Palataan oletusasetuksiin.', |
— | — | @@ -201,7 +205,7 @@ |
202 | 206 | 'refreshspecial-slave-lagged' => 'Renki jää jälkeen, odotellaan...', |
203 | 207 | 'refreshspecial-reconnected' => 'Yhdistetty uudelleen.', |
204 | 208 | 'refreshspecial-reconnecting' => 'Yhteys epäonnistui, yritetään uudelleen 10 sekunnin kuluttua...', |
205 | | - 'refreshspecial-total-display' => '<br />Päivitettiin $1 sivua; yhteensä $2 riviä ajassa $3 (yhteensä skriptin suorittamiseen meni aikaa $4)', |
| 209 | + 'refreshspecial-total-display' => 'Päivitettiin $1 sivua; yhteensä $2 riviä ajassa $3 (yhteensä skriptin suorittamiseen meni aikaa $4)', |
206 | 210 | ); |
207 | 211 | |
208 | 212 | /** French (Français) |
— | — | @@ -230,7 +234,7 @@ |
231 | 235 | 'refreshspecial-slave-lagged' => 'Travail retardé, en cours…', |
232 | 236 | 'refreshspecial-reconnected' => 'Reconnecté.', |
233 | 237 | 'refreshspecial-reconnecting' => 'Échec de la connection, reconnection dans 10 secondes…', |
234 | | - 'refreshspecial-total-display' => '<br />$1 {{PLURAL:$1|page actualisée|pages actualisées}} totalisant $2 {{PLURAL:$2|ligne|lignes}} sur une durée de $3 (la durée complète de l’action du script est de $4)', |
| 238 | + 'refreshspecial-total-display' => '$1 {{PLURAL:$1|page actualisée|pages actualisées}} totalisant $2 {{PLURAL:$2|ligne|lignes}} sur une durée de $3 (la durée complète de l’action du script est de $4)', |
235 | 239 | ); |
236 | 240 | |
237 | 241 | /** Galician (Galego) |
— | — | @@ -248,7 +252,7 @@ |
249 | 253 | 'refreshspecial-success-subtitle' => 'actualizando as páxinas especiais', |
250 | 254 | 'refreshspecial-choice' => 'actualizando as páxinas especiais', |
251 | 255 | 'refreshspecial-js-disabled' => '(<i>Non pode seleccionar todas as páxinas cando o JavaScript está deshabilitado</i>)', |
252 | | - 'refreshspecial-select-all-pages' => ' seleccionar todas as páxinas', |
| 256 | + 'refreshspecial-select-all-pages' => ' seleccionar todas as páxinas', |
253 | 257 | 'refreshspecial-link-back' => 'Voltar á extensión', |
254 | 258 | 'refreshspecial-here' => '<b>aquí</b>', |
255 | 259 | 'refreshspecial-none-selected' => 'Non seleccionou ningunha páxina especial. Revertendo á selección por defecto.', |
— | — | @@ -257,7 +261,7 @@ |
258 | 262 | 'refreshspecial-slave-lagged' => 'Intervalo de retraso, agardando...', |
259 | 263 | 'refreshspecial-reconnected' => 'Reconectado.', |
260 | 264 | 'refreshspecial-reconnecting' => 'Fallou a conexión, reconectando en 10 segundos...', |
261 | | - 'refreshspecial-total-display' => '<br />$1 páxinas refrescadas dun total de $2 liñas dunha duración de $3 (a duración completa da escritura é de $4)', |
| 265 | + 'refreshspecial-total-display' => '$1 páxinas refrescadas dun total de $2 liñas dunha duración de $3 (a duración completa da escritura é de $4)', |
262 | 266 | ); |
263 | 267 | |
264 | 268 | /** Hebrew (עברית) |
— | — | @@ -283,7 +287,7 @@ |
284 | 288 | 'refreshspecial-success-subtitle' => 'refrescamento de paginas special', |
285 | 289 | 'refreshspecial-choice' => 'refrescamento de paginas special', |
286 | 290 | 'refreshspecial-js-disabled' => '<i>(Tu non pote seliger tote le paginas si JavaScript non es active)</i>', |
287 | | - 'refreshspecial-select-all-pages' => ' seliger tote le paginas', |
| 291 | + 'refreshspecial-select-all-pages' => ' seliger tote le paginas', |
288 | 292 | 'refreshspecial-link-back' => 'Retornar al extension', |
289 | 293 | 'refreshspecial-here' => '<b>hic</b>', |
290 | 294 | 'refreshspecial-none-selected' => 'Tu non ha seligite alcun pagina special. Le selection retorna al predefinite.', |
— | — | @@ -292,7 +296,7 @@ |
293 | 297 | 'refreshspecial-slave-lagged' => 'Sclavo in retardo; attende…', |
294 | 298 | 'refreshspecial-reconnected' => 'Reconnectite.', |
295 | 299 | 'refreshspecial-reconnecting' => 'Connexion fallite, reconnexion post 10 secundas…', |
296 | | - 'refreshspecial-total-display' => '<br />Refrescava $1 paginas con un total de $2 lineas durante $3 (le durata total del execution del script es $4)', |
| 300 | + 'refreshspecial-total-display' => 'Refrescava $1 paginas con un total de $2 lineas durante $3 (le durata total del execution del script es $4)', |
297 | 301 | ); |
298 | 302 | |
299 | 303 | /** Italian (Italiano) |
— | — | @@ -317,7 +321,7 @@ |
318 | 322 | 'refreshspecial-no-page' => 'Pagina speciale inesistente', |
319 | 323 | 'refreshspecial-reconnected' => 'Riconnesso.', |
320 | 324 | 'refreshspecial-reconnecting' => 'Connessione fallita, prossimo tentativo fra 10 secondi...', |
321 | | - 'refreshspecial-total-display' => '<br />$1 pagine aggiornate per un totale di $2 linee in un tempo di $3 (il tempo totale di esecuzione dello script è di $4)', |
| 325 | + 'refreshspecial-total-display' => '$1 pagine aggiornate per un totale di $2 linee in un tempo di $3 (il tempo totale di esecuzione dello script è di $4)', |
322 | 326 | ); |
323 | 327 | |
324 | 328 | /** Khmer (ភាសាខ្មែរ) |
— | — | @@ -370,7 +374,7 @@ |
371 | 375 | 'refreshspecial-slave-lagged' => 'Aarbecht déi nach usteet, an der Maach ...', |
372 | 376 | 'refreshspecial-reconnected' => 'Nees verbonn', |
373 | 377 | 'refreshspecial-reconnecting' => "D'Verbindung koum net zustan, nei Verbindung an 10 Sekonnen ...", |
374 | | - 'refreshspecial-total-display' => "<br />$1 Säite mat am Ganzen $2 Reien an $3 (Dauer) (d'Gesamtzäit déi de Script brauch ass $4)", |
| 378 | + 'refreshspecial-total-display' => "$1 Säite mat am Ganzen $2 Reien an $3 (Dauer) (d'Gesamtzäit déi de Script brauch ass $4)", |
375 | 379 | ); |
376 | 380 | |
377 | 381 | /** Erzya (Эрзянь) |
— | — | @@ -408,7 +412,7 @@ |
409 | 413 | 'refreshspecial-reconnected' => 'Weer verbonden.', |
410 | 414 | 'refreshspecial-reconnecting' => 'Verbinding kon niet gemaakt worden. |
411 | 415 | Over 10 seconden wordt weer geprobeerd verbinding te maken...', |
412 | | - 'refreshspecial-total-display' => "<br />Er zijn $1 pagina's ververst met $2 regels in $3 tijd (totale duur van de verwerking was $4)", |
| 416 | + 'refreshspecial-total-display' => "Er zijn $1 pagina's ververst met $2 regels in $3 tijd (totale duur van de verwerking was $4)", |
413 | 417 | ); |
414 | 418 | |
415 | 419 | /** Norwegian Nynorsk (Norsk (nynorsk)) |
— | — | @@ -425,7 +429,7 @@ |
426 | 430 | 'refreshspecial-success-subtitle' => 'oppdaterer spesialsider', |
427 | 431 | 'refreshspecial-choice' => 'oppdaterer spesialsider', |
428 | 432 | 'refreshspecial-js-disabled' => '(<i>Du kan ikkje merkja alle sider om JavaScript er slege av</i>)', |
429 | | - 'refreshspecial-select-all-pages' => ' merk alle sider', |
| 433 | + 'refreshspecial-select-all-pages' => ' merk alle sider', |
430 | 434 | 'refreshspecial-link-back' => 'Gå attende til utvidinga', |
431 | 435 | 'refreshspecial-here' => '<b>her</b>', |
432 | 436 | 'refreshspecial-none-selected' => 'Du har ikkje merkt noka spesialsida. Stiller attende til standardval.', |
— | — | @@ -485,7 +489,7 @@ |
486 | 490 | 'refreshspecial-slave-lagged' => 'Trabalh retardat, en cors…', |
487 | 491 | 'refreshspecial-reconnected' => 'Reconnectat.', |
488 | 492 | 'refreshspecial-reconnecting' => 'Fracàs de la connexion, reconnexion dins 10 segondas…', |
489 | | - 'refreshspecial-total-display' => "<br />$1 {{PLURAL:$1|pagina actualizada|paginas actualizadas}} totalizant $2 {{PLURAL:$2|linha|linhas}} sus una durada de $3 (la durada completa de l’accion de l'escript es de $4)", |
| 493 | + 'refreshspecial-total-display' => "$1 {{PLURAL:$1|pagina actualizada|paginas actualizadas}} totalizant $2 {{PLURAL:$2|linha|linhas}} sus una durada de $3 (la durada completa de l’accion de l'escript es de $4)", |
490 | 494 | ); |
491 | 495 | |
492 | 496 | /** Polish (Polski) |
— | — | @@ -512,7 +516,7 @@ |
513 | 517 | 'refreshspecial-slave-lagged' => 'Servidor escravo com atraso, aguardando...', |
514 | 518 | 'refreshspecial-reconnected' => 'Reconectado.', |
515 | 519 | 'refreshspecial-reconnecting' => 'Conexão falhada, reconectando em 10 segundos...', |
516 | | - 'refreshspecial-total-display' => '<br />$1 páginas refrescadas, totalizando $2 linhas em tempo $3 (tempo total de execução do script é $4)', |
| 520 | + 'refreshspecial-total-display' => '$1 páginas refrescadas, totalizando $2 linhas em tempo $3 (tempo total de execução do script é $4)', |
517 | 521 | ); |
518 | 522 | |
519 | 523 | /** Romanian (Română) |
— | — | @@ -527,7 +531,7 @@ |
528 | 532 | * @author Ferrer |
529 | 533 | */ |
530 | 534 | $messages['ru'] = array( |
531 | | - 'refreshspecial-select-all-pages' => ' выбрать все страницы', |
| 535 | + 'refreshspecial-select-all-pages' => ' выбрать все страницы', |
532 | 536 | 'refreshspecial-here' => '<b>здесь</b>', |
533 | 537 | ); |
534 | 538 | |
— | — | @@ -546,7 +550,7 @@ |
547 | 551 | 'refreshspecial-success-subtitle' => 'obnovujú sa špeciálne stránky', |
548 | 552 | 'refreshspecial-choice' => 'obnovujú sa špeciálne stránky', |
549 | 553 | 'refreshspecial-js-disabled' => '(<i>Nie je možné použiť funkciu výberu všetkých stránok, keď máte vypnutý JavaScript.</i>)', |
550 | | - 'refreshspecial-select-all-pages' => ' vybrať všetky stránky', |
| 554 | + 'refreshspecial-select-all-pages' => ' vybrať všetky stránky', |
551 | 555 | 'refreshspecial-link-back' => 'Späť na rozšírenie', |
552 | 556 | 'refreshspecial-here' => '<b>tu</b>', |
553 | 557 | 'refreshspecial-none-selected' => 'Nevybrali ste žiadne špeciálne stránky. Vracia sa pôvodný výber.', |
— | — | @@ -555,7 +559,7 @@ |
556 | 560 | 'refreshspecial-slave-lagged' => 'Spojenie s databázovým slave je pomalé, čaká sa...', |
557 | 561 | 'refreshspecial-reconnected' => 'Znovu pripojený.', |
558 | 562 | 'refreshspecial-reconnecting' => 'Spojenie zlyhalo, opätovné pripojenie o 10 sekúnd...', |
559 | | - 'refreshspecial-total-display' => '<br />Obnovených $1 stránok, čo činí $2 riadkov za čas $3 (celkový čas behu skriptu je $4)', |
| 563 | + 'refreshspecial-total-display' => 'Obnovených $1 stránok, čo činí $2 riadkov za čas $3 (celkový čas behu skriptu je $4)', |
560 | 564 | ); |
561 | 565 | |
562 | 566 | /** Swedish (Svenska) |
— | — | @@ -568,7 +572,7 @@ |
569 | 573 | 'refreshspecial-refreshing' => 'uppdaterar specialsidor', |
570 | 574 | 'refreshspecial-success-subtitle' => 'uppdaterar specialsidor', |
571 | 575 | 'refreshspecial-choice' => 'uppdaterar specialsidor', |
572 | | - 'refreshspecial-select-all-pages' => ' välj alla sidor', |
| 576 | + 'refreshspecial-select-all-pages' => 'välj alla sidor', |
573 | 577 | 'refreshspecial-here' => '<b>här</b>', |
574 | 578 | 'refreshspecial-no-page' => 'Ingen sådan specialsida', |
575 | 579 | 'refreshspecial-reconnected' => 'Återansluten.', |
— | — | @@ -579,7 +583,7 @@ |
580 | 584 | * @author Veeven |
581 | 585 | */ |
582 | 586 | $messages['te'] = array( |
583 | | - 'refreshspecial-select-all-pages' => ' అన్ని పేజీలను ఎంచుకోండి', |
| 587 | + 'refreshspecial-select-all-pages' => 'అన్ని పేజీలను ఎంచుకోండి', |
584 | 588 | 'refreshspecial-link-back' => 'తిరిగి పొడగింతకు వెళ్ళండి', |
585 | 589 | 'refreshspecial-here' => '<b>ఇక్కడ</b>', |
586 | 590 | 'refreshspecial-db-error' => 'విఫలం: డాటాబేసు పొరపాటు', |
— | — | @@ -601,7 +605,7 @@ |
602 | 606 | 'refreshspecial-success-subtitle' => 'sinasariwa ang natatanging mga pahina', |
603 | 607 | 'refreshspecial-choice' => 'sinasariwa ang natatanging mga pahina', |
604 | 608 | 'refreshspecial-js-disabled' => '(<i>Hindi mo mapipili ang lahat ng mga pahina kapag hindi gumagana ang JavaScript</i>)', |
605 | | - 'refreshspecial-select-all-pages' => ' piliin ang lahat ng mga pahina', |
| 609 | + 'refreshspecial-select-all-pages' => ' piliin ang lahat ng mga pahina', |
606 | 610 | 'refreshspecial-link-back' => 'Magbalik sa karugtong', |
607 | 611 | 'refreshspecial-here' => '<b>dito</b>', |
608 | 612 | 'refreshspecial-none-selected' => 'Hindi ka pumili ng anumang natatanging mga pahina. Nagbabalik sa likas na nakatakdang pagpipilian.', |
— | — | @@ -610,7 +614,7 @@ |
611 | 615 | 'refreshspecial-slave-lagged' => 'Naiwan/bumagal ang alipin, naghihintay...', |
612 | 616 | 'refreshspecial-reconnected' => 'Muli nang naugnay.', |
613 | 617 | 'refreshspecial-reconnecting' => 'Nabigo ang pagkakaugnay (koneksyon), muling uugnay sa loob ng 10 segundo...', |
614 | | - 'refreshspecial-total-display' => '<br />Nasirawa ang $1 mga pahina na bumubuo sa $2 pahalang na mga hanay sa panahong $3 (buong panahon ng pagtakbo sa panitik ay $4)', |
| 618 | + 'refreshspecial-total-display' => 'Nasirawa ang $1 mga pahina na bumubuo sa $2 pahalang na mga hanay sa panahong $3 (buong panahon ng pagtakbo sa panitik ay $4)', |
615 | 619 | ); |
616 | 620 | |
617 | 621 | /** Vietnamese (Tiếng Việt) |
— | — | @@ -629,7 +633,7 @@ |
630 | 634 | 'refreshspecial-success-subtitle' => 'đang làm mới trang đặc biệt', |
631 | 635 | 'refreshspecial-choice' => 'đang làm mới trang đặc biệt', |
632 | 636 | 'refreshspecial-js-disabled' => '(<i>Bạn không thể chọn tất cả các trang trong khi JavaScript bị tắt</i>)', |
633 | | - 'refreshspecial-select-all-pages' => ' chọn tất cả các trang', |
| 637 | + 'refreshspecial-select-all-pages' => ' chọn tất cả các trang', |
634 | 638 | 'refreshspecial-link-back' => 'Quay về bộ mở rộng', |
635 | 639 | 'refreshspecial-here' => '<b>tại đây</b>', |
636 | 640 | 'refreshspecial-none-selected' => 'Bạn chưa chọn trang đặc biệt nào. Đang quay về lựa chọn mặc định.', |
— | — | @@ -638,7 +642,7 @@ |
639 | 643 | 'refreshspecial-slave-lagged' => 'Máy phụ bị trễ, đang chờ…', |
640 | 644 | 'refreshspecial-reconnected' => 'Đã kết nối lại.', |
641 | 645 | 'refreshspecial-reconnecting' => 'Kết nối thất bại, đang kết nối lại trong 10 giây nữa…', |
642 | | - 'refreshspecial-total-display' => '<br />Đã làm mới $1 trang, tổng cộng là $2 hàng trong thời gian $3 (thời gian để hoàn thành chạy mã kịch bản là $4)', |
| 646 | + 'refreshspecial-total-display' => 'Đã làm mới $1 trang, tổng cộng là $2 hàng trong thời gian $3 (thời gian để hoàn thành chạy mã kịch bản là $4)', |
643 | 647 | ); |
644 | 648 | |
645 | 649 | /** Simplified Chinese (中文(简体)) |
Index: trunk/extensions/RefreshSpecial/RefreshSpecial.php |
— | — | @@ -17,7 +17,7 @@ |
18 | 18 | $wgExtensionCredits['specialpage'][] = array( |
19 | 19 | 'name' => 'Refresh Special', |
20 | 20 | 'author' => 'Bartek Łapiński', |
21 | | - 'version' => '1.1', |
| 21 | + 'version' => '1.2', |
22 | 22 | 'url' => 'http://www.mediawiki.org/wiki/Extension:RefreshSpecial', |
23 | 23 | 'description' => 'Allows manual special page refresh of special pages', |
24 | 24 | 'descriptionmsg' => 'refreshspecial-desc', |
— | — | @@ -25,7 +25,7 @@ |
26 | 26 | |
27 | 27 | // New user right, required to use Special:RefreshSpecial |
28 | 28 | $wgAvailableRights[] = 'refreshspecial'; |
29 | | -$wgGroupPermissions['staff']['refreshspecial'] = true; |
| 29 | +$wgGroupPermissions['bureaucrat']['refreshspecial'] = true; |
30 | 30 | |
31 | 31 | // Set up the new special page |
32 | 32 | $dir = dirname(__FILE__) . '/'; |
— | — | @@ -33,6 +33,7 @@ |
34 | 34 | $wgExtensionAliasesFiles['RefreshSpecial'] = $dir . 'RefreshSpecial.alias.php'; |
35 | 35 | $wgAutoloadClasses['RefreshSpecial'] = $dir. 'RefreshSpecial.body.php'; |
36 | 36 | $wgSpecialPages['RefreshSpecial'] = 'RefreshSpecial'; |
| 37 | +$wgSpecialPageGroups['RefreshSpecial'] = 'wiki'; |
37 | 38 | |
38 | 39 | /* limits the number of refreshed rows */ |
39 | 40 | define('REFRESHSPECIAL_ROW_LIMIT', 1000); |