Index: branches/robchurch/logs/docs/hooks.txt |
— | — | @@ -637,6 +637,10 @@ |
638 | 638 | $user: user that watched |
639 | 639 | $article: article object that was watched |
640 | 640 | |
| 641 | +'UserEffectiveGroups': Called in User::getEffectiveGroups() |
| 642 | +$user: User to get groups for |
| 643 | +&$groups: Current effective groups |
| 644 | + |
641 | 645 | 'CategoryPageView': before viewing a categorypage in CategoryPage::view |
642 | 646 | $catpage: CategoryPage instance |
643 | 647 | |
Index: branches/robchurch/logs/languages/messages/MessagesZh_cn.php |
— | — | @@ -818,6 +818,9 @@ |
819 | 819 | 'userrights-groupsavailable' => '可加入群组:', |
820 | 820 | 'userrights-groupshelp' => '选择您想使该用户退出或加入的组群。反选时组群将不改变。您可以通过按住 CTRL 键 + 单击鼠标左键来反选', |
821 | 821 | 'userrights-reason' => '更改原因:', |
| 822 | +'userrights-list' => '因为您是$1的成员,您可以加入$2以及移除$3。', |
| 823 | +'userrights-list-nogroups' => '无组别', |
| 824 | +'userrights-list-groups' => '$2{{PLURAL:$1|组别|组别}}', |
822 | 825 | |
823 | 826 | # Groups |
824 | 827 | 'group' => '群组:', |
— | — | @@ -900,7 +903,7 @@ |
901 | 904 | 'uploadedfiles' => '已上传文件', |
902 | 905 | 'ignorewarning' => '忽略警告并保存文件。', |
903 | 906 | 'ignorewarnings' => '忽略所有警告', |
904 | | -'minlength' => '文件名字必须至少有三个字母。', |
| 907 | +'minlength1' => '文件名字必须至少有一个字母。', |
905 | 908 | 'illegalfilename' => '文件名"$1"包含有页面标题所禁止的字符。请改名后重新上传。', |
906 | 909 | 'badfilename' => '文件名已被改为"$1"。', |
907 | 910 | 'filetype-badmime' => 'MIME类别"$1"不是容许的文件格式。', |
— | — | @@ -1037,7 +1040,7 @@ |
1038 | 1041 | 'disambiguations-text' => '以下的页面都有到<b>消含糊页</b>的链接, 但它们应该是链到适当的标题。<br />一个页面会被视为消含糊页如果它是链自[[MediaWiki:disambiguationspage]]。', |
1039 | 1042 | |
1040 | 1043 | 'doubleredirects' => '双重重定向页面', |
1041 | | -'doubleredirectstext' => '每一行都包含到第一和第二个重定向页面的链接,以及第二个重定向页面的第一行文字,通常显示的都会是"真正"的目标页面,也就是第一个重定向页面应该指向的页面。', |
| 1044 | +'doubleredirectstext' => '每一行都包含到第一和第二个重定向页面的链接,以及第二个重定向页面的目标,通常显示的都会是"真正"的目标页面,也就是第一个重定向页面应该指向的页面。', |
1042 | 1045 | |
1043 | 1046 | 'brokenredirects' => '损坏的重定向页', |
1044 | 1047 | 'brokenredirectstext' => '以下的重定向页面指向的是不存在的页面:', |
— | — | @@ -1377,6 +1380,9 @@ |
1378 | 1381 | 'uclinks' => '参看最后$1次修改;参看最后$2天。', |
1379 | 1382 | 'uctop' => ' (最新修改)', |
1380 | 1383 | |
| 1384 | +'month' => '月份:', |
| 1385 | +'year' => '年份:', |
| 1386 | + |
1381 | 1387 | 'sp-contributions-newest' => '最新', |
1382 | 1388 | 'sp-contributions-oldest' => '最早', |
1383 | 1389 | 'sp-contributions-newer' => '前$1次', |
— | — | @@ -1524,11 +1530,11 @@ |
1525 | 1531 | *您不勾选下面的复选框。 |
1526 | 1532 | |
1527 | 1533 | 在这些情况下,您在必要时必须手工移动或合并页面。", |
1528 | | -'movearticle' => '移动页面', |
| 1534 | +'movearticle' => '移动页面:', |
1529 | 1535 | 'movenologin' => '未登录', |
1530 | 1536 | 'movenologintext' => '您必须是一名登记用户并且[[Special:Userlogin|登录]] |
1531 | 1537 | 后才可移动一个页面。', |
1532 | | -'newtitle' => '新标题', |
| 1538 | +'newtitle' => '新标题:', |
1533 | 1539 | 'move-watch' => '监视此页', |
1534 | 1540 | 'movepagebtn' => '移动页面', |
1535 | 1541 | 'pagemovedsub' => '移动成功', |
— | — | @@ -2065,6 +2071,7 @@ |
2066 | 2072 | 'watchlistall1' => '全部', |
2067 | 2073 | 'watchlistall2' => '全部', |
2068 | 2074 | 'namespacesall' => '全部', |
| 2075 | +'monthsall' => '全部', |
2069 | 2076 | |
2070 | 2077 | # E-mail address confirmation |
2071 | 2078 | 'confirmemail' => '确认邮箱地址', |
— | — | @@ -2135,9 +2142,6 @@ |
2136 | 2143 | 'articletitles' => '文章以"$1"开头', |
2137 | 2144 | 'hideresults' => '隐藏结果', |
2138 | 2145 | |
2139 | | -# DISPLAYTITLE |
2140 | | -'displaytitle' => '(以[[$1]]链接到此页)', |
2141 | | - |
2142 | 2146 | 'loginlanguagelabel' => '语言: $1', |
2143 | 2147 | |
2144 | 2148 | # Multipage image navigation |
Index: branches/robchurch/logs/languages/messages/MessagesZh_classical.php |
— | — | @@ -740,7 +740,7 @@ |
741 | 741 | 'uploadedfiles' => '進獻', |
742 | 742 | 'ignorewarning' => '強儲之。', |
743 | 743 | 'ignorewarnings' => '警略。', |
744 | | -'minlength' => '名務逾三字元。', |
| 744 | +'minlength1' => '名務逾一字元。', |
745 | 745 | 'illegalfilename' => '名"$1"不格,更之再焉。', |
746 | 746 | 'badfilename' => '更名"$1。".', |
747 | 747 | 'emptyfile' => '無以獻,疑謬名也,請核之。', |
— | — | @@ -989,6 +989,9 @@ |
990 | 990 | 'uclinks' => ' 近$1易,近$2日', |
991 | 991 | 'uctop' => ' (頂)', |
992 | 992 | |
| 993 | +'month' => '月:', |
| 994 | +'year' => '年:', |
| 995 | + |
993 | 996 | 'sp-contributions-newest' => '末', |
994 | 997 | 'sp-contributions-oldest' => '首', |
995 | 998 | 'sp-contributions-newer' => '後$1', |
— | — | @@ -1062,10 +1065,10 @@ |
1063 | 1066 | |
1064 | 1067 | # Move page |
1065 | 1068 | 'movepage' => '遷文', |
1066 | | -'movearticle' => '遷此文', |
| 1069 | +'movearticle' => '遷此文:', |
1067 | 1070 | 'movenologin' => '未登簿', |
1068 | 1071 | 'movenologintext' => '遷文須[[Special:Userlogin|登簿]]。', |
1069 | | -'newtitle' => '至新題', |
| 1072 | +'newtitle' => '至新題:', |
1070 | 1073 | 'movepagebtn' => '遷此頁', |
1071 | 1074 | 'pagemovedsub' => '成', |
1072 | 1075 | 'pagemovedtext' => '[[$1]]"遷"[[$2]]"矣。', |
— | — | @@ -1172,6 +1175,7 @@ |
1173 | 1176 | 'watchlistall1' => '全', |
1174 | 1177 | 'watchlistall2' => '全', |
1175 | 1178 | 'namespacesall' => '全', |
| 1179 | +'monthsall' => '全', |
1176 | 1180 | |
1177 | 1181 | # E-mail address confirmation |
1178 | 1182 | 'confirmemail' => '核郵驛', |
Index: branches/robchurch/logs/languages/messages/MessagesDa.php |
— | — | @@ -883,6 +883,9 @@ |
884 | 884 | 'userrights-groupshelp' => 'Vælg grupper som du ønsker brugeren skal fjernes fra eller føjes til. |
885 | 885 | Grupper som ikke er valgt, vil ikke blive ændret. Du kan ophæve valget af en gruppe ved hjælp af CTRL-tasten og et venstreklik.', |
886 | 886 | 'userrights-reason' => 'Årsag:', |
| 887 | +'userrights-list' => 'Som medlem af $1, kan du tilføje $2 og fjerne $3.', |
| 888 | +'userrights-list-nogroups' => 'ingen grupper', |
| 889 | +'userrights-list-groups' => '{{PLURAL:$1|gruppen|grupperne}} $2', |
887 | 890 | |
888 | 891 | # Groups |
889 | 892 | 'group' => 'Gruppe:', |
— | — | @@ -1239,6 +1242,7 @@ |
1240 | 1243 | 'allpagessubmit' => 'Vis', |
1241 | 1244 | 'allpagesprefix' => 'Vis sider med præfiks:', |
1242 | 1245 | 'allpagesbadtitle' => 'Det indtastede sidenavn er ugyldigt: Det har enten et foranstillet sprog-, en Interwiki-forkortelse eller indeholder et eller flere tegn, som ikke må anvendes i sidenavne.', |
| 1246 | +'allpages-bad-ns' => 'Navnerummet $1 findes ikke på {{SITENAME}}.', |
1243 | 1247 | |
1244 | 1248 | # Special:Listusers |
1245 | 1249 | 'listusersfrom' => 'Vis brugere fra:', |
— | — | @@ -2197,9 +2201,6 @@ |
2198 | 2202 | 'articletitles' => "Sider, som begynder med ''$1''", |
2199 | 2203 | 'hideresults' => 'Skjul', |
2200 | 2204 | |
2201 | | -# DISPLAYTITLE |
2202 | | -'displaytitle' => '(Henvis til denne side som [[$1]])', |
2203 | | - |
2204 | 2205 | 'loginlanguagelabel' => 'Sprog: $1', |
2205 | 2206 | |
2206 | 2207 | # Multipage image navigation |
Index: branches/robchurch/logs/languages/messages/MessagesZh_tw.php |
— | — | @@ -791,6 +791,9 @@ |
792 | 792 | 'userrights-groupsavailable' => '可用群組:', |
793 | 793 | 'userrights-groupshelp' => '請選擇您想讓用戶加入或退出的群組。沒有選擇的群組將不會被改變。您也可以用"CTRL + 左擊滑鼠"複選或取消已經選擇的群組。', |
794 | 794 | 'userrights-reason' => '更改原因:', |
| 795 | +'userrights-list' => '因為您是$1的成員,您可以加入$2以及移除$3。', |
| 796 | +'userrights-list-nogroups' => '無組別', |
| 797 | +'userrights-list-groups' => '$2{{PLURAL:$1|組別|組別}}', |
795 | 798 | |
796 | 799 | # Groups |
797 | 800 | 'group' => '群組:', |
— | — | @@ -874,7 +877,7 @@ |
875 | 878 | 'uploadedfiles' => '已上載文件', |
876 | 879 | 'ignorewarning' => '忽略警告並儲存檔案。', |
877 | 880 | 'ignorewarnings' => '忽略所有警告', |
878 | | -'minlength' => '檔案名字必須至少有三個字母。', |
| 881 | +'minlength1' => '檔案名字必須至少有一個字母。', |
879 | 882 | 'illegalfilename' => '檔案名"$1"包含有頁面標題所禁止的字符。請改名後重新上傳。', |
880 | 883 | 'badfilename' => '檔案名已被改為"$1"。', |
881 | 884 | 'filetype-badmime' => 'MIME類別"$1"不是容許的檔案格式。', |
— | — | @@ -1011,7 +1014,7 @@ |
1012 | 1015 | 'disambiguations-text' => '以下的頁面都有到<b>消含糊頁</b>的鏈接, 但它們應該是連到適當的標題。<br />一個頁面會被視為消含糊頁如果它是連自[[MediaWiki:disambiguationspage]]。', |
1013 | 1016 | |
1014 | 1017 | 'doubleredirects' => '雙重重定向頁面', |
1015 | | -'doubleredirectstext' => '每一行都包含到第一和第二個重定向頁面的鏈接,以及第二個重定向頁面的第一行文字,通常顯示的都會是"真正"的目標頁面,也就是第一個重定向頁面應該指向的頁面。', |
| 1018 | +'doubleredirectstext' => '每一行都包含到第一和第二個重定向頁面的鏈接,以及第二個重定向頁面的目標,通常顯示的都會是"真正"的目標頁面,也就是第一個重定向頁面應該指向的頁面。', |
1016 | 1019 | |
1017 | 1020 | 'brokenredirects' => '損壞的重定向頁', |
1018 | 1021 | 'brokenredirectstext' => '以下的重定向頁指向的是不存在的頁面:', |
— | — | @@ -1351,6 +1354,9 @@ |
1352 | 1355 | 'uclinks' => '參看最後$1次修改;參看最後$2天。', |
1353 | 1356 | 'uctop' => ' (最新修改)', |
1354 | 1357 | |
| 1358 | +'month' => '月份:', |
| 1359 | +'year' => '年份:', |
| 1360 | + |
1355 | 1361 | 'sp-contributions-newest' => '最新', |
1356 | 1362 | 'sp-contributions-oldest' => '最舊', |
1357 | 1363 | 'sp-contributions-newer' => '前$1次', |
— | — | @@ -1498,11 +1504,11 @@ |
1499 | 1505 | *您不勾選下面的覆選框。 |
1500 | 1506 | |
1501 | 1507 | 在這些情況下,您在必要時必須手工移動或合併頁面。", |
1502 | | -'movearticle' => '移動頁面', |
| 1508 | +'movearticle' => '移動頁面:', |
1503 | 1509 | 'movenologin' => '未登入', |
1504 | 1510 | 'movenologintext' => '您必須是一名登記用戶並且[[Special:Userlogin|登入]] |
1505 | 1511 | 後才可移動一個頁面。', |
1506 | | -'newtitle' => '新標題', |
| 1512 | +'newtitle' => '新標題:', |
1507 | 1513 | 'move-watch' => '監視此頁', |
1508 | 1514 | 'movepagebtn' => '移動頁面', |
1509 | 1515 | 'pagemovedsub' => '移動成功', |
— | — | @@ -2039,6 +2045,7 @@ |
2040 | 2046 | 'watchlistall1' => '全部', |
2041 | 2047 | 'watchlistall2' => '全部', |
2042 | 2048 | 'namespacesall' => '全部', |
| 2049 | +'monthsall' => '全部', |
2043 | 2050 | |
2044 | 2051 | # E-mail address confirmation |
2045 | 2052 | 'confirmemail' => '確認郵箱位址', |
— | — | @@ -2109,9 +2116,6 @@ |
2110 | 2117 | 'articletitles' => '文章以"$1"開頭', |
2111 | 2118 | 'hideresults' => '隱藏結果', |
2112 | 2119 | |
2113 | | -# DISPLAYTITLE |
2114 | | -'displaytitle' => '(以[[$1]]連結到此頁)', |
2115 | | - |
2116 | 2120 | 'loginlanguagelabel' => '語言: $1', |
2117 | 2121 | |
2118 | 2122 | # Multipage image navigation |
Index: branches/robchurch/logs/languages/messages/MessagesZh_yue.php |
— | — | @@ -912,6 +912,9 @@ |
913 | 913 | 'userrights-groupsavailable' => '可用嘅組:', |
914 | 914 | 'userrights-groupshelp' => '選擇你想畀用戶加入或移出嘅組。未選擇嘅組將唔會被改變。你可以用CTRL + 撳滑鼠左掣以取消已經選擇嘅一個組', |
915 | 915 | 'userrights-reason' => '更改嘅原因:', |
| 916 | +'userrights-list' => '因為你係$1嘅成員,你可以加入$2同埋拎走$3。', |
| 917 | +'userrights-list-nogroups' => '無組別', |
| 918 | +'userrights-list-groups' => '$2{{PLURAL:$1|組|組}}', |
916 | 919 | |
917 | 920 | # Groups |
918 | 921 | # |
— | — | @@ -996,7 +999,7 @@ |
997 | 1000 | 'uploadedfiles' => '上載檔案中', |
998 | 1001 | 'ignorewarning' => '總要忽略警告同埋儲存檔案。', |
999 | 1002 | 'ignorewarnings' => '忽略任何警告', |
1000 | | -'minlength' => '檔名必須最少要有三個字。', |
| 1003 | +'minlength1' => '檔名必須最少要有一個字。', |
1001 | 1004 | 'illegalfilename' => '檔名「$1」含有頁面標題所唔允許嘅字。請試下改檔名再上載。', |
1002 | 1005 | 'badfilename' => '檔名已經更改成「$1」。', |
1003 | 1006 | 'filetype-badmime' => '「$1」嘅MIME類型檔案係唔容許上載嘅。', |
— | — | @@ -1136,7 +1139,7 @@ |
1137 | 1140 | 'disambiguations-text' => "以下呢啲頁面連結去一個'''搞清楚頁'''。佢哋先至應該指去正確嘅主題。<br />如果一個頁面連結自[[MediaWiki:disambiguationspage]],噉就會當佢係搞清楚頁。", |
1138 | 1141 | |
1139 | 1142 | 'doubleredirects' => '雙重跳轉', |
1140 | | -'doubleredirectstext' => "每一行包括指去第一個同第二個跳轉嘅連結,以及第二個跳轉嘅首行文字。呢行文字通常畀出咗第一個跳轉應該指去嘅嗰個「真正」嘅目標頁面", |
| 1143 | +'doubleredirectstext' => "每一行包括指去第一個同第二個跳轉嘅連結,以及第二個跳轉嘅目標。呢行文字通常畀出咗第一個跳轉應該指去嘅嗰個「真正」嘅目標頁面", |
1141 | 1144 | |
1142 | 1145 | 'brokenredirects' => '破碎嘅跳轉', |
1143 | 1146 | 'brokenredirectstext' => '以下嘅跳轉係指向唔存在嘅頁面:', |
— | — | @@ -1489,6 +1492,9 @@ |
1490 | 1493 | 'uclinks' => "睇吓最近$2日;睇吓最近嘅$1次修改。", |
1491 | 1494 | 'uctop' => ' (最頂)' , |
1492 | 1495 | |
| 1496 | +'month' => '月:', |
| 1497 | +'year' => '年:', |
| 1498 | + |
1493 | 1499 | 'sp-contributions-newest' => '最新', |
1494 | 1500 | 'sp-contributions-oldest' => '最舊', |
1495 | 1501 | 'sp-contributions-newer' => '較新嘅$1次', |
— | — | @@ -1648,10 +1654,10 @@ |
1649 | 1655 | *你唔剔下面個框。 |
1650 | 1656 | |
1651 | 1657 | 喺呢啲情況下,需要嘅話你唯有手動搬同合併個頁面。', |
1652 | | -'movearticle' => '搬頁', |
| 1658 | +'movearticle' => '搬頁:', |
1653 | 1659 | 'movenologin' => '未登入', |
1654 | 1660 | 'movenologintext' => "你要係註冊用戶而且要[[Special:Userlogin|登入]]咗先可以搬頁", |
1655 | | -'newtitle' => '到新標題', |
| 1661 | +'newtitle' => '到新標題:', |
1656 | 1662 | 'move-watch' => '睇實呢一版', |
1657 | 1663 | 'movepagebtn' => '搬頁', |
1658 | 1664 | 'pagemovedsub' => '搬頁成功', |
— | — | @@ -2211,6 +2217,7 @@ |
2212 | 2218 | 'watchlistall1' => '全部', |
2213 | 2219 | 'watchlistall2' => '全部', |
2214 | 2220 | 'namespacesall' => '全部', |
| 2221 | +'monthsall' => '全部', |
2215 | 2222 | |
2216 | 2223 | # E-mail address confirmation |
2217 | 2224 | 'confirmemail' => '確認電郵地址', |
— | — | @@ -2290,9 +2297,6 @@ |
2291 | 2298 | 'articletitles' => "以''$1''開頭嘅文章", |
2292 | 2299 | 'hideresults' => '收埋結果', |
2293 | 2300 | |
2294 | | -# DISPLAYTITLE |
2295 | | -'displaytitle' => '(以[[$1]]連結到呢一頁)', |
2296 | | - |
2297 | 2301 | 'loginlanguagelabel' => '語言:$1', |
2298 | 2302 | |
2299 | 2303 | # Multipage image navigation |
Index: branches/robchurch/logs/languages/messages/MessagesKk_tr.php |
— | — | @@ -1136,6 +1136,9 @@ |
1137 | 1137 | 'userrights-groupshelp' => 'Qatıswşını üsteýtin ne alastatın toptardı talğañız. |
1138 | 1138 | Talğawı öşirilgen toptar özgertilimeýdi. Toptardıñ talğawın CTRL + Sol jaq nuqwmen öşirwiñizge boladı.', |
1139 | 1139 | 'userrights-reason' => 'Özgertw sebebi:', |
| 1140 | +'userrights-list' => '$1 müşesi bolğandıqtan $2 üsteý alasız jäne $3 alastaý alasız.', |
| 1141 | +'userrights-list-nogroups' => 'toptarsız', |
| 1142 | +'userrights-list-groups' => '$2 {{PLURAL:$1|top|toptar}}', |
1140 | 1143 | |
1141 | 1144 | # Groups |
1142 | 1145 | 'group' => 'Top:', |
— | — | @@ -1216,7 +1219,7 @@ |
1217 | 1220 | 'uploadedfiles' => 'Qotarılğan faýldar', |
1218 | 1221 | 'ignorewarning' => 'Nazar salwdı elemew jäne faýldı ärdeqaşan saqtaw.', |
1219 | 1222 | 'ignorewarnings' => 'Ärqaýsı nazar salwlardı elemew', |
1220 | | -'minlength' => 'Faýl atında eñ keminde üş ärip bolwı kerek.', |
| 1223 | +'minlength1' => 'Faýl atawında eñ keminde bir ärip bolwı qajet.', |
1221 | 1224 | 'illegalfilename' => '«$1» faýl atawında bet atawlarında ruqsat etilmegen nışandar bar. Faýldı qaýta atañız, sosın qaýta jwktep köriñiz.', |
1222 | 1225 | 'badfilename' => 'Faýldıñ atı «$1» bop özgertildi.', |
1223 | 1226 | 'filetype-badmime' => '«$1» degen MIME türi bar faýldardı qotarwğa ruqsat etilmeýdi.', |
— | — | @@ -1358,7 +1361,7 @@ |
1359 | 1362 | 'disambiguations-text' => "Kelesi better '''aýrıqtı betke''' silteýdi. Bunıñ ornına belgili taqırıpqa siltewi qajet.<br />Eger [[{{ns:mediawiki}}:disambiguationspage]] tizimindegi ülgi qoldanılsa, bet aýrıqtı dep sanaladı.", |
1360 | 1363 | |
1361 | 1364 | 'doubleredirects' => 'Şınjırlı aýdatwlar', |
1362 | | -'doubleredirectstext' => 'Ärbir joldağı birinşi men ekinşi aýdatw siltemeleri bar, sonımen birge ekinşi aýdatw mätinniñ birinşi jolı bar. Ädette birinşi silteme aýdaýtın «şın» aqırğı bettiñ atawı bolwı qajet.', |
| 1365 | +'doubleredirectstext' => 'Ärbir jolaqta birinşi jäne ekinşi aýdatwğa siltemeler bar, sonımen birge ekinşi aýdatw nısanası bar, ädette bul birinşi aýdatw bağıttaýtın «şın» nısana bet atawı bolwı qajet.', |
1363 | 1366 | |
1364 | 1367 | 'brokenredirects' => 'Eş betke keltirmeýtin aýdatwlar', |
1365 | 1368 | 'brokenredirectstext' => 'Kelesi aýdatwlar joq betterge silteýdi:', |
— | — | @@ -1719,6 +1722,9 @@ |
1720 | 1723 | 'uclinks' => 'Soñğı $2 kündegi, soñğı jasalğan $1 özgerisin qaraw.', |
1721 | 1724 | 'uctop' => ' (üsti)', |
1722 | 1725 | |
| 1726 | +'month' => 'Aý:', |
| 1727 | +'year' => 'Jıl:', |
| 1728 | + |
1723 | 1729 | 'sp-contributions-newest' => 'Eñ jañasına', |
1724 | 1730 | 'sp-contributions-oldest' => 'Eñ eskisine', |
1725 | 1731 | 'sp-contributions-newer' => 'Jañalaw $1', |
— | — | @@ -2478,6 +2484,7 @@ |
2479 | 2485 | 'watchlistall1' => 'barlığı', |
2480 | 2486 | 'watchlistall2' => 'barlıq', |
2481 | 2487 | 'namespacesall' => 'barlığı', |
| 2488 | +'monthsall' => 'barlığı', |
2482 | 2489 | |
2483 | 2490 | # E-mail address confirmation |
2484 | 2491 | 'confirmemail' => 'E-poşta jaýın kwälandırw', |
— | — | @@ -2557,9 +2564,6 @@ |
2558 | 2565 | 'articletitles' => "Atawları mınadan bastalğan better: ''$1''", |
2559 | 2566 | 'hideresults' => 'Nätïjelerdi jasır', |
2560 | 2567 | |
2561 | | -# DISPLAYTITLE |
2562 | | -'displaytitle' => '(Bul bettiñ siltemesi: [[$1]])', |
2563 | | - |
2564 | 2568 | 'loginlanguagelabel' => 'Til: $1', |
2565 | 2569 | |
2566 | 2570 | # Multipage image navigation |
Index: branches/robchurch/logs/languages/messages/MessagesTi.php |
— | — | @@ -0,0 +1,146 @@ |
| 2 | +<?php |
| 3 | +/** Tigrinya (ትግርኛ) |
| 4 | + * |
| 5 | + * Translators: Blake |
| 6 | + * |
| 7 | + * @addtogroup Language |
| 8 | + * @author Niklas Laxström |
| 9 | + */ |
| 10 | + |
| 11 | +$messages = array( |
| 12 | +'underline-always' => 'ጥራይ', |
| 13 | +'underline-never' => 'ኣይትግበሩ', |
| 14 | + |
| 15 | +# Dates |
| 16 | +'sunday' => 'ሰንበት', |
| 17 | +'monday' => 'ሰኑይ', |
| 18 | +'tuesday' => 'ሰሉስ', |
| 19 | +'wednesday' => 'ረብዓ', |
| 20 | +'thursday' => 'ኃሙስ', |
| 21 | +'friday' => 'ዓርቢ', |
| 22 | +'saturday' => 'ቀዳም', |
| 23 | +'january' => 'ትሪ', |
| 24 | +'february' => 'ለካቲት', |
| 25 | +'march' => 'መጋቢት', |
| 26 | +'april' => 'ሚያዝያ', |
| 27 | +'may_long' => 'ግንቦት', |
| 28 | +'june' => 'ሰነ', |
| 29 | +'july' => 'ሓምለ', |
| 30 | +'august' => 'ነሓሰ', |
| 31 | +'september' => 'መስከረም', |
| 32 | +'october' => 'ጥቅምቲ', |
| 33 | +'november' => 'ኅዳር', |
| 34 | +'december' => 'ታኅሣሥ', |
| 35 | + |
| 36 | +'about' => 'ብዛዕባ ብጠቅላላ', |
| 37 | +'qbpageoptions' => 'ፅሑፍዚ', |
| 38 | +'qbmyoptions' => 'ፅሑፋተይ', |
| 39 | +'mypage' => 'ፅሑፈይ', |
| 40 | + |
| 41 | +'search' => 'ድሉይ', |
| 42 | +'searchbutton' => 'ድሉይ', |
| 43 | +'history' => 'ናይ ፅሑፍ ታሪኽ', |
| 44 | +'history_short' => 'ታሪኽ', |
| 45 | +'jumptosearch' => 'ድሉይ', |
| 46 | + |
| 47 | +# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations). |
| 48 | +'aboutsite' => 'ብዛዕባ {{SITENAME}} ብጠቅላላ', |
| 49 | +'mainpage' => 'መበገሲ ገጽ', |
| 50 | + |
| 51 | +# Short words for each namespace, by default used in the 'article' tab in monobook |
| 52 | +'nstab-main' => 'ፅሑፍ', |
| 53 | +'nstab-user' => 'ናይ ፅሑፍ ኣባል', |
| 54 | +'nstab-project' => 'ናይ ፅሑፍ ዊኪፒዲያ', |
| 55 | +'nstab-image' => 'ምስሊ', |
| 56 | + |
| 57 | +# General errors |
| 58 | +'viewsourcefor' => 'ን$1', |
| 59 | + |
| 60 | +# Login and logout pages |
| 61 | +'yourlanguage' => 'ቋንቋ:', |
| 62 | + |
| 63 | +# History pages |
| 64 | +'next' => 'ዝቕጽል', |
| 65 | + |
| 66 | +# Search results |
| 67 | +'prevn' => 'ናይ ቀደም $1', |
| 68 | +'nextn' => 'ዝቕጽል $1', |
| 69 | +'powersearch' => 'ድሉይ', |
| 70 | + |
| 71 | +# Preferences page |
| 72 | +'preferences' => 'ኣማረጽቲ', |
| 73 | +'mypreferences' => 'ናተይ ኣማረጽቲ', |
| 74 | +'searchresultshead' => 'ድሉይ', |
| 75 | +'files' => 'ምስልታት', |
| 76 | + |
| 77 | +# Groups |
| 78 | +'group' => 'ብሓበር:', |
| 79 | +'group-sysop' => 'ሲሶፓት', |
| 80 | + |
| 81 | +'group-sysop-member' => 'ሲሶፕ', |
| 82 | + |
| 83 | +# Recent changes |
| 84 | +'hist' => 'ታሪኽ', |
| 85 | + |
| 86 | +# Image list |
| 87 | +'imagelist' => 'ምስልታት', |
| 88 | +'ilsubmit' => 'ድሉይ', |
| 89 | +'imgfile' => 'ምስሊ', |
| 90 | +'imghistory' => 'ናይ ምስሊ ታሪኽ', |
| 91 | +'imagelist_user' => 'ኣባል', |
| 92 | + |
| 93 | +# Miscellaneous special pages |
| 94 | +'nbytes' => '$1 {{PLURAL:$1|ባይት|ባይታት}}', |
| 95 | +'listusers' => 'ኣባላት', |
| 96 | +'newpages' => 'ሓደሽቲ ዛዕባታት', |
| 97 | + |
| 98 | +'alphaindexline' => '$1 ናብ $2', |
| 99 | + |
| 100 | +# Special:Log |
| 101 | +'specialloguserlabel' => 'ኣባል:', |
| 102 | + |
| 103 | +# Special:Allpages |
| 104 | +'nextpage' => 'ዝቕጽል ፅሑፍ ($1)', |
| 105 | +'prevpage' => 'ናይ ቀደም ፅሑፍ ($1)', |
| 106 | +'allpagesprev' => 'ናይ ቀደም', |
| 107 | +'allpagesnext' => 'ዝቕጽል', |
| 108 | + |
| 109 | +# Watchlist |
| 110 | +'watchlistfor' => "(ን'''$1''')", |
| 111 | + |
| 112 | +# Delete/protect/revert |
| 113 | +'pagesize' => '(ባይታት)', |
| 114 | + |
| 115 | +# Undelete |
| 116 | +'undelete-search-submit' => 'ድሉይ', |
| 117 | + |
| 118 | +# Contributions |
| 119 | +'contribsub2' => 'ን$1 ($2)', |
| 120 | + |
| 121 | +'sp-contributions-submit' => 'ድሉይ', |
| 122 | + |
| 123 | +# Block/unblock |
| 124 | +'ipblocklist-submit' => 'ድሉይ', |
| 125 | + |
| 126 | +# Tooltip help for the actions |
| 127 | +'tooltip-pt-preferences' => 'ናተይ ኣማረጽቲ', |
| 128 | + |
| 129 | +'loginlanguagelabel' => 'ቋንቋ: $1', |
| 130 | + |
| 131 | +# Multipage image navigation |
| 132 | +'imgmultipageprev' => '← ናይ ቀደም ፅሑፍ', |
| 133 | +'imgmultipagenext' => 'ዝቕጽል ፅሑፍ →', |
| 134 | + |
| 135 | +# Table pager |
| 136 | +'table_pager_next' => 'ዝቕጽል ፅሑፍ', |
| 137 | +'table_pager_prev' => 'ናይ ቀደም ፅሑፍ', |
| 138 | + |
| 139 | +# Size units |
| 140 | +'size-bytes' => '$1 ባይታት', |
| 141 | +'size-kilobytes' => '$1 ኪሎባይታት', |
| 142 | +'size-megabytes' => '$1 ሜጋባይታት', |
| 143 | +'size-gigabytes' => '$1 ጊጋባይታት', |
| 144 | + |
| 145 | +); |
| 146 | + |
| 147 | +?> |
Property changes on: branches/robchurch/logs/languages/messages/MessagesTi.php |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 148 | + native |
Index: branches/robchurch/logs/languages/messages/MessagesKk_cn.php |
— | — | @@ -1143,6 +1143,9 @@ |
1144 | 1144 | 'userrights-groupshelp' => 'قاتىسۋشىنى ٷستەيتٸن نە الاستاتىن توپتاردى تالعاڭىز. |
1145 | 1145 | تالعاۋى ٶشٸرٸلگەن توپتار ٶزگەرتٸلٸمەيدٸ. توپتاردىڭ تالعاۋىن CTRL + سول جاق نۇقۋمەن ٶشٸرۋٸڭٸزگە بولادى.', |
1146 | 1146 | 'userrights-reason' => 'ٶزگەرتۋ سەبەبٸ:', |
| 1147 | +'userrights-list' => '$1 مٷشەسٸ بولعاندىقتان $2 ٷستەي الاسىز جٵنە $3 الاستاي الاسىز.', |
| 1148 | +'userrights-list-nogroups' => 'توپتارسىز', |
| 1149 | +'userrights-list-groups' => '$2 {{PLURAL:$1|توپ|توپتار}}', |
1147 | 1150 | |
1148 | 1151 | # Groups |
1149 | 1152 | 'group' => 'توپ:', |
— | — | @@ -1223,7 +1226,7 @@ |
1224 | 1227 | 'uploadedfiles' => 'قوتارىلعان فايلدار', |
1225 | 1228 | 'ignorewarning' => 'نازار سالۋدى ەلەمەۋ جٵنە فايلدى ٵردەقاشان ساقتاۋ.', |
1226 | 1229 | 'ignorewarnings' => 'ٵرقايسى نازار سالۋلاردى ەلەمەۋ', |
1227 | | -'minlength' => 'فايل اتىندا ەڭ كەمٸندە ٷش ٵرٸپ بولۋى كەرەك.', |
| 1230 | +'minlength1' => 'فايل اتاۋىندا ەڭ كەمٸندە بٸر ٵرٸپ بولۋى قاجەت.', |
1228 | 1231 | 'illegalfilename' => '«$1» فايل اتاۋىندا بەت اتاۋلارىندا رۇقسات ەتٸلمەگەن نىشاندار بار. فايلدى قايتا اتاڭىز, سوسىن قايتا جۋكتەپ كٶرٸڭٸز.', |
1229 | 1232 | 'badfilename' => 'فايلدىڭ اتى «$1» بوپ ٶزگەرتٸلدٸ.', |
1230 | 1233 | 'filetype-badmime' => '«$1» دەگەن MIME تٷرٸ بار فايلداردى قوتارۋعا رۇقسات ەتٸلمەيدٸ.', |
— | — | @@ -1365,7 +1368,7 @@ |
1366 | 1369 | 'disambiguations-text' => "كەلەسٸ بەتتەر '''ايرىقتى بەتكە''' سٸلتەيدٸ. بۇنىڭ ورنىنا بەلگٸلٸ تاقىرىپقا سٸلتەۋٸ قاجەت.<br />ەگەر [[{{ns:mediawiki}}:disambiguationspage]] تٸزٸمٸندەگٸ ٷلگٸ قولدانىلسا, بەت ايرىقتى دەپ سانالادى.", |
1367 | 1370 | |
1368 | 1371 | 'doubleredirects' => 'شىنجىرلى ايداتۋلار', |
1369 | | -'doubleredirectstext' => 'ٵربٸر جولداعى بٸرٸنشٸ مەن ەكٸنشٸ ايداتۋ سٸلتەمەلەرٸ بار, سونىمەن بٸرگە ەكٸنشٸ ايداتۋ مٵتٸننٸڭ بٸرٸنشٸ جولى بار. ٵدەتتە بٸرٸنشٸ سٸلتەمە ايدايتىن «شىن» اقىرعى بەتتٸڭ اتاۋى بولۋى قاجەت.', |
| 1372 | +'doubleredirectstext' => 'ٵربٸر جولاقتا بٸرٸنشٸ جٵنە ەكٸنشٸ ايداتۋعا سٸلتەمەلەر بار, سونىمەن بٸرگە ەكٸنشٸ ايداتۋ نىساناسى بار, ٵدەتتە بۇل بٸرٸنشٸ ايداتۋ باعىتتايتىن «شىن» نىسانا بەت اتاۋى بولۋى قاجەت.', |
1370 | 1373 | |
1371 | 1374 | 'brokenredirects' => 'ەش بەتكە كەلتٸرمەيتٸن ايداتۋلار', |
1372 | 1375 | 'brokenredirectstext' => 'كەلەسٸ ايداتۋلار جوق بەتتەرگە سٸلتەيدٸ:', |
— | — | @@ -1726,6 +1729,9 @@ |
1727 | 1730 | 'uclinks' => 'سوڭعى $2 كٷندەگٸ, سوڭعى جاسالعان $1 ٶزگەرٸسٸن قاراۋ.', |
1728 | 1731 | 'uctop' => ' (ٷستٸ)', |
1729 | 1732 | |
| 1733 | +'month' => 'اي:', |
| 1734 | +'year' => 'جىل:', |
| 1735 | + |
1730 | 1736 | 'sp-contributions-newest' => 'ەڭ جاڭاسىنا', |
1731 | 1737 | 'sp-contributions-oldest' => 'ەڭ ەسكٸسٸنە', |
1732 | 1738 | 'sp-contributions-newer' => 'جاڭالاۋ $1', |
— | — | @@ -2485,6 +2491,7 @@ |
2486 | 2492 | 'watchlistall1' => 'بارلىعى', |
2487 | 2493 | 'watchlistall2' => 'بارلىق', |
2488 | 2494 | 'namespacesall' => 'بارلىعى', |
| 2495 | +'monthsall' => 'بارلىعى', |
2489 | 2496 | |
2490 | 2497 | # E-mail address confirmation |
2491 | 2498 | 'confirmemail' => 'ە-پوشتا جايىن كۋٵلاندىرۋ', |
— | — | @@ -2564,9 +2571,6 @@ |
2565 | 2572 | 'articletitles' => "اتاۋلارى مىنادان باستالعان بەتتەر: ''$1''", |
2566 | 2573 | 'hideresults' => 'نٵتيجەلەردٸ جاسىر', |
2567 | 2574 | |
2568 | | -# DISPLAYTITLE |
2569 | | -'displaytitle' => '(بۇل بەتتٸڭ سٸلتەمەسٸ: [[$1]])', |
2570 | | - |
2571 | 2575 | 'loginlanguagelabel' => 'تٸل: $1', |
2572 | 2576 | |
2573 | 2577 | # Multipage image navigation |
Index: branches/robchurch/logs/languages/messages/MessagesKk_kz.php |
— | — | @@ -1135,6 +1135,9 @@ |
1136 | 1136 | 'userrights-groupshelp' => 'Қатысушыны үстейтін не аластатын топтарды талғаңыз. |
1137 | 1137 | Талғауы өшірілген топтар өзгертілімейді. Топтардың талғауын CTRL + Сол жақ нұқумен өшіруіңізге болады.', |
1138 | 1138 | 'userrights-reason' => 'Өзгерту себебі:', |
| 1139 | +'userrights-list' => '$1 мүшесі болғандықтан $2 үстей аласыз және $3 аластай аласыз.', |
| 1140 | +'userrights-list-nogroups' => 'топтарсыз', |
| 1141 | +'userrights-list-groups' => '$2 {{PLURAL:$1|топ|топтар}}', |
1139 | 1142 | |
1140 | 1143 | # Groups |
1141 | 1144 | 'group' => 'Топ:', |
— | — | @@ -1215,7 +1218,7 @@ |
1216 | 1219 | 'uploadedfiles' => 'Қотарылған файлдар', |
1217 | 1220 | 'ignorewarning' => 'Назар салуды елемеу және файлды әрдеқашан сақтау.', |
1218 | 1221 | 'ignorewarnings' => 'Әрқайсы назар салуларды елемеу', |
1219 | | -'minlength' => 'Файл атында ең кемінде үш әріп болуы керек.', |
| 1222 | +'minlength1' => 'Файл атауында ең кемінде бір әріп болуы қажет.', |
1220 | 1223 | 'illegalfilename' => '«$1» файл атауында бет атауларында рұқсат етілмеген нышандар бар. Файлды қайта атаңыз, сосын қайта жуктеп көріңіз.', |
1221 | 1224 | 'badfilename' => 'Файлдың аты «$1» боп өзгертілді.', |
1222 | 1225 | 'filetype-badmime' => '«$1» деген MIME түрі бар файлдарды қотаруға рұқсат етілмейді.', |
— | — | @@ -1357,7 +1360,7 @@ |
1358 | 1361 | 'disambiguations-text' => "Келесі беттер '''айрықты бетке''' сілтейді. Бұның орнына белгілі тақырыпқа сілтеуі қажет.<br />Егер [[{{ns:mediawiki}}:disambiguationspage]] тізіміндегі үлгі қолданылса, бет айрықты деп саналады.", |
1359 | 1362 | |
1360 | 1363 | 'doubleredirects' => 'Шынжырлы айдатулар', |
1361 | | -'doubleredirectstext' => 'Әрбір жолдағы бірінші мен екінші айдату сілтемелері бар, сонымен бірге екінші айдату мәтіннің бірінші жолы бар. Әдетте бірінші сілтеме айдайтын «шын» ақырғы беттің атауы болуы қажет.', |
| 1364 | +'doubleredirectstext' => 'Әрбір жолақта бірінші және екінші айдатуға сілтемелер бар, сонымен бірге екінші айдату нысанасы бар, әдетте бұл бірінші айдату бағыттайтын «шын» нысана бет атауы болуы қажет.', |
1362 | 1365 | |
1363 | 1366 | 'brokenredirects' => 'Еш бетке келтірмейтін айдатулар', |
1364 | 1367 | 'brokenredirectstext' => 'Келесі айдатулар жоқ беттерге сілтейді:', |
— | — | @@ -1718,6 +1721,9 @@ |
1719 | 1722 | 'uclinks' => 'Соңғы $2 күндегі, соңғы жасалған $1 өзгерісін қарау.', |
1720 | 1723 | 'uctop' => ' (үсті)', |
1721 | 1724 | |
| 1725 | +'month' => 'Ай:', |
| 1726 | +'year' => 'Жыл:', |
| 1727 | + |
1722 | 1728 | 'sp-contributions-newest' => 'Ең жаңасына', |
1723 | 1729 | 'sp-contributions-oldest' => 'Ең ескісіне', |
1724 | 1730 | 'sp-contributions-newer' => 'Жаңалау $1', |
— | — | @@ -2477,6 +2483,7 @@ |
2478 | 2484 | 'watchlistall1' => 'барлығы', |
2479 | 2485 | 'watchlistall2' => 'барлық', |
2480 | 2486 | 'namespacesall' => 'барлығы', |
| 2487 | +'monthsall' => 'барлығы', |
2481 | 2488 | |
2482 | 2489 | # E-mail address confirmation |
2483 | 2490 | 'confirmemail' => 'Е-пошта жайын куәландыру', |
— | — | @@ -2556,9 +2563,6 @@ |
2557 | 2564 | 'articletitles' => "Атаулары мынадан басталған беттер: ''$1''", |
2558 | 2565 | 'hideresults' => 'Нәтижелерді жасыр', |
2559 | 2566 | |
2560 | | -# DISPLAYTITLE |
2561 | | -'displaytitle' => '(Бұл беттің сілтемесі: [[$1]])', |
2562 | | - |
2563 | 2567 | 'loginlanguagelabel' => 'Тіл: $1', |
2564 | 2568 | |
2565 | 2569 | # Multipage image navigation |
Index: branches/robchurch/logs/includes/api/ApiMain.php |
— | — | @@ -425,6 +425,7 @@ |
426 | 426 | */ |
427 | 427 | public function getVersion() { |
428 | 428 | $vers = array (); |
| 429 | + $vers[] = 'MediaWiki ' . SpecialVersion::getVersion(); |
429 | 430 | $vers[] = __CLASS__ . ': $Id$'; |
430 | 431 | $vers[] = ApiBase :: getBaseVersion(); |
431 | 432 | $vers[] = ApiFormatBase :: getBaseVersion(); |
Index: branches/robchurch/logs/includes/SpecialUserrights.php |
— | — | @@ -153,11 +153,23 @@ |
154 | 154 | return; |
155 | 155 | } |
156 | 156 | |
| 157 | + $this->showEditUserGroupsForm( $username, $user->getGroups() ); |
| 158 | + } |
| 159 | + |
| 160 | + /** |
| 161 | + * Go through used and available groups and return the ones that this |
| 162 | + * form will be able to manipulate based on the current user's system |
| 163 | + * permissions. |
| 164 | + * |
| 165 | + * @param $groups Array: list of groups the given user is in |
| 166 | + * @return Array: Tuple of addable, then removable groups |
| 167 | + */ |
| 168 | + protected function splitGroups( $groups ) { |
157 | 169 | list($addable, $removable) = array_values( $this->changeableGroups() ); |
158 | | - $removable = array_intersect($removable, $user->getGroups()); // Can't remove groups the user doesn't have |
159 | | - $addable = array_diff( $addable, $user->getGroups()); // Can't add groups the user does have |
160 | | - |
161 | | - $this->showEditUserGroupsForm( $username, $addable, $removable ); |
| 170 | + $removable = array_intersect($removable, $groups ); // Can't remove groups the user doesn't have |
| 171 | + $addable = array_diff( $addable, $groups ); // Can't add groups the user does have |
| 172 | + |
| 173 | + return array( $addable, $removable ); |
162 | 174 | } |
163 | 175 | |
164 | 176 | /** |
— | — | @@ -165,11 +177,12 @@ |
166 | 178 | * |
167 | 179 | * @todo make all CSS-y and semantic |
168 | 180 | * @param $username String: Name of user you're editing |
169 | | - * @param $addable Array: Array of groups that can be added |
170 | | - * @param $removable Array: Array of groups that can be removed |
| 181 | + * @param $groups Array: Array of groups the user is in |
171 | 182 | */ |
172 | | - private function showEditUserGroupsForm( $username, $addable, $removable ) { |
| 183 | + protected function showEditUserGroupsForm( $username, $groups ) { |
173 | 184 | global $wgOut, $wgUser; |
| 185 | + |
| 186 | + list( $addable, $removable ) = $this->splitGroups( $groups ); |
174 | 187 | |
175 | 188 | $wgOut->addHTML( |
176 | 189 | Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->action, 'name' => 'editGroup' ) ) . |
Index: branches/robchurch/logs/includes/XmlFunctions.php |
— | — | @@ -18,9 +18,6 @@ |
19 | 19 | function HTMLnamespaceselector($selected = '', $allnamespaces = null, $includehidden=false) { |
20 | 20 | return Xml::namespaceSelector( $selected, $allnamespaces, $includehidden ); |
21 | 21 | } |
22 | | -function HTMLmonthelector($selected = '', $allmonths = null) { |
23 | | - return Xml::monthSelector( $selected, $allmonths ); |
24 | | -} |
25 | 22 | function wfSpan( $text, $class, $attribs=array() ) { |
26 | 23 | return Xml::span( $text, $class, $attribs ); |
27 | 24 | } |
Index: branches/robchurch/logs/includes/User.php |
— | — | @@ -1637,6 +1637,8 @@ |
1638 | 1638 | $this->mEffectiveGroups[] = 'emailconfirmed'; |
1639 | 1639 | } |
1640 | 1640 | } |
| 1641 | + # Hook for additional groups |
| 1642 | + wfRunHooks( 'UserEffectiveGroups', array( &$this, &$this->mEffectiveGroups ) ); |
1641 | 1643 | } |
1642 | 1644 | } |
1643 | 1645 | return $this->mEffectiveGroups; |
— | — | @@ -2467,6 +2469,18 @@ |
2468 | 2470 | $this->mEmailToken && |
2469 | 2471 | $this->mEmailTokenExpires > wfTimestamp(); |
2470 | 2472 | } |
| 2473 | + |
| 2474 | + /** |
| 2475 | + * Get the timestamp of account creation, or false for |
| 2476 | + * non-existent/anonymous user accounts |
| 2477 | + * |
| 2478 | + * @return mixed |
| 2479 | + */ |
| 2480 | + public function getRegistration() { |
| 2481 | + return $this->mId > 0 |
| 2482 | + ? $this->mRegistration |
| 2483 | + : false; |
| 2484 | + } |
2471 | 2485 | |
2472 | 2486 | /** |
2473 | 2487 | * @param array $groups list of groups |
Index: branches/robchurch/logs/includes/SpecialLog.php |
— | — | @@ -323,25 +323,13 @@ |
324 | 324 | } |
325 | 325 | |
326 | 326 | function doShowList( &$out, $result ) { |
327 | | - global $wgLang; |
328 | | - |
329 | | - $lastdate = ''; |
330 | | - $listopen = false; |
331 | 327 | // Rewind result pointer and go through it again, making the HTML |
332 | | - $html = ''; |
| 328 | + $html = "\n<ul>\n"; |
333 | 329 | $result->seek( 0 ); |
334 | 330 | while( $s = $result->fetchObject() ) { |
335 | | - $date = $wgLang->date( $s->log_timestamp, /* adj */ true ); |
336 | | - if ( $date != $lastdate ) { |
337 | | - if ( $listopen ) { $html .= Xml::closeElement( 'ul' ); } |
338 | | - $html .= Xml::element('h4', null, $date) . "\n"; |
339 | | - $html .= Xml::openElement( 'ul' ); |
340 | | - $listopen = true; |
341 | | - $lastdate = $date; |
342 | | - } |
343 | 331 | $html .= $this->logLine( $s ); |
344 | 332 | } |
345 | | - if ( $listopen ) { $html .= Xml::closeElement( 'ul' ); } |
| 333 | + $html .= "\n</ul>\n"; |
346 | 334 | $out->addHTML( $html ); |
347 | 335 | $result->free(); |
348 | 336 | } |
— | — | @@ -358,7 +346,7 @@ |
359 | 347 | */ |
360 | 348 | private function logLine( $row ) { |
361 | 349 | $line = LogItem::newFromRow( $row ); |
362 | | - return $line->format( LogFormatter::NO_DATE ); |
| 350 | + return $line->format(); |
363 | 351 | } |
364 | 352 | |
365 | 353 | /** |
Index: branches/robchurch/logs/includes/Xml.php |
— | — | @@ -123,28 +123,6 @@ |
124 | 124 | $s .= "</select>\n"; |
125 | 125 | return $s; |
126 | 126 | } |
127 | | - |
128 | | - /** |
129 | | - * Create a date selector |
130 | | - * |
131 | | - * @param $selected Mixed: the month which should be selected, default '' |
132 | | - * @param $allmonths String: value of a special item denoting all month. Null to not include (default) |
133 | | - * @param string $id Element identifier |
134 | | - * @return String: Html string containing the month selector |
135 | | - */ |
136 | | - public static function monthSelector( $selected = '', $allmonths = null, $id = 'month' ) { |
137 | | - global $wgLang; |
138 | | - $options = array(); |
139 | | - if( is_null( $selected ) ) |
140 | | - $selected = ''; |
141 | | - if( !is_null( $allmonths ) ) |
142 | | - $options[] = self::option( wfMsg( 'monthsall' ), $allmonths, $selected === $allmonths ); |
143 | | - for( $i = 1; $i < 13; $i++ ) |
144 | | - $options[] = self::option( $wgLang->getMonthName( $i ), $i, $selected === $i ); |
145 | | - return self::openElement( 'select', array( 'id' => $id, 'name' => 'month' ) ) |
146 | | - . implode( "\n", $options ) |
147 | | - . self::closeElement( 'select' ); |
148 | | - } |
149 | 127 | |
150 | 128 | /** |
151 | 129 | * |
Index: branches/robchurch/logs/includes/SpecialContributions.php |
— | — | @@ -9,19 +9,13 @@ |
10 | 10 | var $messages, $target; |
11 | 11 | var $namespace = '', $mDb; |
12 | 12 | |
13 | | - function __construct( $target, $namespace = false, $year = false, $month = false ) { |
| 13 | + function __construct( $target, $namespace = false ) { |
14 | 14 | parent::__construct(); |
15 | 15 | foreach( explode( ' ', 'uctop diff newarticle rollbacklink diff hist minoreditletter' ) as $msg ) { |
16 | 16 | $this->messages[$msg] = wfMsgExt( $msg, array( 'escape') ); |
17 | 17 | } |
18 | 18 | $this->target = $target; |
19 | 19 | $this->namespace = $namespace; |
20 | | - |
21 | | - $year = intval($year); |
22 | | - $month = intval($month); |
23 | | - |
24 | | - $this->year = ($year > 0 && $year < 10000) ? $year : false; |
25 | | - $this->month = ($month > 0 && $month < 13) ? $month : false; |
26 | 20 | $this->mDb = wfGetDB( DB_SLAVE, 'contributions' ); |
27 | 21 | } |
28 | 22 | |
— | — | @@ -33,7 +27,7 @@ |
34 | 28 | |
35 | 29 | function getQueryInfo() { |
36 | 30 | list( $index, $userCond ) = $this->getUserCond(); |
37 | | - $conds = array_merge( array('page_id=rev_page'), $userCond, $this->getNamespaceCond(), $this->GetDateCond() ); |
| 31 | + $conds = array_merge( array('page_id=rev_page'), $userCond, $this->getNamespaceCond() ); |
38 | 32 | |
39 | 33 | return array( |
40 | 34 | 'tables' => array( 'page', 'revision' ), |
— | — | @@ -69,39 +63,6 @@ |
70 | 64 | } |
71 | 65 | } |
72 | 66 | |
73 | | - function getDateCond() { |
74 | | - $condition = array(); |
75 | | - |
76 | | - if ( $this->year || $this->month ) { |
77 | | - // Assume this year if only a month is given |
78 | | - if ( $this->year ) { |
79 | | - $year_start = $this->year; |
80 | | - } else { |
81 | | - $year_start = substr( wfTimestampNow(), 0, 4 ); |
82 | | - } |
83 | | - |
84 | | - if ( $this->month ) { |
85 | | - $month_start = str_pad($this->month, 2, '0', STR_PAD_LEFT); |
86 | | - $month_end = str_pad($this->month + 1, 2, '0', STR_PAD_LEFT); |
87 | | - $year_end = $year_start; |
88 | | - } else { |
89 | | - $month_start = 0; |
90 | | - $month_end = 0; |
91 | | - $year_end = $year_start + 1; |
92 | | - } |
93 | | - |
94 | | - $ts_start = str_pad($year_start . $month_start, 14, '0' ); |
95 | | - $ts_end = str_pad($year_end . $month_end, 14, '0' ); |
96 | | - |
97 | | - $condition[] = "rev_timestamp >= $ts_start"; |
98 | | - # If just given the year 9999, we need not enforce an upper bound |
99 | | - if( strlen($year_end) <= 4 ) |
100 | | - $condition[] = "rev_timestamp < $ts_end"; |
101 | | - } |
102 | | - |
103 | | - return $condition; |
104 | | - } |
105 | | - |
106 | 67 | function getIndexField() { |
107 | 68 | return 'rev_timestamp'; |
108 | 69 | } |
— | — | @@ -273,25 +234,11 @@ |
274 | 235 | $options['bot'] = '1'; |
275 | 236 | } |
276 | 237 | |
277 | | - if ( ( $month = $wgRequest->getVal( 'month', null ) ) !== null && $month !== '' ) { |
278 | | - $options['month'] = intval( $month ); |
279 | | - } else { |
280 | | - $options['month'] = ''; |
281 | | - } |
282 | | - |
283 | | - if ( ( $year = $wgRequest->getVal( 'year', null ) ) !== null && $year !== '' ) { |
284 | | - $options['year'] = intval( $year ); |
285 | | - } else if( $month ) { |
286 | | - $options['year'] = intval( substr( wfTimestampNow(), 0, 4 ) ); |
287 | | - } else { |
288 | | - $options['year'] = ''; |
289 | | - } |
290 | | - |
291 | 238 | wfRunHooks( 'SpecialContributionsBeforeMainOutput', $id ); |
292 | 239 | |
293 | 240 | $wgOut->addHTML( contributionsForm( $options ) ); |
294 | 241 | |
295 | | - $pager = new ContribsPager( $target, $options['namespace'], $options['year'], $options['month'] ); |
| 242 | + $pager = new ContribsPager( $target, $options['namespace'] ); |
296 | 243 | if ( !$pager->getNumRows() ) { |
297 | 244 | $wgOut->addWikiText( wfMsg( 'nocontribs' ) ); |
298 | 245 | return; |
— | — | @@ -388,14 +335,6 @@ |
389 | 336 | $options['contribs'] = 'user'; |
390 | 337 | } |
391 | 338 | |
392 | | - if ( !isset( $options['year'] ) ) { |
393 | | - $options['year'] = ''; |
394 | | - } |
395 | | - |
396 | | - if ( !isset( $options['month'] ) ) { |
397 | | - $options['month'] = ''; |
398 | | - } |
399 | | - |
400 | 339 | if ( $options['contribs'] == 'newbie' ) { |
401 | 340 | $options['target'] = ''; |
402 | 341 | } |
— | — | @@ -416,13 +355,7 @@ |
417 | 356 | Xml::input( 'target', 20, $options['target']) . ' '. |
418 | 357 | Xml::label( wfMsg( 'namespace' ), 'namespace' ) . |
419 | 358 | Xml::namespaceSelector( $options['namespace'], '' ) . |
420 | | - Xml::openElement( 'p' ) . |
421 | | - Xml::label( wfMsg( 'year' ), 'year' ) . ' '. |
422 | | - Xml::input( 'year', 4, $options['year'], array('id' => 'year', 'maxlength' => 4) ) . ' '. |
423 | | - Xml::label( wfMsg( 'month' ), 'month' ) . ' '. |
424 | | - xml::monthSelector( $options['month'], -1 ) . |
425 | 359 | Xml::submitButton( wfMsg( 'sp-contributions-submit' ) ) . |
426 | | - Xml::closeElement( 'p' ) . |
427 | 360 | '</fieldset>' . |
428 | 361 | Xml::closeElement( 'form' ); |
429 | 362 | return $f; |
Index: branches/robchurch/logs/includes/Article.php |
— | — | @@ -141,10 +141,7 @@ |
142 | 142 | |
143 | 143 | wfProfileIn( __METHOD__ ); |
144 | 144 | |
145 | | - // We want to show the content even if the page doesn't exist, as long |
146 | | - // as the revision does (perhaps it's been moved and the redirect |
147 | | - // deleted: bug 10377) |
148 | | - if ( 0 == $this->getID() and !$this->mOldId ) { |
| 145 | + if ( 0 == $this->getID() ) { |
149 | 146 | wfProfileOut( __METHOD__ ); |
150 | 147 | $wgOut->setRobotpolicy( 'noindex,nofollow' ); |
151 | 148 | |
Index: branches/robchurch/logs/includes/GlobalFunctions.php |
— | — | @@ -1665,6 +1665,8 @@ |
1666 | 1666 | function wfMkdirParents( $fullDir, $mode = 0777 ) { |
1667 | 1667 | if( strval( $fullDir ) === '' ) |
1668 | 1668 | return true; |
| 1669 | + if( file_exists( $fullDir ) ) |
| 1670 | + return true; |
1669 | 1671 | return mkdir( $fullDir, $mode, true ); |
1670 | 1672 | } |
1671 | 1673 | |
Index: branches/robchurch/logs/includes/Wiki.php |
— | — | @@ -98,6 +98,13 @@ |
99 | 99 | $lang->findVariantLink( $title, $ret ); |
100 | 100 | |
101 | 101 | } |
| 102 | + if ( $oldid = $request->getInt( 'oldid' ) ) { |
| 103 | + // Allow oldid to override a changed or missing title. |
| 104 | + $rev = Revision::newFromId( $oldid ); |
| 105 | + if( $rev ) { |
| 106 | + $ret = $rev->getTitle(); |
| 107 | + } |
| 108 | + } |
102 | 109 | return $ret ; |
103 | 110 | } |
104 | 111 | |
Index: branches/robchurch/logs/RELEASE-NOTES |
— | — | @@ -109,6 +109,7 @@ |
110 | 110 | classes: mw-code, mw-css, mw-js) |
111 | 111 | * (bug 6711) Add $wgAddGroups and $wgRemoveGroups to allow finer control over |
112 | 112 | usergroup assignment. |
| 113 | +* Introduce 'UserEffectiveGroups' hook; see docs/hooks.txt for more information |
113 | 114 | |
114 | 115 | == Bugfixes since 1.10 == |
115 | 116 | |
— | — | @@ -217,7 +218,10 @@ |
218 | 219 | * namespaceDupes.php should work better for initial-lowercase wikis |
219 | 220 | * (bug 10377) "Permanent links" to revisions still work if the page is moved |
220 | 221 | and the redirect deleted |
| 222 | +* (bug 7071) Properly handle an 'oldid' passed to view or edit that doesn't |
| 223 | + match the given title. Fixes inconsistencies with talk, history, edit links. |
221 | 224 | |
| 225 | + |
222 | 226 | == API changes since 1.10 == |
223 | 227 | |
224 | 228 | (For ongoing development discussion, see http://www.mediawiki.org/wiki/API) |
— | — | @@ -253,6 +257,7 @@ |
254 | 258 | "interwiki" section of the output. |
255 | 259 | * Added categorymembers list to query for pages in a category. |
256 | 260 | * (bug 10260) Show page protection status |
| 261 | +* (bug 10392) Include MediaWiki version details in version output |
257 | 262 | |
258 | 263 | == Maintenance script changes since 1.10 == |
259 | 264 | |
— | — | @@ -300,6 +305,7 @@ |
301 | 306 | * Albanian (sq) |
302 | 307 | * Sundanese (su) |
303 | 308 | * Swedish (sv) |
| 309 | +* Tigrinya (ti) |
304 | 310 | * Volapük (vo) |
305 | 311 | * Old Chinese / Late Middle Chinese (zh-classical) |
306 | 312 | * Chinese (PRC) (zh-cn) |
Index: branches/robchurch/logs/maintenance/archives/patch-archive-user-index.sql |
— | — | @@ -0,0 +1,4 @@ |
| 2 | +-- Adds a user,timestamp index to the archive table
|
| 3 | +-- Used for browsing deleted contributions and renames
|
| 4 | +ALTER TABLE /*$wgDBprefix*/archive
|
| 5 | + ADD INDEX usertext_timestamp ( ar_user_text , ar_timestamp );
|
Index: branches/robchurch/logs/maintenance/updaters.inc |
— | — | @@ -222,6 +222,16 @@ |
223 | 223 | } |
224 | 224 | } |
225 | 225 | |
| 226 | +function do_archive_user_index() { |
| 227 | + global $wgDatabase; |
| 228 | + if( $wgDatabase->indexExists( 'archive', 'usertext_timestamp' ) ) { |
| 229 | + echo "...usertext,timestamp key on archive already exists.\n"; |
| 230 | + } else { |
| 231 | + echo "Adding usertext,timestamp key on archive table... "; |
| 232 | + dbsource( archive("patch-archive-user-index.sql"), $wgDatabase ); |
| 233 | + echo "ok\n"; |
| 234 | + } |
| 235 | +} |
226 | 236 | |
227 | 237 | function do_watchlist_update() { |
228 | 238 | global $wgDatabase; |
— | — | @@ -945,6 +955,8 @@ |
946 | 956 | do_categorylinks_indices_update(); flush(); |
947 | 957 | |
948 | 958 | do_restrictions_update(); flush (); |
| 959 | + |
| 960 | + do_archive_user_index(); flush (); |
949 | 961 | |
950 | 962 | echo "Deleting old default messages (this may take a long time!)..."; flush(); |
951 | 963 | deleteDefaultMessages(); |
— | — | @@ -1276,7 +1288,8 @@ |
1277 | 1289 | ); |
1278 | 1290 | |
1279 | 1291 | $newindexes = array( |
1280 | | - array("revision", "rev_text_id_idx", "patch-rev_text_id_idx.sql") |
| 1292 | + array("revision", "rev_text_id_idx", "patch-rev_text_id_idx.sql"), |
| 1293 | + array("archive", "usertext_timestamp", "patch-archive-user-index.sql"), |
1281 | 1294 | ); |
1282 | 1295 | |
1283 | 1296 | $newrules = array( |