Index: trunk/extensions/CheckUser/CheckUser_body.php |
— | — | @@ -6,7 +6,6 @@ |
7 | 7 | } |
8 | 8 | |
9 | 9 | class CheckUser extends SpecialPage { |
10 | | - |
11 | 10 | /** |
12 | 11 | * Constructor -- set up the new special page |
13 | 12 | */ |
— | — | @@ -34,7 +33,7 @@ |
35 | 34 | wfMsgForContent( 'checkuser-log-subpage' ), |
36 | 35 | 'Log' |
37 | 36 | ); |
38 | | - |
| 37 | + |
39 | 38 | foreach ( $logMatches as $log ) { |
40 | 39 | if ( str_replace( '_', ' ', $wgContLang->lc( $subpage ) ) |
41 | 40 | == str_replace( '_ ', ' ', $wgContLang->lc( $log ) ) ) { |
— | — | @@ -344,9 +343,9 @@ |
345 | 344 | # Ordering by the latest timestamp makes a small filesort on the IP list |
346 | 345 | $cu_changes = $dbr->tableName( 'cu_changes' ); |
347 | 346 | $use_index = $dbr->useIndexClause( 'cuc_user_ip_time' ); |
348 | | - $sql = "SELECT cuc_ip,cuc_ip_hex, COUNT(*) AS count, |
349 | | - MIN(cuc_timestamp) AS first, MAX(cuc_timestamp) AS last |
350 | | - FROM $cu_changes $use_index WHERE cuc_user = $user_id AND $time_conds |
| 347 | + $sql = "SELECT cuc_ip,cuc_ip_hex, COUNT(*) AS count, |
| 348 | + MIN(cuc_timestamp) AS first, MAX(cuc_timestamp) AS last |
| 349 | + FROM $cu_changes $use_index WHERE cuc_user = $user_id AND $time_conds |
351 | 350 | GROUP BY cuc_ip,cuc_ip_hex ORDER BY last DESC LIMIT 5001"; |
352 | 351 | |
353 | 352 | $ret = $dbr->query( $sql, __METHOD__ ); |
— | — | @@ -499,9 +498,9 @@ |
500 | 499 | if ( isset( $rangecount ) && $rangecount > 5000 ) { |
501 | 500 | $use_index = $dbr->useIndexClause( $index ); |
502 | 501 | $sql = "SELECT cuc_ip_hex, COUNT(*) AS count, |
503 | | - MIN(cuc_timestamp) AS first, MAX(cuc_timestamp) AS last |
| 502 | + MIN(cuc_timestamp) AS first, MAX(cuc_timestamp) AS last |
504 | 503 | FROM $cu_changes $use_index |
505 | | - WHERE $ip_conds AND $time_conds |
| 504 | + WHERE $ip_conds AND $time_conds |
506 | 505 | GROUP BY cuc_ip_hex ORDER BY cuc_ip_hex LIMIT 5001"; |
507 | 506 | $ret = $dbr->query( $sql, __METHOD__ ); |
508 | 507 | # List out each IP that has edits |
— | — | @@ -545,7 +544,7 @@ |
546 | 545 | # OK, do the real query... |
547 | 546 | $use_index = $dbr->useIndexClause( $index ); |
548 | 547 | $sql = "SELECT cuc_namespace,cuc_title,cuc_user,cuc_user_text,cuc_comment,cuc_actiontext, |
549 | | - cuc_timestamp,cuc_minor,cuc_page_id,cuc_type,cuc_this_oldid,cuc_last_oldid,cuc_ip,cuc_xff,cuc_agent |
| 548 | + cuc_timestamp,cuc_minor,cuc_page_id,cuc_type,cuc_this_oldid,cuc_last_oldid,cuc_ip,cuc_xff,cuc_agent |
550 | 549 | FROM $cu_changes $use_index WHERE $ip_conds AND $time_conds ORDER BY cuc_timestamp DESC LIMIT 5001"; |
551 | 550 | $ret = $dbr->query( $sql, __METHOD__ ); |
552 | 551 | |
— | — | @@ -640,7 +639,7 @@ |
641 | 640 | $wgOut->addHTML( wfMsgExt( 'checkuser-limited', array( 'parse' ) ) ); |
642 | 641 | $use_index = $dbr->useIndexClause( 'cuc_user_ip_time' ); |
643 | 642 | $sql = "SELECT * FROM $cu_changes $use_index |
644 | | - WHERE $user_cond AND $time_conds |
| 643 | + WHERE $user_cond AND $time_conds |
645 | 644 | ORDER BY cuc_ip ASC, cuc_timestamp DESC LIMIT 5000"; |
646 | 645 | $ret = $dbr->query( $sql, __METHOD__ ); |
647 | 646 | # Try to optimize this query |
— | — | @@ -677,7 +676,7 @@ |
678 | 677 | wfRestoreWarnings(); |
679 | 678 | # OK, do the real query... |
680 | 679 | $use_index = $dbr->useIndexClause( 'cuc_user_ip_time' ); |
681 | | - $sql = "SELECT * FROM $cu_changes $use_index |
| 680 | + $sql = "SELECT * FROM $cu_changes $use_index |
682 | 681 | WHERE $user_cond AND $time_conds ORDER BY cuc_timestamp DESC LIMIT 5000"; |
683 | 682 | $ret = $dbr->query( $sql, __METHOD__ ); |
684 | 683 | |
— | — | @@ -761,8 +760,8 @@ |
762 | 761 | if ( isset( $rangecount ) && $rangecount > 10000 ) { |
763 | 762 | $use_index = $dbr->useIndexClause( $index ); |
764 | 763 | $sql = "SELECT cuc_ip_hex, COUNT(*) AS count, |
765 | | - MIN(cuc_timestamp) AS first, MAX(cuc_timestamp) AS last |
766 | | - FROM $cu_changes $use_index WHERE $ip_conds AND $time_conds |
| 764 | + MIN(cuc_timestamp) AS first, MAX(cuc_timestamp) AS last |
| 765 | + FROM $cu_changes $use_index WHERE $ip_conds AND $time_conds |
767 | 766 | GROUP BY cuc_ip_hex ORDER BY cuc_ip_hex LIMIT 5001"; |
768 | 767 | $ret = $dbr->query( $sql, __METHOD__ ); |
769 | 768 | # List out each IP that has edits |
— | — | @@ -795,7 +794,7 @@ |
796 | 795 | } |
797 | 796 | $s .= '</ol>'; |
798 | 797 | $dbr->freeResult( $ret ); |
799 | | - |
| 798 | + |
800 | 799 | $wgOut->addHTML( $s ); |
801 | 800 | return; |
802 | 801 | } elseif ( isset( $rangecount ) && !$rangecount ) { |
— | — | @@ -807,8 +806,8 @@ |
808 | 807 | global $wgMemc; |
809 | 808 | # OK, do the real query... |
810 | 809 | $use_index = $dbr->useIndexClause( $index ); |
811 | | - $sql = "SELECT cuc_user_text, cuc_timestamp, cuc_user, cuc_ip, cuc_agent, cuc_xff |
812 | | - FROM $cu_changes $use_index WHERE $ip_conds AND $time_conds |
| 810 | + $sql = "SELECT cuc_user_text, cuc_timestamp, cuc_user, cuc_ip, cuc_agent, cuc_xff |
| 811 | + FROM $cu_changes $use_index WHERE $ip_conds AND $time_conds |
813 | 812 | ORDER BY cuc_timestamp DESC LIMIT 10000"; |
814 | 813 | $ret = $dbr->query( $sql, __METHOD__ ); |
815 | 814 | |
— | — | @@ -1342,8 +1341,8 @@ |
1343 | 1342 | function __construct( $specialPage, $searchConds, $y, $m ) { |
1344 | 1343 | parent::__construct(); |
1345 | 1344 | /* |
1346 | | - $this->messages = array_map( 'wfMsg', |
1347 | | - array( 'comma-separator', 'checkuser-log-userips', 'checkuser-log-ipedits', 'checkuser-log-ipusers', |
| 1345 | + $this->messages = array_map( 'wfMsg', |
| 1346 | + array( 'comma-separator', 'checkuser-log-userips', 'checkuser-log-ipedits', 'checkuser-log-ipusers', |
1348 | 1347 | 'checkuser-log-ipedits-xff', 'checkuser-log-ipusers-xff' ) );*/ |
1349 | 1348 | |
1350 | 1349 | $this->getDateCond( $y, $m ); |
Index: trunk/extensions/CheckUser/CheckUser.i18n.php |
— | — | @@ -15,7 +15,7 @@ |
16 | 16 | $messages['en'] = array( |
17 | 17 | 'checkuser-summary' => 'This tool scans recent changes to retrieve the IP addresses used by a user or show the edit/user data for an IP address. |
18 | 18 | Users and edits by a client IP address can be retrieved via XFF headers by appending the IP address with "/xff". IPv4 (CIDR 16-32) and IPv6 (CIDR 96-128) are supported. |
19 | | -No more than 5000 edits will be returned for performance reasons. |
| 19 | +No more than 5,000 edits will be returned for performance reasons. |
20 | 20 | Use this in accordance with policy.', |
21 | 21 | 'checkuser-desc' => 'Grants users with the appropriate permission the ability to check user\'s IP addresses and other information', |
22 | 22 | 'checkuser-logcase' => 'The log search is case sensitive.', |
— | — | @@ -56,7 +56,7 @@ |
57 | 57 | 'checkuser-wasblocked' => 'Previously blocked', |
58 | 58 | 'checkuser-localonly' => 'Not unified', |
59 | 59 | 'checkuser-massblock' => 'Block selected users', |
60 | | - 'checkuser-massblock-text' => 'Selected accounts will be blocked indefinitely, with autoblocking enabled and account creation disabled. |
| 60 | + 'checkuser-massblock-text' => 'Selected accounts will be blocked indefinitely, with autoblocking enabled and account creation disabled. |
61 | 61 | IP addresses will be blocked for 1 week for IP users only and with account creation disabled.', |
62 | 62 | 'checkuser-blocktag' => 'Replace user pages with:', |
63 | 63 | 'checkuser-blocktag-talk' => 'Replace talk pages with:', |
— | — | @@ -165,7 +165,7 @@ |
166 | 166 | See screenshot "[http://www.mediawiki.org/wiki/Extension:CheckUser#Basic_interface Example log]". |
167 | 167 | |
168 | 168 | Initiator means the CheckUser who checks someone\'s information.', |
169 | | - 'checkuser-ipeditcount' => "This information is shown on the result page of [[mw:Extension:CheckUser#Basic_interface|Special:CheckUser]] (when doing the ''{{int:Checkuser-users}}'' check), next to the individual listed IPs. See screenshot \"Example user name check\". |
| 169 | + 'checkuser-ipeditcount' => "This information is shown on the result page of [[mw:Extension:CheckUser#Basic_interface|Special:CheckUser]] (when doing the ''{{int:Checkuser-users}}'' check), next to the individual listed IPs. See screenshot \"Example user name check\". |
170 | 170 | |
171 | 171 | \$1 is an estimate of the total number of edits from the respective IP (i.e. the number of edits by all users, not only by the requested user). As the comment in the code says: ''If we get some results, it helps to know if the IP in general has a lot more edits, e.g. “tip of the iceberg”…''", |
172 | 172 | 'checkuser-log-return' => 'Link label on log of CheckUser searches. See screenshot "[http://www.mediawiki.org/wiki/Extension:CheckUser#Basic_interface Example log]".', |
— | — | @@ -449,7 +449,7 @@ |
450 | 450 | */ |
451 | 451 | $messages['arz'] = array( |
452 | 452 | 'checkuser-summary' => 'الوسيلة دى بتدور فى احدث التغييرات علشان ترجع الايبيهات اللى استعملها يوزر او علشان تعرض بيانات التعديل/اليوزر لعنوان الاى بى. |
453 | | -اليوزرز و التعديلات اللى اتعملت من أى بى عميل ممكن تترجع عن طريق عناوين XFF لو زودت على الاى بى "/xff". |
| 453 | +اليوزرز و التعديلات اللى اتعملت من أى بى عميل ممكن تترجع عن طريق عناوين XFF لو زودت على الاى بى "/xff". |
454 | 454 | IPv4 (CIDR 16-32) و IPv6 (CIDR 96-128) مدعومين. |
455 | 455 | مش اكتر من 5000 تعديل ممكن تتعرض بسبب الاداء. |
456 | 456 | استخدم دا بطريقة موافقة للسياسة.', |
— | — | @@ -919,7 +919,7 @@ |
920 | 920 | 'checkuser-cidr-res' => 'Lijorenn CIDR boutin :', |
921 | 921 | 'checkuser-empty' => "N'eus pennad ebet er marilh", |
922 | 922 | 'checkuser-nomatch' => "N'eus bet kavet netra.", |
923 | | - 'checkuser-nomatch-edits' => "Kenglot ebet kavet. |
| 923 | + 'checkuser-nomatch-edits' => "Kenglot ebet kavet. |
924 | 924 | D'an $1 da $2 eo bet graet ar c'hemm diwezhañ.", |
925 | 925 | 'checkuser-check' => 'Gwiriañ', |
926 | 926 | 'checkuser-log-fail' => "Dibosupl ouzhpennañ ar moned d'ar marilh", |
— | — | @@ -1476,7 +1476,7 @@ |
1477 | 1477 | */ |
1478 | 1478 | $messages['diq'] = array( |
1479 | 1479 | 'checkuser-summary' => 'Ena xacet vurnayişanê neweyî skan keno ke adresanê IPyan reyan biyaro ke bimucne datayê karberî ser yew adresê IPyî. |
1480 | | -Karberan u vurnayîşan ke yew IPyê karberî kerd reyna yeno pê XFF u "/xff". IPv4 (CIDR 16-32) u IPv6 (CIDR 96-128) rê zi destek beno. |
| 1480 | +Karberan u vurnayîşan ke yew IPyê karberî kerd reyna yeno pê XFF u "/xff". IPv4 (CIDR 16-32) u IPv6 (CIDR 96-128) rê zi destek beno. |
1481 | 1481 | 5000 zafyer vurnayîşan sero netice nidano, qe performans hedi beno. |
1482 | 1482 | Ena politika ma ser kar bike.', |
1483 | 1483 | 'checkuser-desc' => 'Karberan rê destur bide ke adresanê IPyan u enformasyonê bînan kontrol bike', |
— | — | @@ -1507,7 +1507,7 @@ |
1508 | 1508 | 'checkuser-cidr-res' => 'CIDRê muşterekî', |
1509 | 1509 | 'checkuser-empty' => 'Ena log de çik çin o.', |
1510 | 1510 | 'checkuser-nomatch' => 'Çik çin o.', |
1511 | | - 'checkuser-nomatch-edits' => 'Çik çin o. |
| 1511 | + 'checkuser-nomatch-edits' => 'Çik çin o. |
1512 | 1512 | Vurnayîşê tewr penî seet $1 u rocê $2 de biyo.', |
1513 | 1513 | 'checkuser-check' => 'Kontrol bike', |
1514 | 1514 | 'checkuser-log-fail' => 'Nieşkeno log debiker', |
— | — | @@ -1648,7 +1648,7 @@ |
1649 | 1649 | $messages['el'] = array( |
1650 | 1650 | 'checkuser-summary' => 'Αυτό το εργαλείο σαρώνει τις πρόσφατες αλλαγές για να ανακτήσει τις IP διευθύνσεις που χρησιμοποιούνται από ένα χρήστη ή για να δείξει τα δεδομένα επεξεργασιών/χρηστών για μία IP. |
1651 | 1651 | Χρήστες και επεξεργασίες από μία σταθερή IP μπορούν να ανακτηθούν μέσω XFF επικεφαλίδων προσαρτώντας "/xff" στην IP. Το IPv4 (CIDR 16-32) και το IPv6 (CIDR 96-128) υποστηρίζονται. |
1652 | | -Όχι περισσότερες από 5000 επεξεργασίες θα επιστραφούν για λόγους απόδοσης. |
| 1652 | +Όχι περισσότερες από 5000 επεξεργασίες θα επιστραφούν για λόγους απόδοσης. |
1653 | 1653 | Χρησιμοποιήστε αυτό σύμφωνα με την πολιτική.', |
1654 | 1654 | 'checkuser-desc' => 'Παρέχει στους χρήστες με την κατάλληλη άδεια την ικανότητα να ελέγχουν τη διεύθυνση IP ενός χρήστη καθώς και άλλες πληροφορίες', |
1655 | 1655 | 'checkuser-logcase' => 'Η αναζήτηση στο αρχείο καταγραφής διακρίνει πεζά από κεφαλαία.', |
— | — | @@ -1689,7 +1689,7 @@ |
1690 | 1690 | 'checkuser-wasblocked' => 'Προηγουμένως φραγμένος', |
1691 | 1691 | 'checkuser-localonly' => 'Μη ενοποιημένο', |
1692 | 1692 | 'checkuser-massblock' => 'Επιβολή φραγής στους επιλεγμένους χρήστες', |
1693 | | - 'checkuser-massblock-text' => "Οι επιλεγμένοι λογαριασμοί θα φραγούν επ' αόριστον, με την αυτόματη φραγή ενεργοποιημένη και με αδύνατη τη δημιουργία λογαριασμού. |
| 1693 | + 'checkuser-massblock-text' => "Οι επιλεγμένοι λογαριασμοί θα φραγούν επ' αόριστον, με την αυτόματη φραγή ενεργοποιημένη και με αδύνατη τη δημιουργία λογαριασμού. |
1694 | 1694 | Οι διευθύνσεις IP θα φραγούν για 1 εβδομάδα μόνο για τους χρήστες από IP και με αδύνατη τη δημιουργία λογαριασμού.", |
1695 | 1695 | 'checkuser-blocktag' => 'Αντικατάσταση των σελίδων των χρηστών με:', |
1696 | 1696 | 'checkuser-blocktag-talk' => 'Αντικαταστήστε τις σελίδες συζήτησης με:', |
— | — | @@ -1781,7 +1781,7 @@ |
1782 | 1782 | 'checkuser-block-noreason' => 'Vi devas doni kialon por la forbaroj.', |
1783 | 1783 | 'checkuser-noreason' => 'Vi devas doni kialon por ĉi tiu informomendo.', |
1784 | 1784 | 'checkuser-accounts' => '$1 {{PLURAL:$1|nova konto|novaj kontoj}}', |
1785 | | - 'checkuser-too-many' => 'Tro da rezultoj, laŭ taskoj de serĉomendo. Bonvolu malvastigi la CIDR. |
| 1785 | + 'checkuser-too-many' => 'Tro da rezultoj, laŭ taskoj de serĉomendo. Bonvolu malvastigi la CIDR. |
1786 | 1786 | Jen la IP-adresoj uzitaj (maksimume 5000, ordigita laŭ adresoj):', |
1787 | 1787 | 'checkuser-user-nonexistent' => 'La donata uzanto ne ekzistas.', |
1788 | 1788 | 'checkuser-search-form' => 'Trovi protokolerojn en kiu la $1 estas $2', |
— | — | @@ -1864,7 +1864,7 @@ |
1865 | 1865 | 'checkuser-wasblocked' => 'Bloqueado anteriormente', |
1866 | 1866 | 'checkuser-localonly' => 'No unificada', |
1867 | 1867 | 'checkuser-massblock' => 'Bloquear usuarios seleccionados', |
1868 | | - 'checkuser-massblock-text' => 'Las cuentas seleccionadas serán bloqueadas de forma indefinida, con el autobloqueo habilitado y la creación de cuentas deshabilitada. |
| 1868 | + 'checkuser-massblock-text' => 'Las cuentas seleccionadas serán bloqueadas de forma indefinida, con el autobloqueo habilitado y la creación de cuentas deshabilitada. |
1869 | 1869 | Las direcciones IP serán bloqueadas durante una semana para usuarios anónimos sólamente con la creación de cuentas deshabilitada.', |
1870 | 1870 | 'checkuser-blocktag' => 'Reemplazar páginas del usuario con:', |
1871 | 1871 | 'checkuser-blocktag-talk' => 'Reemplazar las páginas de discusión con:', |
— | — | @@ -2464,7 +2464,7 @@ |
2465 | 2465 | 'checkuser-wasblocked' => 'Bloqueados anteriormente', |
2466 | 2466 | 'checkuser-localonly' => 'Sen unificar', |
2467 | 2467 | 'checkuser-massblock' => 'Bloquear os usuarios seleccionados', |
2468 | | - 'checkuser-massblock-text' => 'As contas seleccionadas serán bloqueadas indefinidamente, co bloqueo automático permitido e a creación de contas deshabilitada. |
| 2468 | + 'checkuser-massblock-text' => 'As contas seleccionadas serán bloqueadas indefinidamente, co bloqueo automático permitido e a creación de contas deshabilitada. |
2469 | 2469 | Os enderezos IP serán bloqueados cun tempo de duración dunha semana só para os usuarios con IP e coa creación de contas deshabilitada.', |
2470 | 2470 | 'checkuser-blocktag' => 'Substituír as páxinas de usuario por:', |
2471 | 2471 | 'checkuser-blocktag-talk' => 'Substituír as conversas con:', |
— | — | @@ -3289,7 +3289,7 @@ |
3290 | 3290 | 'checkuser-block-noreason' => 'È obbligatorio fornire una motivazione per i blocchi.', |
3291 | 3291 | 'checkuser-noreason' => 'È necessario fornire una motivazione per questa query.', |
3292 | 3292 | 'checkuser-accounts' => '$1 {{PLURAL:$1|nuovo|nuovi}} account', |
3293 | | - 'checkuser-too-many' => 'Troppi risultati (per la query), usa un CIDR più ristretto. |
| 3293 | + 'checkuser-too-many' => 'Troppi risultati (per la query), usa un CIDR più ristretto. |
3294 | 3294 | Di seguito sono indicati gli indirizzi IP utilizzati (fino a un massimo di 5000, ordinati per indirizzo):', |
3295 | 3295 | 'checkuser-user-nonexistent' => "L'utente indicato non esiste.", |
3296 | 3296 | 'checkuser-search-form' => 'Trova le voci del log per le quali $1 è $2', |
— | — | @@ -3495,7 +3495,7 @@ |
3496 | 3496 | 'checkuser-block-limit' => 'Cacahing panganggo sing dipilih kakèhan.', |
3497 | 3497 | 'checkuser-block-noreason' => 'Panjenengan kudu mènèhi alesan pamblokiran', |
3498 | 3498 | 'checkuser-accounts' => '$1 {{PLURAL:$1|akun|akun-akun}} anyar', |
3499 | | - 'checkuser-too-many' => 'Kakèhan pituwas (miturut estimasi piakonan), tulung CIDR diciyutaké. |
| 3499 | + 'checkuser-too-many' => 'Kakèhan pituwas (miturut estimasi piakonan), tulung CIDR diciyutaké. |
3500 | 3500 | Ing ngisor iki kapacak alamat-alamat IP sing dianggo (maks. 5.000, diurutaké miturut alamat):', |
3501 | 3501 | 'checkuser-user-nonexistent' => 'Panganggo iki ora ana.', |
3502 | 3502 | 'checkuser-search-form' => 'Temokna cathetan log ing ngendi $1 iku $2', |
— | — | @@ -3533,7 +3533,7 @@ |
3534 | 3534 | 'checkuser-gblocked' => 'გლობალურად ბლოკირებული', |
3535 | 3535 | 'checkuser-locked' => 'დახურვა', |
3536 | 3536 | 'checkuser-massblock' => 'დაბლოკეთ არჩეული მომხმარებლები', |
3537 | | - 'checkuser-massblock-text' => 'არჩეული ანგარიშები დაიბლოკება ახალი ანგარიშების ნებართვის შექმნის გარეშე. |
| 3537 | + 'checkuser-massblock-text' => 'არჩეული ანგარიშები დაიბლოკება ახალი ანგარიშების ნებართვის შექმნის გარეშე. |
3538 | 3538 | IP დაიბლოკება ერთი კვირით.', |
3539 | 3539 | 'checkuser-blocktag' => 'ჩაანაცვლეთ მომხმარებლის გვერდები:', |
3540 | 3540 | 'checkuser-blocktag-talk' => 'შეცვალეთ მომხმარებლის გვერდები:', |
— | — | @@ -4244,7 +4244,7 @@ |
4245 | 4245 | 'checkuser-wasblocked' => 'Претходно блокиран', |
4246 | 4246 | 'checkuser-localonly' => 'Необединета', |
4247 | 4247 | 'checkuser-massblock' => 'Блокирај ги избраните корисници', |
4248 | | - 'checkuser-massblock-text' => 'Избраните сметки ќе бидат трајно блокирани, со овозможено автоблокирање и оневозможено создавање на сметки. |
| 4248 | + 'checkuser-massblock-text' => 'Избраните сметки ќе бидат трајно блокирани, со овозможено автоблокирање и оневозможено создавање на сметки. |
4249 | 4249 | IP адресите ќе бидат блокирани 1 недела за само за корисници со IP адреса, и со оневозможено создавање на сметка.', |
4250 | 4250 | 'checkuser-blocktag' => 'Замени ги корисничките страници со:', |
4251 | 4251 | 'checkuser-blocktag-talk' => 'Замени ги страниците за разговор со:', |
— | — | @@ -4336,7 +4336,7 @@ |
4337 | 4337 | 'checkuser-block-noreason' => 'തടയലിനു ഒരു കാരണം താങ്കൾ നൽകുക.', |
4338 | 4338 | 'checkuser-noreason' => 'ഈ ചോദ്യത്തിനു താങ്കൾ നിർബന്ധമായും കാരണം നൽകേണ്ടതാണ്.', |
4339 | 4339 | 'checkuser-accounts' => 'പുതിയ {{PLURAL:$1|അംഗത്വം|$1അംഗത്വങ്ങൾ}}', |
4340 | | - 'checkuser-too-many' => 'വളരെയധികം ഫലങ്ങൾ (ലഭിച്ച ക്വറി അനുസരിച്ച്). CIDR ചുരുക്കുക. |
| 4340 | + 'checkuser-too-many' => 'വളരെയധികം ഫലങ്ങൾ (ലഭിച്ച ക്വറി അനുസരിച്ച്). CIDR ചുരുക്കുക. |
4341 | 4341 | ഉപയോഗിച്ച IPകൾ താഴെ പ്രദർശിപ്പിച്ചിരിക്കുന്നു (പരമാവധി 5000, വിലാസം അനുസരിച്ച് ക്രമീകരിച്ചത്):', |
4342 | 4342 | 'checkuser-user-nonexistent' => 'ഇങ്ങനൊരു ഉപയോക്താവ് വിക്കിയിൽ നിലവിലില്ല.', |
4343 | 4343 | 'checkuser-search-form' => '$1, $2 ആയ പ്രവർത്തനരേഖാ ഇനങ്ങൾ കണ്ടെത്തുന്നു', |
— | — | @@ -4738,7 +4738,7 @@ |
4739 | 4739 | |
4740 | 4740 | Brukarar og endringar frå ein klient-IP kan verta henta gjennom XFF ved å leggja til «/xff» bak IP-en. IPv4 (CIDR 16-32) og IPv6 (CIDR 96-128) er støtta. |
4741 | 4741 | |
4742 | | -Av yteårsaker vert høgst 5000 endringar viste. |
| 4742 | +Av yteårsaker vert høgst 5000 endringar viste. |
4743 | 4743 | Nytt dette verktøyet i samsvar med retningsliner.', |
4744 | 4744 | 'checkuser-desc' => 'Gjev brukarar med dei rette rettane moglegheita til å sjekka IP-adressene til og annan informasjon om brukarar.', |
4745 | 4745 | 'checkuser-logcase' => 'Loggsøket tek omsyn til små og store bokstavar.', |
— | — | @@ -5508,7 +5508,7 @@ |
5509 | 5509 | 'checkuser-wasblocked' => 'Blocări anterioare', |
5510 | 5510 | 'checkuser-localonly' => 'Neunificat', |
5511 | 5511 | 'checkuser-massblock' => 'Blochează utilizatorii aleşi', |
5512 | | - 'checkuser-massblock-text' => 'Conturile alese vor fi blocate definitiv, cu blocarea automată activată şi crearea de conturi dezactivată. |
| 5512 | + 'checkuser-massblock-text' => 'Conturile alese vor fi blocate definitiv, cu blocarea automată activată şi crearea de conturi dezactivată. |
5513 | 5513 | Adresele IP vor fi blocate timp de o săptămână şi crearea de conturi va fi dezactivată.', |
5514 | 5514 | 'checkuser-blocktag' => 'Înlocuieşte paginile de utilizator cu:', |
5515 | 5515 | 'checkuser-blocktag-talk' => 'Înlocuieşte paginile de discuţii cu:', |
— | — | @@ -5622,7 +5622,7 @@ |
5623 | 5623 | $messages['ru'] = array( |
5624 | 5624 | 'checkuser-summary' => "Данный инструмент может быть использован, чтобы получить IP-адреса, использовавшиеся участником, либо чтобы показать правки/участников, работавших с IP-адреса. |
5625 | 5625 | Правки и пользователи, которые правили с определённого IP-адреса, указанного в X-Forwarded-For, можно получить, добавив постфикс <code>/xff</code> к IP-адресу. Поддерживаемые версии IP: 4 (CIDR 16—32) и 6 (CIDR 96—128). |
5626 | | -Из соображений производительности будут показаны только первые 5000 правок. |
| 5626 | +Из соображений производительности будут показаны только первые 5000 правок. |
5627 | 5627 | Используйте эту страницу '''только в соответствии с правилами'''.", |
5628 | 5628 | 'checkuser-desc' => 'Предоставляет возможность проверять IP-адреса и дополнительную информацию участников', |
5629 | 5629 | 'checkuser-logcase' => 'Поиск по журналу чувствителен к регистру.', |
— | — | @@ -5742,7 +5742,7 @@ |
5743 | 5743 | 'checkuser-wasblocked' => 'Урут бобуллубут', |
5744 | 5744 | 'checkuser-localonly' => 'Биирдэһиллибит аан аат буолбатах', |
5745 | 5745 | 'checkuser-massblock' => 'Талыллыбыт кыттааччылары боп', |
5746 | | - 'checkuser-massblock-text' => 'Талыллыбыт ааттар болдьоҕо суох бобуллуохтара. Бу ааттар аптамаатынан бобуллуохтара, маннык ааты саҥаттан оҥоруу эмиэ бобуллуо. |
| 5746 | + 'checkuser-massblock-text' => 'Талыллыбыт ааттар болдьоҕо суох бобуллуохтара. Бу ааттар аптамаатынан бобуллуохтара, маннык ааты саҥаттан оҥоруу эмиэ бобуллуо. |
5747 | 5747 | IP-аадырыстартан бэлиэтэммэккэ киирии уонна саҥа ааты оҥоруу 1 нэдиэлэҕэ бобуллуо.', |
5748 | 5748 | 'checkuser-blocktag' => 'Кыттааччылар сирэйдэрин манныкка уларыт:', |
5749 | 5749 | 'checkuser-blocktag-talk' => 'Ырытыы сирэйдэрин манныкка уларыт:', |
Index: trunk/extensions/CheckUser/CheckUser.php |
— | — | @@ -303,7 +303,7 @@ |
304 | 304 | } |
305 | 305 | } |
306 | 306 | } |
307 | | - // We still have to test if the IP that sent |
| 307 | + // We still have to test if the IP that sent |
308 | 308 | // this header is trusted to confirm results |
309 | 309 | if ( $client != $address && ( !$address || !wfIsTrustedProxy( $address ) ) ) { |
310 | 310 | $trusted = false; |
Index: trunk/extensions/CheckUser/importLog.php |
— | — | @@ -9,7 +9,7 @@ |
10 | 10 | $matched = 0; |
11 | 11 | $unmatched = 0; |
12 | 12 | $badtime = 0; |
13 | | - |
| 13 | + |
14 | 14 | $file = fopen( $log, 'r' ); |
15 | 15 | while ( false !== ( $line = fgets( $file ) ) ) { |
16 | 16 | $found = false; |
Index: trunk/extensions/CheckUser/archives/patch-cu_changes_indexes.sql |
— | — | @@ -1,8 +1,8 @@ |
2 | 2 | -- Improves indexes for better peformance with large result sets |
3 | 3 | -- vim: autoindent syn=mysql sts=2 sw=2 |
4 | 4 | -- Replace /*$wgDBprefix*/ with the proper prefix |
5 | | - |
6 | | -ALTER TABLE /*$wgDBprefix*/cu_changes |
| 5 | + |
| 6 | +ALTER TABLE /*$wgDBprefix*/cu_changes |
7 | 7 | ADD INDEX cuc_ip_hex_time (cuc_ip_hex,cuc_timestamp), |
8 | 8 | ADD INDEX cuc_user_ip_time (cuc_user,cuc_ip,cuc_timestamp), |
9 | 9 | ADD INDEX cuc_xff_hex_time (cuc_xff_hex,cuc_timestamp), |
Index: trunk/extensions/CheckUser/archives/patch-cu_changes_indexes2.sql |
— | — | @@ -1,7 +1,7 @@ |
2 | 2 | -- Improves indexes for better peformance with large result sets |
3 | 3 | -- vim: autoindent syn=mysql sts=2 sw=2 |
4 | 4 | -- Replace /*$wgDBprefix*/ with the proper prefix |
5 | | - |
6 | | -ALTER TABLE /*$wgDBprefix*/cu_changes |
| 5 | + |
| 6 | +ALTER TABLE /*$wgDBprefix*/cu_changes |
7 | 7 | ADD INDEX cuc_user_ip_time (cuc_user,cuc_ip,cuc_timestamp), |
8 | 8 | DROP INDEX cuc_user_time; |
Index: trunk/extensions/CheckUser/cu_log.sql |
— | — | @@ -4,7 +4,7 @@ |
5 | 5 | CREATE TABLE /*$wgDBprefix*/cu_log ( |
6 | 6 | -- Unique identifier |
7 | 7 | cul_id int unsigned not null auto_increment, |
8 | | - |
| 8 | + |
9 | 9 | -- Timestamp of CheckUser action |
10 | 10 | cul_timestamp binary(14) not null, |
11 | 11 | |
— | — | @@ -37,6 +37,4 @@ |
38 | 38 | INDEX cul_type_target (cul_type,cul_target_id, cul_timestamp), |
39 | 39 | INDEX cul_target_hex (cul_target_hex, cul_timestamp), |
40 | 40 | INDEX cul_range_start (cul_range_start, cul_timestamp) |
41 | | - |
42 | 41 | ) /*$wgDBTableOptions*/; |
43 | | - |
Index: trunk/extensions/CheckUser/checkuser.js |
— | — | @@ -4,7 +4,7 @@ |
5 | 5 | |
6 | 6 | /* |
7 | 7 | * This function calculates the common range of a list of |
8 | | -* IPs. It should be set to update on keyUp. |
| 8 | +* IPs. It should be set to update on keyUp. |
9 | 9 | */ |
10 | 10 | function updateCIDRresult() { |
11 | 11 | var form = document.getElementById( 'mw-checkuser-cidrform' ); |
Index: trunk/extensions/CheckUser/cu_log_import.inc |
— | — | @@ -6,7 +6,7 @@ |
7 | 7 | $rxTarget = '(?P<target>.*?)'; |
8 | 8 | $rxWiki = '(?P<wiki>[^)]*?)'; |
9 | 9 | $rxReason = '(?: \("(?P<reason>.*)"\))?'; |
10 | | - |
| 10 | + |
11 | 11 | // Strip nulls due to NFS write collisions |
12 | 12 | $line = str_replace( "\0", "", $line ); |
13 | 13 | |
— | — | @@ -16,7 +16,7 @@ |
17 | 17 | 'ipusers-xff' => "!^<li>$rxTimestamp, $rxUser got users for XFF $rxTarget on $rxWiki$rxReason</li>!", |
18 | 18 | 'ipusers' => "!^<li>$rxTimestamp, $rxUser got users for" ." $rxTarget on $rxWiki$rxReason</li>!", |
19 | 19 | 'userips' => "!^<li>$rxTimestamp, $rxUser got IPs for". " $rxTarget on $rxWiki$rxReason</li>!" ); |
20 | | - |
| 20 | + |
21 | 21 | foreach ( $regexes as $type => $regex ) { |
22 | 22 | $m = false; |
23 | 23 | if ( preg_match( $regex, $line, $m ) ) { |
— | — | @@ -36,7 +36,7 @@ |
37 | 37 | |
38 | 38 | function import_cu_log( $db, $log ) { |
39 | 39 | global $wgDBname; |
40 | | - |
| 40 | + |
41 | 41 | $file = fopen( $log, 'r' ); |
42 | 42 | |
43 | 43 | $matched = 0; |
— | — | @@ -53,7 +53,7 @@ |
54 | 54 | |
55 | 55 | // Local wiki lookups... |
56 | 56 | $user = User::newFromName( $data['user'] ); |
57 | | - |
| 57 | + |
58 | 58 | list( $start, $end ) = IP::parseRange( $data['target'] ); |
59 | 59 | if ( $start === false ) { |
60 | 60 | $targetUser = User::newFromName( $data['target'] ); |
— | — | @@ -66,7 +66,7 @@ |
67 | 67 | } |
68 | 68 | $targetID = 0; |
69 | 69 | } |
70 | | - |
| 70 | + |
71 | 71 | if( $db ) { |
72 | 72 | $fields = array( |
73 | 73 | 'cul_id' => $db->nextSequenceValue( 'cu_log_cul_id_seq' ), |
— | — | @@ -83,7 +83,7 @@ |
84 | 84 | |
85 | 85 | $db->insert( 'cu_log', $fields, __METHOD__ ); |
86 | 86 | } |
87 | | - |
| 87 | + |
88 | 88 | $matched++; |
89 | 89 | } |
90 | 90 | $unmatched ++; |
Index: trunk/extensions/CheckUser/install.php |
— | — | @@ -1,5 +1,4 @@ |
2 | 2 | <?php |
3 | | - |
4 | 3 | /* |
5 | 4 | * Makes the required database changes for the CheckUser extension |
6 | 5 | */ |
Index: trunk/extensions/CheckUser/cu_changes.sql |
— | — | @@ -1,7 +1,7 @@ |
2 | 2 | -- Tables for the CheckUser extension |
3 | 3 | -- vim: autoindent syn=mysql sts=2 sw=2 |
4 | 4 | -- Replace /*$wgDBprefix*/ with the proper prefix |
5 | | - |
| 5 | + |
6 | 6 | CREATE TABLE /*$wgDBprefix*/cu_changes ( |
7 | 7 | -- Primary key |
8 | 8 | cuc_id INTEGER NOT NULL AUTO_INCREMENT, |
— | — | @@ -9,11 +9,11 @@ |
10 | 10 | -- When pages are renamed, their RC entries do _not_ change. |
11 | 11 | cuc_namespace int NOT NULL default '0', |
12 | 12 | cuc_title varchar(255) binary NOT NULL default '', |
13 | | - |
| 13 | + |
14 | 14 | -- user.user_id |
15 | 15 | cuc_user INTEGER NOT NULL DEFAULT 0, |
16 | 16 | cuc_user_text VARCHAR(255) NOT NULL DEFAULT '', |
17 | | - |
| 17 | + |
18 | 18 | -- Edit summary |
19 | 19 | cuc_actiontext varchar(255) binary NOT NULL default '', |
20 | 20 | cuc_comment varchar(255) binary NOT NULL default '', |
— | — | @@ -23,34 +23,34 @@ |
24 | 24 | -- This will keep links working after moves while |
25 | 25 | -- retaining the at-the-time name in the changes list. |
26 | 26 | cuc_page_id int(10) unsigned NOT NULL default '0', |
27 | | - |
| 27 | + |
28 | 28 | -- rev_id of the given revision |
29 | 29 | cuc_this_oldid int(10) unsigned NOT NULL default '0', |
30 | | - |
| 30 | + |
31 | 31 | -- rev_id of the prior revision, for generating diff links. |
32 | 32 | cuc_last_oldid int(10) unsigned NOT NULL default '0', |
33 | | - |
| 33 | + |
34 | 34 | -- Edit/new/log |
35 | 35 | cuc_type tinyint(3) unsigned NOT NULL default '0', |
36 | | - |
| 36 | + |
37 | 37 | -- Event timestamp |
38 | 38 | cuc_timestamp CHAR(14) NOT NULL default '', |
39 | | - |
| 39 | + |
40 | 40 | -- IP address, visible |
41 | 41 | cuc_ip VARCHAR(255) NULL default '', |
42 | | - |
| 42 | + |
43 | 43 | -- IP address as hexidecimal |
44 | 44 | cuc_ip_hex VARCHAR(255) default NULL, |
45 | | - |
| 45 | + |
46 | 46 | -- XFF header, visible, all data |
47 | 47 | cuc_xff VARCHAR(255) BINARY NULL default '', |
48 | | - |
| 48 | + |
49 | 49 | -- XFF header, last IP, as hexidecimal |
50 | 50 | cuc_xff_hex VARCHAR(255) default NULL, |
51 | | - |
| 51 | + |
52 | 52 | -- User agent |
53 | 53 | cuc_agent VARCHAR(255) BINARY default NULL, |
54 | | - |
| 54 | + |
55 | 55 | PRIMARY KEY cuc_id (cuc_id), |
56 | 56 | INDEX cuc_ip_hex_time (cuc_ip_hex,cuc_timestamp), |
57 | 57 | INDEX cuc_user_ip_time (cuc_user,cuc_ip,cuc_timestamp), |
Index: trunk/extensions/CheckUser/install.inc |
— | — | @@ -10,7 +10,7 @@ |
11 | 11 | $sourcefile = $wgDBtype === 'postgres' ? '/cu_changes.pg.sql' : '/cu_changes.sql'; |
12 | 12 | $db->sourceFile( dirname( __FILE__ ) . $sourcefile ); |
13 | 13 | } |
14 | | - |
| 14 | + |
15 | 15 | echo "...cu_changes table added.\n"; |
16 | 16 | // Check if the table is empty |
17 | 17 | $rcRows = $db->selectField( 'recentchanges', 'COUNT(*)', false, __FUNCTION__ ); |
— | — | @@ -18,7 +18,7 @@ |
19 | 19 | echo "recentchanges is empty; nothing to add.\n"; |
20 | 20 | return; |
21 | 21 | } |
22 | | - |
| 22 | + |
23 | 23 | if( $cutoff ) { |
24 | 24 | // Something leftover... clear old entries to minimize dupes |
25 | 25 | $encCutoff = $db->addQuotes( $db->timestamp( $cutoff ) ); |
— | — | @@ -29,14 +29,14 @@ |
30 | 30 | } else { |
31 | 31 | $cutoffCond = ""; |
32 | 32 | } |
33 | | - |
| 33 | + |
34 | 34 | $start = $db->selectField( 'recentchanges', 'MIN(rc_id)', false, __FUNCTION__ ); |
35 | 35 | $end = $db->selectField( 'recentchanges', 'MAX(rc_id)', false, __FUNCTION__ ); |
36 | 36 | # Do remaining chunk |
37 | 37 | $end += BATCH_SIZE - 1; |
38 | 38 | $blockStart = $start; |
39 | 39 | $blockEnd = $start + BATCH_SIZE - 1; |
40 | | - |
| 40 | + |
41 | 41 | $db->begin(); |
42 | 42 | while ( $blockStart <= $end ) { |
43 | 43 | echo "...doing rc_id from $blockStart to $blockEnd\n"; |
— | — | @@ -44,7 +44,7 @@ |
45 | 45 | $res = $db->select( 'recentchanges', '*', $cond, __FUNCTION__ ); |
46 | 46 | $batch = array(); |
47 | 47 | while ( $row = $db->fetchObject( $res ) ) { |
48 | | - $batch[] = array( |
| 48 | + $batch[] = array( |
49 | 49 | 'cuc_timestamp' => $row->rc_timestamp, |
50 | 50 | 'cuc_user' => $row->rc_user, |
51 | 51 | 'cuc_user_text' => $row->rc_user_text, |
— | — | @@ -68,28 +68,27 @@ |
69 | 69 | wfWaitForSlaves( 5 ); |
70 | 70 | } |
71 | 71 | $db->commit(); |
72 | | - |
| 72 | + |
73 | 73 | echo "...cu_changes table added and populated.\n"; |
74 | 74 | } |
75 | 75 | |
76 | | - |
77 | 76 | function create_cu_log( $db ) { |
78 | 77 | global $wgDBtype, $wgCheckUserLog, $wgDBname; |
79 | 78 | if( $db->tableExists( 'cu_log' ) ) { |
80 | 79 | echo "...cu_log already exists\n"; |
81 | 80 | return; |
82 | 81 | } |
83 | | - |
| 82 | + |
84 | 83 | $sourcefile = $wgDBtype === 'postgres' ? '/cu_log.pg.sql' : '/cu_log.sql'; |
85 | 84 | $db->sourceFile( dirname( __FILE__ ) . $sourcefile ); |
86 | 85 | |
87 | 86 | echo "...cu_log added\n"; |
88 | | - |
| 87 | + |
89 | 88 | if( empty( $wgCheckUserLog ) ) { |
90 | 89 | echo "...logging disabled, skipping log import.\n"; |
91 | 90 | return; |
92 | 91 | } |
93 | | - |
| 92 | + |
94 | 93 | if( !file_exists( $wgCheckUserLog ) ) { |
95 | 94 | echo "...log file missing, skipping log import.\n"; |
96 | 95 | return; |