r92708 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r92707‎ | r92708 | r92709 >
Date:23:10, 20 July 2011
Author:awjrichards
Status:ok
Tags:
Comment:
Revert r92704 - botched merge
Modified paths:
  • /branches/wmf/1.17wmf1/extensions/CentralNotice (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNotice.db.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNotice.i18n.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNotice.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNotice.sql (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/centralnotice.css (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/centralnotice.js (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/collapsed.png (deleted) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/patches/patch-notice_log.sql (deleted) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/patches/patch-notice_logs.sql (added) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/special/SpecialBannerController.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/special/SpecialBannerListLoader.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/special/SpecialBannerLoader.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/special/SpecialCentralNotice.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/special/SpecialCentralNoticeLogs.php (modified) (history)
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/uncollapsed.png (deleted) (history)

Diff [purge]

Index: branches/wmf/1.17wmf1/extensions/CentralNotice/collapsed.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/uncollapsed.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNotice.php
@@ -121,9 +121,6 @@
122122
123123 $wgSpecialPages['BannerAllocation'] = 'SpecialBannerAllocation';
124124 $wgAutoloadClasses['SpecialBannerAllocation'] = $specialDir . 'SpecialBannerAllocation.php';
125 -
126 - $wgSpecialPages['CentralNoticeLogs'] = 'SpecialCentralNoticeLogs';
127 - $wgAutoloadClasses['SpecialCentralNoticeLogs'] = $specialDir . 'SpecialCentralNoticeLogs.php';
128125 }
129126 }
130127
@@ -147,8 +144,6 @@
148145 $base . '/patches/patch-notice_countries.sql' );
149146 $wgExtNewTables[] = array( 'cn_notice_projects',
150147 $base . '/patches/patch-notice_projects.sql' );
151 - $wgExtNewTables[] = array( 'cn_notice_log',
152 - $base . '/patches/patch-notice_log.sql' );
153148 }
154149 } else {
155150 if ( $updater->getDB()->getType() == 'mysql' ) {
@@ -166,8 +161,6 @@
167162 $base . '/patches/patch-notice_countries.sql', true ) );
168163 $updater->addExtensionUpdate( array( 'addTable', 'cn_notice_projects',
169164 $base . '/patches/patch-notice_projects.sql', true ) );
170 - $updater->addExtensionUpdate( array( 'addTable', 'cn_notice_log',
171 - $base . '/patches/patch-notice_log.sql', true ) );
172165 }
173166 }
174167 return true;
Property changes on: branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNotice.php
___________________________________________________________________
Modified: svn:mergeinfo
175168 Reverse-merged /trunk/extensions/CentralNotice/CentralNotice.php:r91118-92408
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/special/SpecialBannerListLoader.php
@@ -64,12 +64,12 @@
6565 // Quick short circuit to show preferred campaigns
6666 if ( $campaigns ) {
6767 // Pull banners
68 - $banners = CentralNoticeDB::getCampaignBanners( $campaigns );
 68+ $banners = CentralNoticeDB::selectBannersAssigned( $campaigns );
6969 }
7070
7171 // Didn't find any preferred banners so do an old style lookup
7272 if ( !$banners ) {
73 - $banners = CentralNoticeDB::getBannersByTarget(
 73+ $banners = CentralNotice::selectNoticeTemplates(
7474 $this->project, $this->language, $this->location );
7575 }
7676
Property changes on: branches/wmf/1.17wmf1/extensions/CentralNotice/special/SpecialBannerController.php
___________________________________________________________________
Added: svn:mergeinfo
7777 Merged /branches/wmf-deployment/extensions/CentralNotice/special/SpecialBannerController.php:r60970
7878 Merged /branches/wmf/1.16wmf4/extensions/CentralNotice/special/SpecialBannerController.php:r67177,69199,76243,77266
7979 Merged /trunk/extensions/CentralNotice/special/SpecialBannerController.php:r62820-67552,67557,67559-71720,71725-71731,71734-71739,71748-71753,71774-71997,72058-72131,72136-73830,73847,73850,73852,73855,73959,73963,73973,73980,73983,73991,73994-73995,74000-74321,74325-74406,75376-75470,75567,75643,75646,75674,75680,75726,75849,75889,75908,75973,76141,76145,76333,76347,76351,76356-76358,76361,76363,76462,76543,76763,77622-79761,79780,79783-80145,80147-80148,80150,80152-80602,81461-83563,83565-91217
8080 Merged /trunk/phase3/extensions/CentralNotice/special/SpecialBannerController.php:r63545-63546,63549,63643,63764,63897-63901,64113,64509,65387,65391,65555,65590,65650,65816,77555,77558-77560,77563-77565,77573
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/special/SpecialCentralNotice.php
@@ -57,9 +57,85 @@
5858 // Check authentication token
5959 if ( $wgUser->matchEditToken( $wgRequest->getVal( 'authtoken' ) ) ) {
6060
61 - // Handle adding a campaign
 61+ // Handle removing campaigns
 62+ $toRemove = $wgRequest->getArray( 'removeNotices' );
 63+ if ( $toRemove ) {
 64+ // Remove campaigns in list
 65+ foreach ( $toRemove as $notice ) {
 66+ $this->removeNotice( $notice );
 67+ }
 68+
 69+ // Skip subsequent form handling and show list of campaigns
 70+ $this->listNotices();
 71+ $wgOut->addHTML( Xml::closeElement( 'div' ) );
 72+ return;
 73+ }
 74+
 75+ // Handle locking/unlocking campaigns
 76+ $lockedNotices = $wgRequest->getArray( 'locked' );
 77+ if ( $lockedNotices ) {
 78+ // Build list of campaigns to lock
 79+ $unlockedNotices = array_diff( $this->getAllCampaignNames(), $lockedNotices );
 80+
 81+ // Set locked/unlocked flag accordingly
 82+ foreach ( $lockedNotices as $notice ) {
 83+ $this->updateLock( $notice, '1' );
 84+ }
 85+ foreach ( $unlockedNotices as $notice ) {
 86+ $this->updateLock( $notice, '0' );
 87+ }
 88+ // Handle updates if no post content came through (all checkboxes unchecked)
 89+ } elseif ( $method !== 'addNotice' ) {
 90+ $allNotices = $this->getAllCampaignNames();
 91+ foreach ( $allNotices as $notice ) {
 92+ $this->updateLock( $notice, '0' );
 93+ }
 94+ }
 95+
 96+ // Handle enabling/disabling campaigns
 97+ $enabledNotices = $wgRequest->getArray( 'enabled' );
 98+ if ( $enabledNotices ) {
 99+ // Build list of campaigns to disable
 100+ $disabledNotices = array_diff( $this->getAllCampaignNames(), $enabledNotices );
 101+
 102+ // Set enabled/disabled flag accordingly
 103+ foreach ( $enabledNotices as $notice ) {
 104+ $this->updateEnabled( $notice, '1' );
 105+ }
 106+ foreach ( $disabledNotices as $notice ) {
 107+ $this->updateEnabled( $notice, '0' );
 108+ }
 109+ // Handle updates if no post content came through (all checkboxes unchecked)
 110+ } elseif ( $method !== 'addNotice' ) {
 111+ $allNotices = $this->getAllCampaignNames();
 112+ foreach ( $allNotices as $notice ) {
 113+ $this->updateEnabled( $notice, '0' );
 114+ }
 115+ }
 116+
 117+ // Handle setting preferred campaigns
 118+ $preferredNotices = $wgRequest->getArray( 'preferred' );
 119+ if ( $preferredNotices ) {
 120+ // Build list of campaigns to unset
 121+ $unsetNotices = array_diff( $this->getAllCampaignNames(), $preferredNotices );
 122+
 123+ // Set flag accordingly
 124+ foreach ( $preferredNotices as $notice ) {
 125+ $this->updatePreferred( $notice, '1' );
 126+ }
 127+ foreach ( $unsetNotices as $notice ) {
 128+ $this->updatePreferred( $notice, '0' );
 129+ }
 130+ // Handle updates if no post content came through (all checkboxes unchecked)
 131+ } elseif ( $method !== 'addNotice' ) {
 132+ $allNotices = $this->getAllCampaignNames();
 133+ foreach ( $allNotices as $notice ) {
 134+ $this->updatePreferred( $notice, '0' );
 135+ }
 136+ }
 137+
 138+ // Handle adding of campaign
62139 if ( $method == 'addNotice' ) {
63 -
64140 $noticeName = $wgRequest->getVal( 'noticeName' );
65141 $start = $wgRequest->getArray( 'start' );
66142 $projects = $wgRequest->getArray( 'projects' );
@@ -72,99 +148,6 @@
73149 $this->addNotice( $noticeName, '0', $start, $projects,
74150 $project_languages, $geotargeted, $geo_countries );
75151 }
76 -
77 - // Handle changing settings to existing campaigns
78 - } else {
79 -
80 - // Handle removing campaigns
81 - $toRemove = $wgRequest->getArray( 'removeNotices' );
82 - if ( $toRemove ) {
83 - // Remove campaigns in list
84 - foreach ( $toRemove as $notice ) {
85 - $this->removeNotice( $notice );
86 - }
87 - }
88 -
89 - // Get all the initial campaign settings for logging
90 - $allCampaignNames = $this->getAllCampaignNames();
91 - $allInitialCampaignSettings = array();
92 - foreach ( $allCampaignNames as $campaignName ) {
93 - $allInitialCampaignSettings[$campaignName] = CentralNoticeDB::getCampaignSettings( $campaignName, false );
94 - }
95 -
96 - // Handle locking/unlocking campaigns
97 - $lockedNotices = $wgRequest->getArray( 'locked' );
98 - if ( $lockedNotices ) {
99 - // Build list of campaigns to lock
100 - $unlockedNotices = array_diff( $this->getAllCampaignNames(), $lockedNotices );
101 -
102 - // Set locked/unlocked flag accordingly
103 - foreach ( $lockedNotices as $notice ) {
104 - $this->setBooleanCampaignSetting( $notice, 'locked', 1 );
105 - }
106 - foreach ( $unlockedNotices as $notice ) {
107 - $this->setBooleanCampaignSetting( $notice, 'locked', 0 );
108 - }
109 - // Handle updates if no post content came through (all checkboxes unchecked)
110 - } else {
111 - $allNotices = $this->getAllCampaignNames();
112 - foreach ( $allNotices as $notice ) {
113 - $this->setBooleanCampaignSetting( $notice, 'locked', 0 );
114 - }
115 - }
116 -
117 - // Handle enabling/disabling campaigns
118 - $enabledNotices = $wgRequest->getArray( 'enabled' );
119 - if ( $enabledNotices ) {
120 - // Build list of campaigns to disable
121 - $disabledNotices = array_diff( $this->getAllCampaignNames(), $enabledNotices );
122 -
123 - // Set enabled/disabled flag accordingly
124 - foreach ( $enabledNotices as $notice ) {
125 - $this->setBooleanCampaignSetting( $notice, 'enabled', 1 );
126 - }
127 - foreach ( $disabledNotices as $notice ) {
128 - $this->setBooleanCampaignSetting( $notice, 'enabled', 0 );
129 - }
130 - // Handle updates if no post content came through (all checkboxes unchecked)
131 - } else {
132 - $allNotices = $this->getAllCampaignNames();
133 - foreach ( $allNotices as $notice ) {
134 - $this->setBooleanCampaignSetting( $notice, 'enabled', 0 );
135 - }
136 - }
137 -
138 - // Handle setting preferred campaigns
139 - $preferredNotices = $wgRequest->getArray( 'preferred' );
140 - if ( $preferredNotices ) {
141 - // Build list of campaigns to unset
142 - $unsetNotices = array_diff( $this->getAllCampaignNames(), $preferredNotices );
143 -
144 - // Set flag accordingly
145 - foreach ( $preferredNotices as $notice ) {
146 - $this->setBooleanCampaignSetting( $notice, 'preferred', 1 );
147 - }
148 - foreach ( $unsetNotices as $notice ) {
149 - $this->setBooleanCampaignSetting( $notice, 'preferred', 0 );
150 - }
151 - // Handle updates if no post content came through (all checkboxes unchecked)
152 - } else {
153 - $allNotices = $this->getAllCampaignNames();
154 - foreach ( $allNotices as $notice ) {
155 - $this->setBooleanCampaignSetting( $notice, 'preferred', 0 );
156 - }
157 - }
158 -
159 - // Get all the final campaign settings for potential logging
160 - foreach ( $allCampaignNames as $campaignName ) {
161 - $finalCampaignSettings = CentralNoticeDB::getCampaignSettings( $campaignName, false );
162 - $diffs = array_diff_assoc( $allInitialCampaignSettings[$campaignName], $finalCampaignSettings );
163 - // If there are changes, log them
164 - if ( $diffs ) {
165 - $campaignId = CentralNotice::getNoticeId( $campaignName );
166 - $this->logCampaignChange( 'modified', $campaignId, $allInitialCampaignSettings[$campaignName], $finalCampaignSettings );
167 - }
168 - }
169152 }
170153
171154 // If there were no errors, reload the page to prevent duplicate form submission
@@ -196,8 +179,7 @@
197180 $pages = array(
198181 'CentralNotice' => wfMsg( 'centralnotice-notices' ),
199182 'NoticeTemplate' => wfMsg ( 'centralnotice-templates' ),
200 - 'BannerAllocation' => wfMsg ( 'centralnotice-allocation' ),
201 - 'CentralNoticeLogs' => wfMsg ( 'centralnotice-logs' )
 183+ 'BannerAllocation' => wfMsg ( 'centralnotice-allocation' )
202184 );
203185 $htmlOut = Xml::openElement( 'ul', array( 'id' => 'preftoc' ) );
204186 foreach ( $pages as $page => $msg ) {
@@ -383,7 +365,7 @@
384366 'method=listNoticeDetail&notice=' . urlencode( $row->not_name ) );
385367
386368 // Projects
387 - $projects = CentralNotice::getNoticeProjects( $row->not_name );
 369+ $projects = $this->getNoticeProjects( $row->not_name );
388370 $project_count = count( $projects );
389371 $projectList = '';
390372 if ( $project_count > 1 ) {
@@ -405,7 +387,7 @@
406388 $fields[] = $projectList;
407389
408390 // Languages
409 - $project_langs = CentralNotice::getNoticeLanguages( $row->not_name );
 391+ $project_langs = $this->getNoticeLanguages( $row->not_name );
410392 $language_count = count( $project_langs );
411393 $languageList = '';
412394 if ( $language_count > 3 ) {
@@ -556,7 +538,7 @@
557539 // Countries
558540 $htmlOut .= Xml::openElement( 'tr' );
559541 $htmlOut .= Xml::tags( 'td', array(),
560 - Xml::label( wfMsg( 'centralnotice-geo' ), 'geotargeted' ) );
 542+ Xml::label( wfMsg( 'centralnotice-geotargeted' ), 'geotargeted' ) );
561543 $htmlOut .= Xml::tags( 'td', array(),
562544 Xml::check( 'geotargeted', false,
563545 wfArrayMerge( $readonly, array( 'value' => 1, 'id' => 'geotargeted' ) ) ) );
@@ -616,38 +598,36 @@
617599 }
618600 }
619601
620 - $initialCampaignSettings = CentralNoticeDB::getCampaignSettings( $notice );
621 -
622602 // Handle locking/unlocking campaign
623603 if ( $wgRequest->getCheck( 'locked' ) ) {
624 - $this->setBooleanCampaignSetting( $notice, 'locked', 1 );
 604+ $this->updateLock( $notice, '1' );
625605 } else {
626 - $this->setBooleanCampaignSetting( $notice, 'locked', 0 );
 606+ $this->updateLock( $notice, 0 );
627607 }
628608
629609 // Handle enabling/disabling campaign
630610 if ( $wgRequest->getCheck( 'enabled' ) ) {
631 - $this->setBooleanCampaignSetting( $notice, 'enabled', 1 );
 611+ $this->updateEnabled( $notice, '1' );
632612 } else {
633 - $this->setBooleanCampaignSetting( $notice, 'enabled', 0 );
 613+ $this->updateEnabled( $notice, 0 );
634614 }
635615
636616 // Handle setting campaign to preferred/not preferred
637617 if ( $wgRequest->getCheck( 'preferred' ) ) {
638 - $this->setBooleanCampaignSetting( $notice, 'preferred', 1 );
 618+ $this->updatePreferred( $notice, '1' );
639619 } else {
640 - $this->setBooleanCampaignSetting( $notice, 'preferred', 0 );
 620+ $this->updatePreferred( $notice, 0 );
641621 }
642622
643623 // Handle updating geotargeting
644624 if ( $wgRequest->getCheck( 'geotargeted' ) ) {
645 - $this->setBooleanCampaignSetting( $notice, 'geo', 1 );
 625+ $this->updateGeotargeted( $notice, 1 );
646626 $countries = $wgRequest->getArray( 'geo_countries' );
647627 if ( $countries ) {
648628 $this->updateCountries( $notice, $countries );
649629 }
650630 } else {
651 - $this->setBooleanCampaignSetting( $notice, 'geo', 0 );
 631+ $this->updateGeotargeted( $notice, 0 );
652632 }
653633
654634 // Handle updating the start and end settings
@@ -710,10 +690,6 @@
711691 $this->updateProjectLanguages( $notice, $projectLangs );
712692 }
713693
714 - $finalCampaignSettings = CentralNoticeDB::getCampaignSettings( $notice );
715 - $campaignId = CentralNotice::getNoticeId( $notice );
716 - $this->logCampaignChange( 'modified', $campaignId, $initialCampaignSettings, $finalCampaignSettings );
717 -
718694 // If there were no errors, reload the page to prevent duplicate form submission
719695 if ( !$this->centralNoticeError ) {
720696 $wgOut->redirect( $this->getTitle()->getLocalUrl(
@@ -797,11 +773,26 @@
798774 } else {
799775 $readonly = array( 'disabled' => 'disabled' );
800776 }
 777+ $dbr = wfGetDB( DB_SLAVE );
 778+
 779+ // Get campaign info from database
 780+ $row = $dbr->selectRow( 'cn_notices',
 781+ array(
 782+ 'not_id',
 783+ 'not_name',
 784+ 'not_start',
 785+ 'not_end',
 786+ 'not_enabled',
 787+ 'not_preferred',
 788+ 'not_locked',
 789+ 'not_geo'
 790+ ),
 791+ array( 'not_name' => $notice ),
 792+ __METHOD__
 793+ );
801794
802 - $campaign = CentralNoticeDB::getCampaignSettings( $notice );
 795+ if ( $row ) {
803796
804 - if ( $campaign ) {
805 -
806797 // If there was an error, we'll need to restore the state of the form
807798 if ( $wgRequest->wasPosted() ) {
808799 $startArray = $wgRequest->getArray( 'start' );
@@ -826,15 +817,15 @@
827818 $isGeotargeted = $wgRequest->getCheck( 'geotargeted' );
828819 $countries = $wgRequest->getArray( 'geo_countries', array() );
829820 } else { // Defaults
830 - $startTimestamp = $campaign['start'];
831 - $endTimestamp = $campaign['end'];
832 - $isEnabled = ( $campaign['enabled'] == '1' );
833 - $isPreferred = ( $campaign['preferred'] == '1' );
834 - $isLocked = ( $campaign['locked'] == '1' );
835 - $noticeProjects = CentralNotice::getNoticeProjects( $notice );
836 - $noticeLanguages = CentralNotice::getNoticeLanguages( $notice );
837 - $isGeotargeted = ( $campaign['geo'] == '1' );
838 - $countries = CentralNotice::getNoticeCountries( $notice );
 821+ $startTimestamp = $row->not_start;
 822+ $endTimestamp = $row->not_end;
 823+ $isEnabled = ( $row->not_enabled == '1' );
 824+ $isPreferred = ( $row->not_preferred == '1' );
 825+ $isLocked = ( $row->not_locked == '1' );
 826+ $noticeProjects = $this->getNoticeProjects( $notice );
 827+ $noticeLanguages = $this->getNoticeLanguages( $notice );
 828+ $isGeotargeted = ( $row->not_geo == '1' );
 829+ $countries = $this->getNoticeCountries( $notice );
839830 }
840831
841832 // Build Html
@@ -880,12 +871,12 @@
881872 // Countries
882873 $htmlOut .= Xml::openElement( 'tr' );
883874 $htmlOut .= Xml::tags( 'td', array(),
884 - Xml::label( wfMsg( 'centralnotice-geo' ), 'geotargeted' ) );
 875+ Xml::label( wfMsg( 'centralnotice-geotargeted' ), 'geotargeted' ) );
885876 $htmlOut .= Xml::tags( 'td', array(),
886877 Xml::check( 'geotargeted', $isGeotargeted,
887878 wfArrayMerge(
888879 $readonly,
889 - array( 'value' => $notice, 'id' => 'geotargeted' ) ) ) );
 880+ array( 'value' => $row->not_name, 'id' => 'geotargeted' ) ) ) );
890881 $htmlOut .= Xml::closeElement( 'tr' );
891882 if ( $isGeotargeted ) {
892883 $htmlOut .= Xml::openElement( 'tr', array( 'id'=>'geoMultiSelector' ) );
@@ -904,7 +895,7 @@
905896 $htmlOut .= Xml::tags( 'td', array(),
906897 Xml::check( 'enabled', $isEnabled,
907898 wfArrayMerge( $readonly,
908 - array( 'value' => $notice, 'id' => 'enabled' ) ) ) );
 899+ array( 'value' => $row->not_name, 'id' => 'enabled' ) ) ) );
909900 $htmlOut .= Xml::closeElement( 'tr' );
910901 // Preferred
911902 $htmlOut .= Xml::openElement( 'tr' );
@@ -913,7 +904,7 @@
914905 $htmlOut .= Xml::tags( 'td', array(),
915906 Xml::check( 'preferred', $isPreferred,
916907 wfArrayMerge( $readonly,
917 - array( 'value' => $notice, 'id' => 'preferred' ) ) ) );
 908+ array( 'value' => $row->not_name, 'id' => 'preferred' ) ) ) );
918909 $htmlOut .= Xml::closeElement( 'tr' );
919910 // Locked
920911 $htmlOut .= Xml::openElement( 'tr' );
@@ -922,7 +913,7 @@
923914 $htmlOut .= Xml::tags( 'td', array(),
924915 Xml::check( 'locked', $isLocked,
925916 wfArrayMerge( $readonly,
926 - array( 'value' => $notice, 'id' => 'locked' ) ) ) );
 917+ array( 'value' => $row->not_name, 'id' => 'locked' ) ) ) );
927918 $htmlOut .= Xml::closeElement( 'tr' );
928919 if ( $this->editable ) {
929920 // Locked
@@ -931,7 +922,7 @@
932923 Xml::label( wfMsg( 'centralnotice-remove' ), 'remove' ) );
933924 $htmlOut .= Xml::tags( 'td', array(),
934925 Xml::check( 'remove', false,
935 - array( 'value' => $notice, 'id' => 'remove' ) ) );
 926+ array( 'value' => $row->not_name, 'id' => 'remove' ) ) );
936927 $htmlOut .= Xml::closeElement( 'tr' );
937928 }
938929 $htmlOut .= Xml::closeElement( 'table' );
@@ -1082,6 +1073,90 @@
10831074 return $htmlOut;
10841075 }
10851076
 1077+ /**
 1078+ * Lookup function for active banners under a given language/project/location. This function is
 1079+ * called by SpecialBannerListLoader::getJsonList() in order to build the banner list JSON for
 1080+ * each project.
 1081+ * @return a 2D array of running banners with associated weights and settings
 1082+ */
 1083+ static function selectNoticeTemplates( $project, $language, $location = null ) {
 1084+ global $wgCentralDBname;
 1085+
 1086+ $campaigns = array();
 1087+ $dbr = wfGetDB( DB_SLAVE, array(), $wgCentralDBname );
 1088+ $encTimestamp = $dbr->addQuotes( $dbr->timestamp() );
 1089+
 1090+ // Pull non-geotargeted campaigns
 1091+ $campaignResults1 = $dbr->select(
 1092+ array(
 1093+ 'cn_notices',
 1094+ 'cn_notice_projects',
 1095+ 'cn_notice_languages'
 1096+ ),
 1097+ array(
 1098+ 'not_id'
 1099+ ),
 1100+ array(
 1101+ "not_start <= $encTimestamp",
 1102+ "not_end >= $encTimestamp",
 1103+ 'not_enabled = 1', // enabled
 1104+ 'not_geo = 0', // not geotargeted
 1105+ 'np_notice_id = cn_notices.not_id',
 1106+ 'np_project' => $project,
 1107+ 'nl_notice_id = cn_notices.not_id',
 1108+ 'nl_language' => $language
 1109+ ),
 1110+ __METHOD__
 1111+ );
 1112+ foreach ( $campaignResults1 as $row ) {
 1113+ $campaigns[] = $row->not_id;
 1114+ }
 1115+ if ( $location ) {
 1116+
 1117+ // Normalize location parameter (should be an uppercase 2-letter country code)
 1118+ preg_match( '/[a-zA-Z][a-zA-Z]/', $location, $matches );
 1119+ if ( $matches ) {
 1120+ $location = strtoupper( $matches[0] );
 1121+
 1122+ // Pull geotargeted campaigns
 1123+ $campaignResults2 = $dbr->select(
 1124+ array(
 1125+ 'cn_notices',
 1126+ 'cn_notice_projects',
 1127+ 'cn_notice_languages',
 1128+ 'cn_notice_countries'
 1129+ ),
 1130+ array(
 1131+ 'not_id'
 1132+ ),
 1133+ array(
 1134+ "not_start <= $encTimestamp",
 1135+ "not_end >= $encTimestamp",
 1136+ 'not_enabled = 1', // enabled
 1137+ 'not_geo = 1', // geotargeted
 1138+ 'nc_notice_id = cn_notices.not_id',
 1139+ 'nc_country' => $location,
 1140+ 'np_notice_id = cn_notices.not_id',
 1141+ 'np_project' => $project,
 1142+ 'nl_notice_id = cn_notices.not_id',
 1143+ 'nl_language' => $language
 1144+ ),
 1145+ __METHOD__
 1146+ );
 1147+ foreach ( $campaignResults2 as $row ) {
 1148+ $campaigns[] = $row->not_id;
 1149+ }
 1150+ }
 1151+ }
 1152+
 1153+ $templates = array();
 1154+ if ( $campaigns ) {
 1155+ // Pull all banners assigned to the campaigns
 1156+ $templates = CentralNoticeDB::selectBannersAssigned( $campaigns );
 1157+ }
 1158+ return $templates;
 1159+ }
 1160+
10861161 function addNotice( $noticeName, $enabled, $start, $projects,
10871162 $project_languages, $geotargeted, $geo_countries )
10881163 {
@@ -1095,7 +1170,6 @@
10961171 $this->showError( 'centralnotice-no-language' );
10971172 return;
10981173 } else {
1099 - if ( !$geo_countries ) $geo_countries = array();
11001174 $dbw = wfGetDB( DB_MASTER );
11011175 $dbw->begin();
11021176 $start['hour'] = substr( $start['hour'], 0 , 2 );
@@ -1145,7 +1219,7 @@
11461220 $res = $dbw->insert( 'cn_notice_languages', $insertArray,
11471221 __METHOD__, array( 'IGNORE' ) );
11481222
1149 - if ( $geotargeted ) {
 1223+ if ( $geotargeted && $geo_countries ) {
11501224 // Do multi-row insert for campaign countries
11511225 $insertArray = array();
11521226 foreach( $geo_countries as $code ) {
@@ -1156,22 +1230,6 @@
11571231 }
11581232
11591233 $dbw->commit();
1160 -
1161 - // Log the creation of the campaign
1162 - $beginSettings = array();
1163 - $endSettings = array(
1164 - 'projects' => implode( ", ", $projects ),
1165 - 'languages' => implode( ", ", $project_languages ),
1166 - 'countries' => implode( ", ", $geo_countries ),
1167 - 'start' => $dbw->timestamp( $startTs ),
1168 - 'end' => $dbw->timestamp( $endTs ),
1169 - 'enabled' => $enabled,
1170 - 'preferred' => 0,
1171 - 'locked' => 0,
1172 - 'geo' => $geotargeted
1173 - );
1174 - $this->logCampaignChange( 'created', $not_id, $beginSettings, $endSettings );
1175 -
11761234 return;
11771235 }
11781236 }
@@ -1191,19 +1249,13 @@
11921250 $this->showError( 'centralnotice-notice-is-locked' );
11931251 return;
11941252 } else {
1195 - // Log the removal of the campaign
1196 - $noticeId = CentralNotice::getNoticeId( $noticeName );
1197 - $this->logCampaignChange( 'removed', $noticeId );
1198 -
11991253 $dbw = wfGetDB( DB_MASTER );
12001254 $dbw->begin();
 1255+ $noticeId = htmlspecialchars( $this->getNoticeId( $noticeName ) );
12011256 $res = $dbw->delete( 'cn_assignments', array ( 'not_id' => $noticeId ) );
12021257 $res = $dbw->delete( 'cn_notices', array ( 'not_name' => $noticeName ) );
12031258 $res = $dbw->delete( 'cn_notice_languages', array ( 'nl_notice_id' => $noticeId ) );
1204 - $res = $dbw->delete( 'cn_notice_projects', array ( 'np_notice_id' => $noticeId ) );
1205 - $res = $dbw->delete( 'cn_notice_countries', array ( 'nc_notice_id' => $noticeId ) );
12061259 $dbw->commit();
1207 -
12081260 return;
12091261 }
12101262 }
@@ -1212,7 +1264,7 @@
12131265 $dbr = wfGetDB( DB_SLAVE );
12141266
12151267 $eNoticeName = htmlspecialchars ( $noticeName );
1216 - $noticeId = CentralNotice::getNoticeId( $eNoticeName );
 1268+ $noticeId = $this->getNoticeId( $eNoticeName );
12171269 $templateId = $this->getTemplateId( $templateName );
12181270 $res = $dbr->select( 'cn_assignments', 'asn_id',
12191271 array(
@@ -1225,7 +1277,7 @@
12261278 } else {
12271279 $dbw = wfGetDB( DB_MASTER );
12281280 $dbw->begin();
1229 - $noticeId = CentralNotice::getNoticeId( $eNoticeName );
 1281+ $noticeId = $this->getNoticeId( $eNoticeName );
12301282 $res = $dbw->insert( 'cn_assignments',
12311283 array(
12321284 'tmp_id' => $templateId,
@@ -1265,7 +1317,7 @@
12661318 return null;
12671319 }
12681320
1269 - static function getNoticeProjects( $noticeName ) {
 1321+ function getNoticeProjects( $noticeName ) {
12701322 $dbr = wfGetDB( DB_SLAVE );
12711323 $eNoticeName = htmlspecialchars( $noticeName );
12721324 $row = $dbr->selectRow( 'cn_notices', 'not_id', array( 'not_name' => $eNoticeName ) );
@@ -1280,7 +1332,7 @@
12811333 return $projects;
12821334 }
12831335
1284 - static function getNoticeLanguages( $noticeName ) {
 1336+ function getNoticeLanguages( $noticeName ) {
12851337 $dbr = wfGetDB( DB_SLAVE );
12861338 $eNoticeName = htmlspecialchars( $noticeName );
12871339 $row = $dbr->selectRow( 'cn_notices', 'not_id', array( 'not_name' => $eNoticeName ) );
@@ -1295,7 +1347,7 @@
12961348 return $languages;
12971349 }
12981350
1299 - static function getNoticeCountries( $noticeName ) {
 1351+ function getNoticeCountries( $noticeName ) {
13001352 $dbr = wfGetDB( DB_SLAVE );
13011353 $eNoticeName = htmlspecialchars( $noticeName );
13021354 $row = $dbr->selectRow( 'cn_notices', 'not_id', array( 'not_name' => $eNoticeName ) );
@@ -1310,6 +1362,14 @@
13111363 return $countries;
13121364 }
13131365
 1366+ function getNoticeProjectName( $noticeName ) {
 1367+ $dbr = wfGetDB( DB_SLAVE );
 1368+ $eNoticeName = htmlspecialchars( $noticeName );
 1369+ $res = $dbr->select( 'cn_notices', 'not_project', array( 'not_name' => $eNoticeName ) );
 1370+ $row = $dbr->fetchObject( $res );
 1371+ return $row->not_project;
 1372+ }
 1373+
13141374 function getTemplateId( $templateName ) {
13151375 $dbr = wfGetDB( DB_SLAVE );
13161376 $templateName = htmlspecialchars ( $templateName );
@@ -1321,7 +1381,7 @@
13221382 function removeTemplateFor( $noticeName, $templateName ) {
13231383 $dbw = wfGetDB( DB_MASTER );
13241384 $dbw->begin();
1325 - $noticeId = CentralNotice::getNoticeId( $noticeName );
 1385+ $noticeId = $this->getNoticeId( $noticeName );
13261386 $templateId = $this->getTemplateId( $templateName );
13271387 $dbw->delete( 'cn_assignments', array ( 'tmp_id' => $templateId, 'not_id' => $noticeId ) );
13281388 $dbw->commit();
@@ -1355,30 +1415,70 @@
13561416 array( 'not_name' => $noticeName )
13571417 );
13581418 }
 1419+
 1420+ /**
 1421+ * Update the enabled/disabled state of a campaign
 1422+ */
 1423+ private function updateEnabled( $noticeName, $isEnabled ) {
 1424+ if ( !$this->noticeExists( $noticeName ) ) {
 1425+ $this->showError( 'centralnotice-doesnt-exist' );
 1426+ } else {
 1427+ $dbw = wfGetDB( DB_MASTER );
 1428+ $res = $dbw->update( 'cn_notices',
 1429+ array( 'not_enabled' => $isEnabled ),
 1430+ array( 'not_name' => $noticeName )
 1431+ );
 1432+ }
 1433+ }
13591434
13601435 /**
1361 - * Update a boolean setting on a campaign
1362 - * @param $noticeName string: Name of the campaign
1363 - * @param $settingName string: Name of a boolean setting (enabled, preferred, locked, or geo)
1364 - * @param $settingValue boolean: Value to use for the setting
 1436+ * Update the preferred/not preferred state of a campaign
13651437 */
1366 - private function setBooleanCampaignSetting( $noticeName, $settingName, $settingValue ) {
 1438+ function updatePreferred( $noticeName, $isPreferred ) {
13671439 if ( !$this->noticeExists( $noticeName ) ) {
1368 - // Exit quietly since campaign may have been deleted at the same time.
1369 - return;
 1440+ $this->showError( 'centralnotice-doesnt-exist' );
13701441 } else {
1371 - $settingName = strtolower( $settingName );
13721442 $dbw = wfGetDB( DB_MASTER );
13731443 $res = $dbw->update( 'cn_notices',
1374 - array( 'not_'.$settingName => $settingValue ),
 1444+ array( 'not_preferred' => $isPreferred ),
13751445 array( 'not_name' => $noticeName )
13761446 );
13771447 }
13781448 }
13791449
 1450+ /**
 1451+ * Update the geotargeted/not geotargeted state of a campaign
 1452+ */
 1453+ function updateGeotargeted( $noticeName, $isGeotargeted ) {
 1454+ if ( !$this->noticeExists( $noticeName ) ) {
 1455+ $this->showError( 'centralnotice-doesnt-exist' );
 1456+ } else {
 1457+ $dbw = wfGetDB( DB_MASTER );
 1458+ $res = $dbw->update( 'cn_notices',
 1459+ array( 'not_geo' => $isGeotargeted ),
 1460+ array( 'not_name' => $noticeName )
 1461+ );
 1462+ }
 1463+ }
 1464+
 1465+ /**
 1466+ * Update the locked/unlocked state of a campaign
 1467+ */
 1468+ function updateLock( $noticeName, $isLocked ) {
 1469+ if ( !$this->noticeExists( $noticeName ) ) {
 1470+ $this->showError( 'centralnotice-doesnt-exist' );
 1471+ } else {
 1472+ $dbw = wfGetDB( DB_MASTER );
 1473+ $res = $dbw->update( 'cn_notices',
 1474+ array( 'not_locked' => $isLocked ),
 1475+ array( 'not_name' => $noticeName )
 1476+ );
 1477+ }
 1478+ }
 1479+
13801480 function updateWeight( $noticeName, $templateId, $weight ) {
13811481 $dbw = wfGetDB( DB_MASTER );
1382 - $noticeId = CentralNotice::getNoticeId( $noticeName );
 1482+ $noticeId = $this->getNoticeId( $noticeName );
13831483 $dbw->update( 'cn_assignments',
13841484 array ( 'tmp_weight' => $weight ),
13851485 array(
@@ -1523,7 +1623,7 @@
15241624 $dbw->begin();
15251625
15261626 // Get the previously assigned projects
1527 - $oldProjects = CentralNotice::getNoticeProjects( $notice );
 1627+ $oldProjects = $this->getNoticeProjects( $notice );
15281628
15291629 // Get the notice id
15301630 $row = $dbw->selectRow( 'cn_notices', 'not_id', array( 'not_name' => $notice ) );
@@ -1552,7 +1652,7 @@
15531653 $dbw->begin();
15541654
15551655 // Get the previously assigned languages
1556 - $oldLanguages = CentralNotice::getNoticeLanguages( $notice );
 1656+ $oldLanguages = $this->getNoticeLanguages( $notice );
15571657
15581658 // Get the notice id
15591659 $row = $dbw->selectRow( 'cn_notices', 'not_id', array( 'not_name' => $notice ) );
@@ -1580,7 +1680,7 @@
15811681 $dbw = wfGetDB( DB_MASTER );
15821682
15831683 // Get the previously assigned languages
1584 - $oldCountries = CentralNotice::getNoticeCountries( $notice );
 1684+ $oldCountries = $this->getNoticeCountries( $notice );
15851685
15861686 // Get the notice id
15871687 $row = $dbw->selectRow( 'cn_notices', 'not_id', array( 'not_name' => $notice ) );
@@ -1675,42 +1775,6 @@
16761776 }
16771777 return $htmlOut;
16781778 }
1679 -
1680 - /**
1681 - * Log any changes related to a campaign
1682 - * @param $action string: 'created', 'modified', or 'removed'
1683 - * @param $campaignId integer: ID of campaign
1684 - * @param $beginSettings array of campaign settings before changes (optional)
1685 - * @param $endSettings array of campaign settings after changes (optional)
1686 - * @param $beginAssignments array of banner assignments before changes (optional)
1687 - * @param $endAssignments array of banner assignments after changes (optional)
1688 - */
1689 - function logCampaignChange( $action, $campaignId, $beginSettings = array(),
1690 - $endSettings = array(), $beginAssignments = array(), $endAssignments = array() )
1691 - {
1692 - global $wgUser;
1693 -
1694 - $dbw = wfGetDB( DB_MASTER );
1695 -
1696 - $log = array(
1697 - 'notlog_timestamp' => $dbw->timestamp(),
1698 - 'notlog_user_id' => $wgUser->getId(),
1699 - 'notlog_action' => $action,
1700 - 'notlog_not_id' => $campaignId,
1701 - 'notlog_not_name' => CentralNotice::getNoticeName( $campaignId )
1702 - );
1703 -
1704 - foreach ( $beginSettings as $key => $value ) {
1705 - $log['notlog_begin_'.$key] = $value;
1706 - }
1707 - foreach ( $endSettings as $key => $value ) {
1708 - $log['notlog_end_'.$key] = $value;
1709 - }
1710 -
1711 - $res = $dbw->insert( 'cn_notice_log', $log );
1712 - $log_id = $dbw->insertId();
1713 - return $log_id;
1714 - }
17151779 }
17161780
17171781 class CentralNoticePager extends TemplatePager {
Property changes on: branches/wmf/1.17wmf1/extensions/CentralNotice/special/SpecialBannerLoader.php
___________________________________________________________________
Added: svn:mergeinfo
17181782 Merged /trunk/phase3/extensions/CentralNotice/special/SpecialBannerLoader.php:r63545-63546,63549,63643,63764,63897-63901,64113,64509,65387,65391,65555,65590,65650,65816,77555,77558-77560,77563-77565,77573
17191783 Merged /branches/wmf-deployment/extensions/CentralNotice/special/SpecialBannerLoader.php:r60970
17201784 Merged /branches/wmf/1.16wmf4/extensions/CentralNotice/special/SpecialBannerLoader.php:r67177,69199,76243,77266
17211785 Merged /trunk/extensions/CentralNotice/special/SpecialBannerLoader.php:r62820-67552,67557,67559-71720,71725-71731,71734-71739,71748-71753,71774-71997,72058-72131,72136-73830,73847,73850,73852,73855,73959,73963,73973,73980,73983,73991,73994-73995,74000-74321,74325-74406,75376-75470,75567,75643,75646,75674,75680,75726,75849,75889,75908,75973,76141,76145,76333,76347,76351,76356-76358,76361,76363,76462,76543,76763,77622-79761,79780,79783-80145,80147-80148,80150,80152-80602,81461-83563,83565-91217
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/special/SpecialCentralNoticeLogs.php
@@ -54,8 +54,7 @@
5555 $htmlOut .= Xml::closeElement( 'form' );
5656
5757 // End log selection fieldset
58 - // Uncomment when we have multiple logs
59 - //$htmlOut .= Xml::closeElement( 'fieldset' );
 58+ $htmlOut .= Xml::closeElement( 'fieldset' );
6059
6160 $wgOut->addHTML( $htmlOut );
6261
@@ -71,21 +70,14 @@
7271 function showLog( $logType ) {
7372 global $wgOut;
7473
75 - $pager = new CentralNoticeLogPager( $this );
7674 $htmlOut = '';
7775
7876 // Begin log fieldset
79 - // Uncomment when we have multiple logs
80 - //$htmlOut .= Xml::openElement( 'fieldset', array( 'class' => 'prefsection' ) );
 77+ $htmlOut .= Xml::openElement( 'fieldset', array( 'class' => 'prefsection' ) );
8178
82 - // Show paginated list of log entries
83 - $htmlOut .= Xml::tags( 'div',
84 - array( 'class' => 'cn-pager' ),
85 - $pager->getNavigationBar() );
86 - $htmlOut .= $pager->getBody();
87 - $htmlOut .= Xml::tags( 'div',
88 - array( 'class' => 'cn-pager' ),
89 - $pager->getNavigationBar() );
 79+ $htmlOut .= Xml::tags( 'p', null,
 80+ '<i>Coming soon...</i>'
 81+ );
9082
9183 // End log fieldset
9284 $htmlOut .= Xml::closeElement( 'fieldset' );
@@ -94,307 +86,3 @@
9587 }
9688
9789 }
98 -
99 -class CentralNoticeLogPager extends ReverseChronologicalPager {
100 - var $viewPage, $special;
101 -
102 - function __construct( $special ) {
103 - $this->special = $special;
104 - parent::__construct();
105 -
106 - // Override paging defaults
107 - list( $this->mLimit, /* $offset */ ) = $this->mRequest->getLimitOffset( 20, '' );
108 - $this->mLimitsShown = array( 20, 50, 100 );
109 -
110 - $this->viewPage = SpecialPage::getTitleFor( 'CentralNotice' );
111 - }
112 -
113 - /**
114 - * Sort the log list by timestamp
115 - */
116 - function getIndexField() {
117 - return 'notlog_timestamp';
118 - }
119 -
120 - /**
121 - * Pull log entries from the database
122 - */
123 - function getQueryInfo() {
124 - return array(
125 - 'tables' => array( 'cn_notice_log' ),
126 - 'fields' => '*',
127 - );
128 - }
129 -
130 - /**
131 - * Generate the content of each table row (1 row = 1 log entry)
132 - */
133 - function formatRow( $row ) {
134 - global $wgLang, $wgExtensionAssetsPath;
135 -
136 - // Create a user object so we can pull the name, user page, etc.
137 - $loggedUser = User::newFromId( $row->notlog_user_id );
138 - // Create the user page link
139 - $userLink = $this->getSkin()->makeLinkObj( $loggedUser->getUserPage(),
140 - $loggedUser->getName() );
141 - $userTalkLink = $this->getSkin()->makeLinkObj( $loggedUser->getTalkPage(),
142 - wfMsg ( 'centralnotice-talk-link' ) );
143 -
144 - // Create the campaign link
145 - $campaignLink = $this->getSkin()->makeLinkObj( $this->viewPage,
146 - htmlspecialchars( $row->notlog_not_name ),
147 - 'method=listNoticeDetail&notice=' . urlencode( $row->notlog_not_name ) );
148 -
149 - // Begin log entry primary row
150 - $htmlOut = Xml::openElement( 'tr' );
151 -
152 - $htmlOut .= Xml::openElement( 'td', array( 'valign' => 'top' ) );
153 - if ( $row->notlog_action !== 'removed' ) {
154 - $htmlOut .= '<a href="javascript:toggleDisplay(\''.$row->notlog_id.'\')">'.
155 - '<img src="'.$wgExtensionAssetsPath.'/CentralNotice/collapsed.png" id="cn-collapsed-'.$row->notlog_id.'" style="display:block;vertical-align:baseline;"/>'.
156 - '<img src="'.$wgExtensionAssetsPath.'/CentralNotice/uncollapsed.png" id="cn-uncollapsed-'.$row->notlog_id.'" style="display:none;vertical-align:baseline;"/>'.
157 - '</a>';
158 - }
159 - $htmlOut .= Xml::closeElement( 'td' );
160 - $htmlOut .= Xml::tags( 'td', array( 'valign' => 'top', 'class' => 'primary' ),
161 - $wgLang->date( $row->notlog_timestamp ) . ' ' . $wgLang->time( $row->notlog_timestamp )
162 - );
163 - $htmlOut .= Xml::tags( 'td', array( 'valign' => 'top', 'class' => 'primary' ),
164 - wfMsg ( 'centralnotice-user-links', $userLink, $userTalkLink )
165 - );
166 - $htmlOut .= Xml::tags( 'td', array( 'valign' => 'top', 'class' => 'primary' ),
167 - $row->notlog_action
168 - );
169 - $htmlOut .= Xml::tags( 'td', array( 'valign' => 'top', 'class' => 'primary' ),
170 - $campaignLink
171 - );
172 - $htmlOut .= Xml::tags( 'td', array(),
173 - '&nbsp;'
174 - );
175 -
176 - // End log entry primary row
177 - $htmlOut .= Xml::closeElement( 'tr' );
178 -
179 - if ( $row->notlog_action !== 'removed' ) {
180 - // Begin log entry secondary row
181 - $htmlOut .= Xml::openElement( 'tr', array( 'id' => 'cn-log-details-'.$row->notlog_id, 'style' => 'display:none;' ) );
182 -
183 - $htmlOut .= Xml::tags( 'td', array( 'valign' => 'top' ),
184 - '&nbsp;' // force a table cell in older browsers
185 - );
186 - $htmlOut .= Xml::openElement( 'td', array( 'valign' => 'top', 'colspan' => '5' ) );
187 - if ( $row->notlog_action == 'created' ) {
188 - $htmlOut .= $this->showInitialSettings( $row );
189 - } else if ( $row->notlog_action == 'modified' ) {
190 - $htmlOut .= $this->showChanges( $row );
191 - }
192 - $htmlOut .= Xml::closeElement( 'td' );
193 -
194 - // End log entry primary row
195 - $htmlOut .= Xml::closeElement( 'tr' );
196 - }
197 -
198 - return $htmlOut;
199 - }
200 -
201 - function showInitialSettings( $row ) {
202 - global $wgLang;
203 - $details = '';
204 - $details .= wfMsg (
205 - 'centralnotice-log-label',
206 - wfMsg ( 'centralnotice-start-date' ),
207 - $wgLang->date( $row->notlog_end_start ).' '.$wgLang->time( $row->notlog_end_start )
208 - )."<br/>";
209 - $details .= wfMsg (
210 - 'centralnotice-log-label',
211 - wfMsg ( 'centralnotice-end-date' ),
212 - $wgLang->date( $row->notlog_end_end ).' '.$wgLang->time( $row->notlog_end_end )
213 - )."<br/>";
214 - $details .= wfMsg (
215 - 'centralnotice-log-label',
216 - wfMsg ( 'centralnotice-projects' ),
217 - $row->notlog_end_projects
218 - )."<br/>";
219 - $language_count = count( explode ( ', ', $row->notlog_end_languages ) );
220 - $languageList = '';
221 - if ( $language_count > 15 ) {
222 - $languageList = wfMsg ( 'centralnotice-multiple-languages', $language_count );
223 - } elseif ( $language_count > 0 ) {
224 - $languageList = $row->notlog_end_languages;
225 - }
226 - $details .= wfMsg (
227 - 'centralnotice-log-label',
228 - wfMsg ( 'centralnotice-languages' ),
229 - $languageList
230 - )."<br/>";
231 - $details .= wfMsg (
232 - 'centralnotice-log-label',
233 - wfMsg ( 'centralnotice-geo' ),
234 - ($row->notlog_end_geo ? 'on' : 'off')
235 - )."<br/>";
236 - if ( $row->notlog_end_geo ) {
237 - $country_count = count( explode ( ', ', $row->notlog_end_countries ) );
238 - $countryList = '';
239 - if ( $country_count > 20 ) {
240 - $countryList = wfMsg ( 'centralnotice-multiple-countries', $country_count );
241 - } elseif ( $country_count > 0 ) {
242 - $countryList = $row->notlog_end_countries;
243 - }
244 - $details .= wfMsg (
245 - 'centralnotice-log-label',
246 - wfMsg ( 'centralnotice-countries' ),
247 - $countryList
248 - )."<br/>";
249 - }
250 - return $details;
251 - }
252 -
253 - function showChanges( $row ) {
254 - global $wgLang;
255 - $details = '';
256 - if ( $row->notlog_begin_start !== $row->notlog_end_start ) {
257 - $details .= wfMsg (
258 - 'centralnotice-log-label',
259 - wfMsg ( 'centralnotice-start-date' ),
260 - wfMsg (
261 - 'centralnotice-changed',
262 - $wgLang->date( $row->notlog_begin_start ).' '.$wgLang->time( $row->notlog_begin_start ),
263 - $wgLang->date( $row->notlog_end_start ).' '.$wgLang->time( $row->notlog_end_start )
264 - )
265 - )."<br/>";
266 - }
267 - if ( $row->notlog_begin_end !== $row->notlog_end_end ) {
268 - $details .= wfMsg (
269 - 'centralnotice-log-label',
270 - wfMsg ( 'centralnotice-end-date' ),
271 - wfMsg (
272 - 'centralnotice-changed',
273 - $wgLang->date( $row->notlog_begin_end ).' '.$wgLang->time( $row->notlog_begin_end ),
274 - $wgLang->date( $row->notlog_end_end ).' '.$wgLang->time( $row->notlog_end_end )
275 - )
276 - )."<br/>";
277 - }
278 - $details .= $this->testBooleanChange( 'enabled', $row );
279 - $details .= $this->testBooleanChange( 'preferred', $row );
280 - $details .= $this->testBooleanChange( 'locked', $row );
281 - $details .= $this->testBooleanChange( 'geo', $row );
282 - $details .= $this->testSetChange( 'projects', $row );
283 - $details .= $this->testSetChange( 'languages', $row );
284 - $details .= $this->testSetChange( 'countries', $row );
285 - if ( $row->notlog_begin_banners !== $row->notlog_end_banners ) {
286 - // Show changes to banner weights and assignment
287 - $beginBannersObject = json_decode( $row->notlog_begin_banners );
288 - $endBannersObject = json_decode( $row->notlog_end_banners );
289 - $beginBanners = array();
290 - $endBanners = array();
291 - foreach( $beginBannersObject as $key => $weight ) {
292 - $beginBanners[$key] = $key.' ('.$weight.')';
293 - }
294 - foreach( $endBannersObject as $key => $weight ) {
295 - $endBanners[$key] = $key.' ('.$weight.')';
296 - }
297 - if ( $beginBanners ) {
298 - $before = implode( ', ', $beginBanners );
299 - } else {
300 - $before = wfMsg ( 'centralnotice-no-assignments' );
301 - }
302 - if ( $endBanners ) {
303 - $after = implode( ', ', $endBanners );
304 - } else {
305 - $after = wfMsg ( 'centralnotice-no-assignments' );
306 - }
307 - $details .= wfMsg (
308 - 'centralnotice-log-label',
309 - wfMsg ( 'centralnotice-templates' ),
310 - wfMsg ( 'centralnotice-changed', $before, $after)
311 - )."<br/>";
312 - }
313 - return $details;
314 - }
315 -
316 - private function testBooleanChange( $param, $row ) {
317 - $result = '';
318 - $beginField = 'notlog_begin_'.$param;
319 - $endField = 'notlog_end_'.$param;
320 - if ( $row->$beginField !== $row->$endField ) {
321 - $result .= wfMsg (
322 - 'centralnotice-log-label',
323 - wfMsg ( 'centralnotice-'.$param ),
324 - wfMsg (
325 - 'centralnotice-changed',
326 - ( $row->$beginField ? wfMsg ( 'centralnotice-on' ) : wfMsg ( 'centralnotice-off' ) ),
327 - ( $row->$endField ? wfMsg ( 'centralnotice-on' ) : wfMsg ( 'centralnotice-off' ) )
328 - )
329 - )."<br/>";
330 - }
331 - return $result;
332 - }
333 -
334 - private function testSetChange( $param, $row ) {
335 - $result = '';
336 - $beginField = 'notlog_begin_'.$param;
337 - $endField = 'notlog_end_'.$param;
338 - if ( $row->$beginField !== $row->$endField ) {
339 - $beginSet = array();
340 - $endSet = array();
341 - if ( $row->$beginField ) {
342 - $beginSet = explode( ', ', $row->$beginField );
343 - }
344 - if ( $row->$endField ) {
345 - $endSet = explode( ', ', $row->$endField );
346 - }
347 - $added = array_diff( $endSet, $beginSet );
348 - $removed = array_diff( $beginSet, $endSet );
349 - $differences = '';
350 - if ( $added ) {
351 - $differences .= wfMsg ( 'centralnotice-added', implode( ', ', $added ) );
352 - if ( $removed ) $differences .= '; ';
353 - }
354 - if ( $removed ) {
355 - $differences .= wfMsg ( 'centralnotice-removed', implode( ', ', $removed ) );
356 - }
357 - $result .= wfMsg (
358 - 'centralnotice-log-label',
359 - wfMsg ( 'centralnotice-'.$param ),
360 - $differences
361 - )."<br/>";
362 - }
363 - return $result;
364 - }
365 -
366 - /**
367 - * Specify table headers
368 - */
369 - function getStartBody() {
370 - $htmlOut = '';
371 - $htmlOut .= Xml::openElement( 'table', array( 'id' => 'cn-campaign-logs', 'cellpadding' => 3 ) );
372 - $htmlOut .= Xml::openElement( 'tr' );
373 - $htmlOut .= Xml::element( 'th', array( 'style' => 'width: 20px;' ) );
374 - $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 130px;' ),
375 - wfMsg ( 'centralnotice-timestamp' )
376 - );
377 - $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 160px;' ),
378 - wfMsg ( 'centralnotice-user' )
379 - );
380 - $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 100px;' ),
381 - wfMsg ( 'centralnotice-action' )
382 - );
383 - $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 160px;' ),
384 - wfMsg ( 'centralnotice-notice' )
385 - );
386 - $htmlOut .= Xml::tags( 'td', array(),
387 - '&nbsp;'
388 - );
389 - $htmlOut .= Xml::closeElement( 'tr' );
390 - return $htmlOut;
391 - }
392 -
393 - /**
394 - * Close table
395 - */
396 - function getEndBody() {
397 - $htmlOut = '';
398 - $htmlOut .= Xml::closeElement( 'table' );
399 - return $htmlOut;
400 - }
401 -}
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/centralnotice.css
@@ -57,21 +57,6 @@
5858 margin-left:1.6em;
5959 margin-right:1.6em;
6060 }
61 -#preferences table#cn-campaign-logs {
62 - width: auto;
63 -}
64 -#preferences table#cn-campaign-logs td.primary {
65 - background-color: #F0F0F0;
66 -}
67 -#preferences .cn-new-value {
68 - color: #006400;
69 -}
70 -#preferences .cn-old-value {
71 - color: #8B0000;
72 -}
73 -#preferences .cn-log-label {
74 - font-weight: bold;
75 -}
7661
7762 /* Vector-specific definitions */
7863 body.skin-vector #preferences fieldset.prefsection {
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/patches/patch-notice_log.sql
@@ -1,33 +0,0 @@
2 -
3 -CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/cn_notice_log (
4 - `notlog_id` int unsigned NOT NULL PRIMARY KEY auto_increment,
5 - `notlog_timestamp` binary(14) NOT NULL,
6 - `notlog_user_id` int unsigned NOT NULL,
7 - `notlog_action` enum('created','modified','removed') NOT NULL DEFAULT 'modified',
8 - `notlog_not_id` int unsigned NOT NULL,
9 - `notlog_not_name` varchar(255) DEFAULT NULL,
10 - `notlog_begin_projects` varchar(255) DEFAULT NULL,
11 - `notlog_end_projects` varchar(255) DEFAULT NULL,
12 - `notlog_begin_languages` text,
13 - `notlog_end_languages` text,
14 - `notlog_begin_countries` text,
15 - `notlog_end_countries` text,
16 - `notlog_begin_start` char(14) DEFAULT NULL,
17 - `notlog_end_start` char(14) DEFAULT NULL,
18 - `notlog_begin_end` char(14) DEFAULT NULL,
19 - `notlog_end_end` char(14) DEFAULT NULL,
20 - `notlog_begin_enabled` tinyint(1) DEFAULT NULL,
21 - `notlog_end_enabled` tinyint(1) DEFAULT NULL,
22 - `notlog_begin_preferred` tinyint(1) DEFAULT NULL,
23 - `notlog_end_preferred` tinyint(1) DEFAULT NULL,
24 - `notlog_begin_locked` tinyint(1) DEFAULT NULL,
25 - `notlog_end_locked` tinyint(1) DEFAULT NULL,
26 - `notlog_begin_geo` tinyint(1) DEFAULT NULL,
27 - `notlog_end_geo` tinyint(1) DEFAULT NULL,
28 - `notlog_begin_banners` text,
29 - `notlog_end_banners` text
30 -) /*$wgDBTableOptions*/;
31 -CREATE INDEX /*i*/notlog_timestamp ON /*_*/cn_notice_log (notlog_timestamp);
32 -CREATE INDEX /*i*/notlog_user_id ON /*_*/cn_notice_log (notlog_user_id, notlog_timestamp);
33 -CREATE INDEX /*i*/notlog_not_id ON /*_*/cn_notice_log (notlog_not_id, notlog_timestamp);
\ No newline at end of file
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/patches/patch-notice_logs.sql
@@ -0,0 +1,34 @@
 2+-- Update to allow for logging of changes to campaign settings.
 3+
 4+CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/cn_notice_log (
 5+ `notlog_id` int unsigned NOT NULL PRIMARY KEY auto_increment,
 6+ `notlog_timestamp` binary(14) NOT NULL,
 7+ `notlog_user_id` int unsigned NOT NULL,
 8+ `notlog_action` enum('created','modified','removed') NOT NULL DEFAULT 'modified',
 9+ `notlog_not_id` int unsigned NOT NULL,
 10+ `notlog_begin_name` varchar(255),
 11+ `notlog_end_name` varchar(255),
 12+ `notlog_begin_projects` varchar(255),
 13+ `notlog_end_projects` varchar(255),
 14+ `notlog_begin_languages` text,
 15+ `notlog_end_languages` text,
 16+ `notlog_begin_countries` text,
 17+ `notlog_end_countries` text,
 18+ `notlog_begin_start` char(14),
 19+ `notlog_end_start` char(14),
 20+ `notlog_begin_end` char(14),
 21+ `notlog_end_end` char(14),
 22+ `notlog_begin_enabled` tinyint(1),
 23+ `notlog_end_enabled` tinyint(1),
 24+ `notlog_begin_preferred` tinyint(1),
 25+ `notlog_end_preferred` tinyint(1),
 26+ `notlog_begin_locked` tinyint(1),
 27+ `notlog_end_locked` tinyint(1),
 28+ `notlog_begin_geo` tinyint(1),
 29+ `notlog_end_geo` tinyint(1),
 30+ `notlog_begin_assignments` text,
 31+ `notlog_end_assignments` text
 32+) /*$wgDBTableOptions*/;
 33+CREATE INDEX /*i*/notlog_timestamp ON /*_*/cn_notice_log (notlog_timestamp);
 34+CREATE INDEX /*i*/notlog_user_id ON /*_*/cn_notice_log (notlog_user_id, notlog_timestamp);
 35+CREATE INDEX /*i*/notlog_not_id ON /*_*/cn_notice_log (notlog_not_id, notlog_timestamp);
\ No newline at end of file
Property changes on: branches/wmf/1.17wmf1/extensions/CentralNotice/patches/patch-notice_logs.sql
___________________________________________________________________
Added: svn:eol-style
136 + native
Property changes on: branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNotice.sql
___________________________________________________________________
Modified: svn:mergeinfo
237 Reverse-merged /trunk/extensions/CentralNotice/CentralNotice.sql:r91118-92408
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNotice.i18n.php
@@ -39,9 +39,7 @@
4040 'centralnotice-show-notices' => 'Show campaigns',
4141 'centralnotice-list-templates' => 'List banners',
4242 'centralnotice-multiple-projects' => 'Multiple ($1)',
43 - 'centralnotice-multiple-languages' => 'Multiple ($1)',
44 - 'centralnotice-multiple-countries' => 'Multiple ($1)',
45 - 'centralnotice-all-projects' => 'All projects',
 43+ 'centralnotice-multiple-languages' => 'Multiple ($1)', 'centralnotice-all-projects' => 'All projects',
4644 'centralnotice-language-listing' => '$1 - $2',
4745 'centralnotice-translations' => 'Translations',
4846 'centralnotice-translate-to' => 'Translate to',
@@ -133,7 +131,7 @@
134132 'centralnotice-banner-fundraising' => 'This is a fundraising banner',
135133 'centralnotice-banner-fundraising-help' => 'Create an anchor tag in the banner body with id="cn_fundraising_link" and enter one or more landing pages below, for example, "JimmyAppeal01". The href of the link will be constructed automatically.',
136134 'centralnotice-banner-landing-pages' => 'Landing pages (comma-separated):',
137 - 'centralnotice-geo' => 'Geotargeted',
 135+ 'centralnotice-geotargeted' => 'Geotargeted',
138136 'centralnotice-countries' => 'Countries',
139137 'centralnotice-allocation' => 'Allocation',
140138 'centralnotice-view-allocation' => 'View banner allocation',
@@ -148,19 +146,6 @@
149147 'centralnotice-preferred' => 'Preferred',
150148 'centralnotice-logs' => 'Logs',
151149 'centralnotice-view-logs' => 'View logs',
152 - 'centralnotice-timestamp' => 'Timestamp',
153 - 'centralnotice-user' => 'User',
154 - 'centralnotice-action' => 'Action',
155 - 'centralnotice-changed' => 'Changed from <span class="cn-old-value">$1</span> to <span class="cn-new-value">$2</span>',
156 - 'centralnotice-on' => 'on',
157 - 'centralnotice-off' => 'off',
158 - 'centralnotice-added' => 'Added <span class="cn-new-value">$1</span>',
159 - 'centralnotice-removed' => 'Removed <span class="cn-old-value">$1</span>',
160 - 'centralnotice-banners-changed' => 'Banner assignments were changed',
161 - 'centralnotice-no-assignments' => 'no banners assigned',
162 - 'centralnotice-talk-link' => 'talk',
163 - 'centralnotice-user-links' => '$1 ($2)',
164 - 'centralnotice-log-label' => '<span class="cn-log-label">$1:</span> $2',
165150 );
166151
167152 /** Message documentation (Message documentation)
@@ -189,22 +174,14 @@
190175 'centralnotice-summary' => 'Used in Special:CentralNotice',
191176 'centralnotice-end-date' => '{{Identical|End date}}',
192177 'centralnotice-enabled' => '{{Identical|Enabled}}',
193 - 'centralnotice-modify' => 'Submit button on:
194 -* "change translation language" dialog box on [[m:Special:NoticeTemplate]]
195 -* "view banner allocation" on [[m:Special:BannerAllocation]]
196 -* any others?
197 -
198 -{{Identical|Submit}}',
 178+ 'centralnotice-modify' => '{{Identical|Submit}}',
199179 'centralnotice-save-banner' => 'Label for the submit button which saves a CentralNotice banner.',
200180 'centralnotice-preview' => '{{Identical|Preview}}',
201181 'centralnotice-nopreview' => '{{Identical|Nopreview}}',
202182 'centralnotice-remove' => '{{Identical|Remove}}',
203183 'centralnotice-translate-heading' => 'Fieldset label. $1 is a name of a template.',
204 - 'centralnotice-manage' => 'Title of sub-page of [http://meta.wikimedia.org/wiki/Special:CentralNotice Manage Central Notice] special page.',
205184 'centralnotice-add' => '{{Identical|Add}}',
206 - 'centralnotice-multiple-languages' => '$1 is the number of languages in which the notice is available. It is always greater than 3. This message is in the column "languages" in the table.',
207 - 'centralnotice-multiple-countries' => '$1 is the number of countries in which the notice is available.',
208 - 'centralnotice-all-projects' => 'Data entry in the column "Projects" in the table on the [[m:Special:CentralNotice|Central Notice]] special page.',
 185+ 'centralnotice-multiple-languages' => '$1 is the number of languages in which the notice is available. It is always greater than 3. This message in the column "languages" in the table.',
209186 'centralnotice-language-listing' => 'A language listing for the language multi-select box. First parameter is the language code. Second parameter is the name of the language.',
210187 'centralnotice-translations' => '{{Identical|Translation}}',
211188 'centralnotice-translate' => '{{Identical|Translate}}',
@@ -232,27 +209,15 @@
233210 'centralnotice-insert' => '{{Identical|Insert}}',
234211 'centralnotice-hide-button' => 'See also {{msg|Centralnotice-expand-button}}.',
235212 'centralnotice-expand-button' => 'See also {{msg|Centralnotice-hide-button}}.',
236 - 'centralnotice-geo' => 'Used to label a checkbox which activates geotargeting',
237 - 'centralnotice-allocation' => 'Tab for sub-page [[m:BannerAllocation|banner allocation]] to central notice special page.',
238 - 'centralnotice-view-allocation' => 'Heading of dialog box on [[m:Special:BannerAllocation|banner allocation]] special page.',
239 - 'centralnotice-allocation-instructions' => 'Dialog box instructions on [[m:Special:BannerAllocation|banner allocation]] special page.',
 213+ 'centralnotice-geotargeted' => 'Used to label a checkbox which activates geotargeting',
240214 'centralnotice-languages' => '{{Identical|Language}}',
241 - 'centralnotice-projects' => 'Column heading of a table in the [http://meta.wikimedia.org/wiki/Special:CentralNotice Manage Central Notice] special page
242 -
243 -{{Identical|Project}}',
 215+ 'centralnotice-projects' => '{{Identical|Project}}',
244216 'centralnotice-country' => '{{Identical|Country}}',
245 - 'centralnotice-no-allocation' => 'Message for nil result to query on [[m:Special:BannerAllocation|banner allocation]] special page.',
246217 'centralnotice-allocation-description' => 'A description of the environment the allocation of which is being described.
247218 * $1 is the language code for the site (e.g "en").
248219 * $2 is the project name for the site (e.g. "wikipedia").
249220 * $3 is the country code (e.g. "US").',
250221 'centralnotice-logs' => 'Label for tab which displays a log of changes',
251 - 'centralnotice-user' => '{{Identical|User}}',
252 - 'centralnotice-action' => '{{Identical|Action}}',
253 - 'centralnotice-no-assignments' => 'Appears in the middle of a sentence; should be all lower case.',
254 - 'centralnotice-talk-link' => 'Link for user talk page; should be lower case.',
255 - 'centralnotice-user-links' => '$1 is a link to the user page, $2 is a link to the user talk page.',
256 - 'centralnotice-log-label' => '$1 is a label for a setting, $2 is the value of the setting (or changes to the setting)',
257222 );
258223
259224 /** Afrikaans (Afrikaans)
@@ -450,7 +415,6 @@
451416 'centralnotice' => 'مدير الإخطار المركزي',
452417 'noticetemplate' => 'إداري الإخطار المركزي',
453418 'bannerallocation' => 'أخطار الإداري المركزي',
454 - 'centralnoticelogs' => 'إداري الإخطار المركزي',
455419 'right-centralnotice-admin' => 'أدر الإخطارات المركزية',
456420 'action-centralnotice-admin' => 'التحكم بالإعلانات المركزية',
457421 'centralnotice-desc' => 'يضيف إعلانا مركزيا للموقع',
@@ -568,7 +532,7 @@
569533 'centralnotice-banner-fundraising' => 'هذا هو شعار جمع التبرعات.',
570534 'centralnotice-banner-fundraising-help' => 'إنشاء علامة ارتساء في نص الشعار مع معرف = "cn_fundraising_link"، وقم بإدخال واحد أو أكثر الصفحات المقصودة أدناه، على سبيل المثال، "JimmyAppeal01". سيتم تعبيد href الارتباط تلقائياً.',
571535 'centralnotice-banner-landing-pages' => 'الصفحات المقصودة (مفصولة بفواصل) :',
572 - 'centralnotice-geo' => 'الاستهداف الجغرافي',
 536+ 'centralnotice-geotargeted' => 'الاستهداف الجغرافي',
573537 'centralnotice-countries' => 'الدول',
574538 'centralnotice-allocation' => 'تخصيص',
575539 'centralnotice-view-allocation' => 'موقع عرض الشعار',
@@ -582,11 +546,6 @@
583547 'centralnotice-documentwrite-error' => 'لا يمكن إستخدام التعبير document.write() في داخل الشعار.
584548 للحصول على مزيد من المعلومات راجع http://meta.wikimedia.org/wiki/Help:CentralNotice .',
585549 'centralnotice-preferred' => 'مفضل',
586 - 'centralnotice-logs' => 'سجلات',
587 - 'centralnotice-view-logs' => 'عرض السجلات',
588 - 'centralnotice-timestamp' => 'طابع زمني',
589 - 'centralnotice-user' => 'مستخدم',
590 - 'centralnotice-action' => 'فعل',
591550 );
592551
593552 /** Aramaic (ܐܪܡܝܐ)
@@ -945,7 +904,7 @@
946905 'centralnotice-banner-type' => 'Баннер төрө:',
947906 'centralnotice-banner-hidable' => 'Статик/йәшерелеүсән',
948907 'centralnotice-banner-collapsible' => 'Төрөлөүсән',
949 - 'centralnotice-geo' => 'Геобәйләнеш',
 908+ 'centralnotice-geotargeted' => 'Геобәйләнеш',
950909 'centralnotice-countries' => 'Илдәр',
951910 'centralnotice-allocation' => 'Урынлашыу',
952911 'centralnotice-view-allocation' => 'Баннерҙарҙың урынлашыуын ҡарау',
@@ -961,15 +920,6 @@
962921 'centralnotice-preferred' => 'Өҫтөнлөк бирелгән',
963922 );
964923
965 -/** Bavarian (Boarisch)
966 - * @author Mucalexx
967 - */
968 -$messages['bar'] = array(
969 - 'centralnotice-translate-to' => 'Ywersetzen auf',
970 - 'centralnotice-translate' => 'Ywersetzen',
971 - 'centralnotice-english' => 'Englisch',
972 -);
973 -
974924 /** Southern Balochi (بلوچی مکرانی)
975925 * @author Mostafadaneshvar
976926 */
@@ -1046,7 +996,6 @@
1047997 'centralnotice-list-templates' => 'Сьпіс паведамленьняў',
1048998 'centralnotice-multiple-projects' => 'некалькі ($1)',
1049999 'centralnotice-multiple-languages' => 'некалькі ($1)',
1050 - 'centralnotice-multiple-countries' => 'Некалькі ($1)',
10511000 'centralnotice-all-projects' => 'Усе праекты',
10521001 'centralnotice-translations' => 'Пераклады',
10531002 'centralnotice-translate-to' => 'Пераклад на',
@@ -1138,7 +1087,7 @@
11391088 'centralnotice-banner-fundraising' => 'Гэта банэр для збору ахвяраваньняў',
11401089 'centralnotice-banner-fundraising-help' => 'Стварыце тэг спасылкі ў зьмесьце банэра з id="cn_fundraising_link" і пазначце адну ці некалькі мэтавых старонак, напрыклад, «JimmyAppeal01». Атрыбут href будзе створаны аўтаматычна.',
11411090 'centralnotice-banner-landing-pages' => 'Мэтавыя старонкі (праз коску):',
1142 - 'centralnotice-geo' => 'Геаграфічная прывязка',
 1091+ 'centralnotice-geotargeted' => 'Геаграфічная прывязка',
11431092 'centralnotice-countries' => 'Краіны',
11441093 'centralnotice-allocation' => 'Прызначэньне',
11451094 'centralnotice-view-allocation' => 'Паказаць разьмяшчэньне банэра',
@@ -1154,10 +1103,6 @@
11551104 'centralnotice-preferred' => 'Пажадана',
11561105 'centralnotice-logs' => 'Журналы падзеяў',
11571106 'centralnotice-view-logs' => 'Паказаць журнал падзеяў',
1158 - 'centralnotice-timestamp' => 'Дата/час',
1159 - 'centralnotice-user' => 'Удзельнік',
1160 - 'centralnotice-action' => 'Дзеяньне',
1161 - 'centralnotice-changed' => 'Зьмяніць з <span class="cn-old-value">$1</span> на <span class="cn-new-value">$2</span>',
11621107 );
11631108
11641109 /** Bulgarian (Български)
@@ -1353,7 +1298,7 @@
13541299 'centralnotice-banner-type' => 'ব্যানারের ধরন:',
13551300 'centralnotice-banner-hidable' => 'স্ট্যাটিক/লুকানোযোগ্য',
13561301 'centralnotice-banner-collapsible' => 'ভাঁজযোগ্য',
1357 - 'centralnotice-geo' => 'স্থানাংকলক্ষ্য',
 1302+ 'centralnotice-geotargeted' => 'স্থানাংকলক্ষ্য',
13581303 'centralnotice-countries' => 'দেশ',
13591304 'centralnotice-languages' => 'ভাষা',
13601305 'centralnotice-projects' => 'প্রকল্প',
@@ -1507,7 +1452,7 @@
15081453 'centralnotice-banner-fundraising' => "Ur giton dastum arc'hant eo hemañ",
15091454 'centralnotice-banner-fundraising-help' => 'Krouiñ ur valizenn eoriañ e-korf ar giton gant id = "cn_fundraising_link" ha merkit ur bajenn dal pe meur a hini a-is, da skouer, "JimmyAppeal01". Savet e vo href al liamm ent emgefre.',
15101455 'centralnotice-banner-landing-pages' => 'Pajennoù pal (dispartiet dre skejoù) :',
1511 - 'centralnotice-geo' => "Geolec'hiet",
 1456+ 'centralnotice-geotargeted' => "Geolec'hiet",
15121457 'centralnotice-countries' => 'Broioù',
15131458 'centralnotice-allocation' => 'Skorenn',
15141459 'centralnotice-view-allocation' => 'Gwelout skorenn ar giton',
@@ -1650,7 +1595,7 @@
16511596 'centralnotice-banner-fundraising' => 'Ovo je plakat za donacije',
16521597 'centralnotice-banner-fundraising-help' => 'Pravi oznaku za uklapanje u tijelo banera sa id="cn_fundraising_link" i unosi jedan ili više ciljnih članaka ispod, naprimjer, "JimmyAppeal01". Oznaka href za link će biti automatski napravljen.',
16531598 'centralnotice-banner-landing-pages' => 'Ciljne stranice (razdvojene zarezima):',
1654 - 'centralnotice-geo' => 'Geociljano',
 1599+ 'centralnotice-geotargeted' => 'Geociljano',
16551600 'centralnotice-countries' => 'Države',
16561601 'centralnotice-allocation' => 'Raspoređivanje',
16571602 'centralnotice-view-allocation' => 'Pogledaj dodjelu obavještenja',
@@ -1795,7 +1740,7 @@
17961741 'centralnotice-banner-type' => 'Tipus de pancarta:',
17971742 'centralnotice-banner-hidable' => 'Estàtic/Amagable',
17981743 'centralnotice-banner-collapsible' => 'Plegable',
1799 - 'centralnotice-geo' => 'Geolocalitzat',
 1744+ 'centralnotice-geotargeted' => 'Geolocalitzat',
18001745 'centralnotice-countries' => 'Països',
18011746 'centralnotice-allocation' => 'Assignació',
18021747 'centralnotice-view-allocation' => 'Veure la disposició de la pancarta',
@@ -1965,7 +1910,7 @@
19661911 'centralnotice-banner-fundraising' => 'Tohle je banner pro fundraising',
19671912 'centralnotice-banner-fundraising-help' => 'V těle banneru vytvořte odkaz s id="cn_fundraising_link" a níže zadejte jednu nebo více cílových stránek, například „JimmyAppeal01“. U odkazu se href vyplní automaticky.',
19681913 'centralnotice-banner-landing-pages' => 'Cílové stránky (oddělené čárkou):',
1969 - 'centralnotice-geo' => 'Zeměpisně cílené',
 1914+ 'centralnotice-geotargeted' => 'Zeměpisně cílené',
19701915 'centralnotice-countries' => 'Země',
19711916 'centralnotice-allocation' => 'Přidělení',
19721917 'centralnotice-view-allocation' => 'Zobrazit přidělení bannerů',
@@ -1988,7 +1933,7 @@
19891934 * @author Xxglennxx
19901935 */
19911936 $messages['cy'] = array(
1992 - 'centralnotice' => 'Gweinyddu hysbysiadau canolog',
 1937+ 'centralnotice' => "Gweinyddu'r hysbysiad canolog",
19931938 'noticetemplate' => "Gweinyddu'r hysbysiad canolog",
19941939 'bannerallocation' => "Gweinyddu'r hysbysiad canolog",
19951940 'right-centralnotice-admin' => 'Gweinyddu hysbysiadau canolog',
@@ -2000,7 +1945,7 @@
20011946 'centralnotice-notice-name' => "Enw'r hysbysiad",
20021947 'centralnotice-end-date' => 'Dyddiad y daw i ben',
20031948 'centralnotice-enabled' => 'Wedi ei alluogi',
2004 - 'centralnotice-modify' => 'Dangoser',
 1949+ 'centralnotice-modify' => 'Gosoder',
20051950 'centralnotice-save-banner' => 'Cadwer y baner',
20061951 'centralnotice-preview' => 'Rhagolwg',
20071952 'centralnotice-add-new' => 'Ychwanegu hysbysiad canolog newydd',
@@ -2014,9 +1959,6 @@
20151960 'centralnotice-add-template' => 'Ychwanegu nodyn',
20161961 'centralnotice-show-notices' => 'Dangos yr hysbysiadau',
20171962 'centralnotice-list-templates' => "Rhestru'r nodiadau",
2018 - 'centralnotice-multiple-projects' => 'Nifer ($1)',
2019 - 'centralnotice-multiple-languages' => 'Nifer ($1)',
2020 - 'centralnotice-all-projects' => 'Pob prosiect',
20211963 'centralnotice-translations' => 'Cyfieithiadau',
20221964 'centralnotice-translate-to' => "Cyfieithu i'r",
20231965 'centralnotice-translate' => 'Cyfieithu',
@@ -2056,7 +1998,6 @@
20571999 'centralnotice-end-time' => 'Amser y daw i ben (UTC)',
20582000 'centralnotice-no-templates' => 'Ni chanfuwyd unrhyw faner.
20592001 Ychwanegwch rai!',
2060 - 'centralnotice-available-templates' => 'Y baneri sydd ar gael',
20612002 'centralnotice-weights' => 'Pwysau',
20622003 'centralnotice-notice-is-locked' => "Mae'r hysbysiad wedi ei gloi.
20632004 Ni chaiff ei dynnu i ffwrdd",
@@ -2072,24 +2013,13 @@
20732014 'centralnotice-close-button' => 'Botwm cau',
20742015 'centralnotice-translate-button' => 'Cyswllt i annog cyfieithu',
20752016 'centralnotice-donate-button' => 'Botwm rhoi',
2076 - 'centralnotice-banner-display' => 'Dangos i:',
20772017 'centralnotice-banner-anonymous' => 'Defnyddwyr anhysbys',
2078 - 'centralnotice-banner-logged-in' => 'Defnyddwyr sydd wedi mewngofnodi',
2079 - 'centralnotice-banner-fundraising' => 'Mae hwn yn faner codi arian',
20802018 'centralnotice-countries' => 'Gwledydd',
2081 - 'centralnotice-allocation' => 'Dyraniad',
2082 - 'centralnotice-view-allocation' => 'Gweld dyraniad baneri',
2083 - 'centralnotice-allocation-instructions' => 'Dewiswch y cyfuniad o feysydd yr hoffech weld dyraniad y baneri arno:',
 2019+ 'centralnotice-view-allocation' => 'Gweld dosbarthiad y faner',
20842020 'centralnotice-languages' => 'Ieithoedd',
2085 - 'centralnotice-projects' => 'Prosiectau',
20862021 'centralnotice-country' => 'Gwlad',
2087 - 'centralnotice-no-allocation' => 'Dim baneri wedi eu dyrannu.',
2088 - 'centralnotice-allocation-description' => 'Dyraniad y baneri ar $1.$2 yn $3:',
20892022 'centralnotice-percentage' => 'Canran',
20902023 'centralnotice-preferred' => 'Gorau gennych',
2091 - 'centralnotice-logs' => 'Logiau',
2092 - 'centralnotice-view-logs' => 'Gweld y logiau',
2093 - 'centralnotice-user' => 'Defnyddiwr',
20942024 );
20952025
20962026 /** Danish (Dansk)
@@ -2187,7 +2117,6 @@
21882118 * @author Metalhead64
21892119 * @author Purodha
21902120 * @author Raimond Spekking
2191 - * @author Robby
21922121 * @author The Evil IP address
21932122 * @author Umherirrender
21942123 */
@@ -2222,7 +2151,6 @@
22232152 'centralnotice-list-templates' => 'Vorlagen auflisten',
22242153 'centralnotice-multiple-projects' => 'mehrere ($1)',
22252154 'centralnotice-multiple-languages' => 'mehrere ($1)',
2226 - 'centralnotice-multiple-countries' => 'mehrere ($1)',
22272155 'centralnotice-all-projects' => 'Alle Projekte',
22282156 'centralnotice-translations' => 'Übersetzungen',
22292157 'centralnotice-translate-to' => 'Übersetzen in',
@@ -2314,7 +2242,7 @@
23152243 'centralnotice-banner-fundraising' => 'Dies ist ein Fundraisingbanner',
23162244 'centralnotice-banner-fundraising-help' => 'Ein Ankerelement im Korpus des Banners mit id="cn_fundraising_link" erstellen sowie eine oder mehrere Zielseiten, wie bspw. "JimmysAufruf01". Das href-Attribut des Links wird automatisch erstellt.',
23172245 'centralnotice-banner-landing-pages' => 'Zielseiten (durch Kommata getrennt):',
2318 - 'centralnotice-geo' => 'Geo-anvisiert',
 2246+ 'centralnotice-geotargeted' => 'Geo-anvisiert',
23192247 'centralnotice-countries' => 'Staaten',
23202248 'centralnotice-allocation' => 'Anordnung',
23212249 'centralnotice-view-allocation' => 'Anordnung der Vorlagen ansehen',
@@ -2330,17 +2258,6 @@
23312259 'centralnotice-preferred' => 'Bevorzugt',
23322260 'centralnotice-logs' => 'Logbücher',
23332261 'centralnotice-view-logs' => 'Logbücher ansehen',
2334 - 'centralnotice-timestamp' => 'Zeitstempel',
2335 - 'centralnotice-user' => 'Benutzer',
2336 - 'centralnotice-action' => 'Aktion',
2337 - 'centralnotice-changed' => 'Von <span class="cn-old-value">$1</span> zu <span class="cn-new-value">$2</span> geändert',
2338 - 'centralnotice-on' => 'an',
2339 - 'centralnotice-off' => 'aus',
2340 - 'centralnotice-added' => '<span class="cn-new-value">$1</span> hinzugefügt',
2341 - 'centralnotice-removed' => '<span class="cn-old-value">$1</span> entfernt',
2342 - 'centralnotice-banners-changed' => 'Bannerzuordnungen wurden geändert',
2343 - 'centralnotice-no-assignments' => 'keine Banner zugeordnet',
2344 - 'centralnotice-talk-link' => 'Diskussion',
23452262 );
23462263
23472264 /** German (formal address) (‪Deutsch (Sie-Form)‬)
@@ -2561,7 +2478,7 @@
25622479 'centralnotice-banner-type' => 'Chórgojowy typ:',
25632480 'centralnotice-banner-hidable' => 'Statiski/Chowajobny',
25642481 'centralnotice-banner-collapsible' => 'Fałdujobny',
2565 - 'centralnotice-geo' => 'Geolokalizěrowany',
 2482+ 'centralnotice-geotargeted' => 'Geolokalizěrowany',
25662483 'centralnotice-countries' => 'Kraje',
25672484 'centralnotice-allocation' => 'Zrědowanje',
25682485 'centralnotice-view-allocation' => 'Zrědowanje banarja se woglědaś',
@@ -2712,7 +2629,7 @@
27132630 'centralnotice-banner-type' => 'Τύπος banner:',
27142631 'centralnotice-banner-hidable' => 'Στατικό / Αποκρύψιμο',
27152632 'centralnotice-banner-collapsible' => 'Πτυσσόμενο',
2716 - 'centralnotice-geo' => 'Γεωγραφικά στοχοποιημένο',
 2633+ 'centralnotice-geotargeted' => 'Γεωγραφικά στοχοποιημένο',
27172634 'centralnotice-countries' => 'Χώρες',
27182635 'centralnotice-allocation' => 'Κατανομή',
27192636 'centralnotice-view-allocation' => 'Δείτε κατανομή banner',
@@ -2851,7 +2768,7 @@
28522769 'centralnotice-banner-type' => 'Rubanda tipo:',
28532770 'centralnotice-banner-hidable' => 'Statika/Kaŝebla',
28542771 'centralnotice-banner-collapsible' => 'Maletendebla',
2855 - 'centralnotice-geo' => 'Ŝalti geografian lokigadon',
 2772+ 'centralnotice-geotargeted' => 'Ŝalti geografian lokigadon',
28562773 'centralnotice-countries' => 'Landoj',
28572774 'centralnotice-allocation' => 'Asigno',
28582775 'centralnotice-view-allocation' => 'Vidi asignon de reklamrubando',
@@ -2875,7 +2792,6 @@
28762793 * @author Imre
28772794 * @author Locos epraix
28782795 * @author McDutchie
2879 - * @author Mor
28802796 * @author Muro de Aguas
28812797 * @author Peter17
28822798 * @author Remember the dot
@@ -2934,7 +2850,7 @@
29352851 No se ha añadido',
29362852 'centralnotice-notice-doesnt-exist' => 'La campaña no existe.',
29372853 'centralnotice-remove-notice-doesnt-exist' => 'La campaña no existe.
2938 -Nada que eliminar.',
 2854+Nada que remover.',
29392855 'centralnotice-banner-doesnt-exist' => 'La pancarta no existe.',
29402856 'centralnotice-template-still-bound' => 'La plantilla todavía está enlazada a un aviso.
29412857 No se borrará.',
@@ -3001,7 +2917,7 @@
30022918 'centralnotice-banner-hidable' => 'Estático/Ocultable',
30032919 'centralnotice-banner-collapsible' => 'Colapsable',
30042920 'centralnotice-banner-fundraising' => 'Esto es un anuncio de la campaña de recaudación de fondos',
3005 - 'centralnotice-geo' => 'Geosegmentado',
 2921+ 'centralnotice-geotargeted' => 'Geosegmentado',
30062922 'centralnotice-countries' => 'Países',
30072923 'centralnotice-allocation' => 'Asignación',
30082924 'centralnotice-view-allocation' => 'Asignación de visualización de pancarta',
@@ -3123,7 +3039,7 @@
31243040 'centralnotice-banner-logged-in' => 'Sisseloginud kasutajatele',
31253041 'centralnotice-banner-type' => 'Malli tüüp:',
31263042 'centralnotice-banner-collapsible' => 'Kokkulükatav',
3127 - 'centralnotice-geo' => 'Kohamääranguga',
 3043+ 'centralnotice-geotargeted' => 'Kohamääranguga',
31283044 'centralnotice-countries' => 'Riigid',
31293045 'centralnotice-allocation' => 'Ülesseadmine',
31303046 'centralnotice-view-allocation' => 'Mallide ülesseade vaatamine',
@@ -3326,7 +3242,7 @@
33273243 'centralnotice-banner-type' => 'نوع پرچم:',
33283244 'centralnotice-banner-hidable' => 'ایستا/نهفتنی',
33293245 'centralnotice-banner-collapsible' => 'متلاشی‌پذیر',
3330 - 'centralnotice-geo' => 'دارای تخصیص جغرفیایی',
 3246+ 'centralnotice-geotargeted' => 'دارای تخصیص جغرفیایی',
33313247 'centralnotice-countries' => 'کشورها',
33323248 'centralnotice-allocation' => 'تخصیص',
33333249 'centralnotice-view-allocation' => 'نمایش تخصیص آگهی',
@@ -3468,7 +3384,7 @@
34693385 'centralnotice-banner-type' => 'Bannerityyppi',
34703386 'centralnotice-banner-hidable' => 'Pysyvä/Piilotettava',
34713387 'centralnotice-banner-collapsible' => 'Piilotettava',
3472 - 'centralnotice-geo' => 'Maantieteellisesti suunnattu',
 3388+ 'centralnotice-geotargeted' => 'Maantieteellisesti suunnattu',
34733389 'centralnotice-countries' => 'Maat',
34743390 'centralnotice-allocation' => 'Jakaminen',
34753391 'centralnotice-view-allocation' => 'Näytä bannerin jakaminen',
@@ -3619,7 +3535,7 @@
36203536 'centralnotice-banner-fundraising' => "Il s'agit d'une bannière de levée de fonds",
36213537 'centralnotice-banner-fundraising-help' => 'Créer une balise d\'ancrage dans le corps de la bannière avec id = "cn_fundraising_link" et entrez un ou plusieurs pages de destination ci-dessous, par exemple, "JimmyAppeal01". Le href du lien sera construit automatiquement.',
36223538 'centralnotice-banner-landing-pages' => 'Pages de destination (séparées par des virgules):',
3623 - 'centralnotice-geo' => 'Géolocalisé',
 3539+ 'centralnotice-geotargeted' => 'Géolocalisé',
36243540 'centralnotice-countries' => 'Pays',
36253541 'centralnotice-allocation' => 'Allocation',
36263542 'centralnotice-view-allocation' => 'Voir la disposition de bannière',
@@ -3758,7 +3674,7 @@
37593675 'centralnotice-banner-type' => 'Tipo de baniére :',
37603676 'centralnotice-banner-hidable' => 'Statica / cachâbla',
37613677 'centralnotice-banner-collapsible' => 'Rèductibla',
3762 - 'centralnotice-geo' => 'G·eolocalisâ',
 3678+ 'centralnotice-geotargeted' => 'G·eolocalisâ',
37633679 'centralnotice-countries' => 'Payis',
37643680 'centralnotice-allocation' => 'Alocacion',
37653681 'centralnotice-view-allocation' => 'Vêre l’alocacion de baniére',
@@ -3770,8 +3686,6 @@
37713687 'centralnotice-allocation-description' => 'Alocacion de baniére por $1.$2 en $3 :',
37723688 'centralnotice-percentage' => 'Porcentâjo',
37733689 'centralnotice-preferred' => 'Prèferâ',
3774 - 'centralnotice-logs' => 'Jornals',
3775 - 'centralnotice-view-logs' => 'Vêre los jornals',
37763690 );
37773691
37783692 /** Irish (Gaeilge)
@@ -3906,7 +3820,7 @@
39073821 'centralnotice-banner-fundraising' => 'Este é un cartel da recadación de fondos',
39083822 'centralnotice-banner-fundraising-help' => 'Cree unha etiqueta de largo no corpo do cartel con id="cn_fundraising_link" e insira a continuación unha ou máis páxina de destino; por exemplo, "JimmyAppeal01". O parámetro href da ligazón construirase automaticamente.',
39093823 'centralnotice-banner-landing-pages' => 'Páxinas de destino (separadas por comas):',
3910 - 'centralnotice-geo' => 'Localizado xeograficamente',
 3824+ 'centralnotice-geotargeted' => 'Localizado xeograficamente',
39113825 'centralnotice-countries' => 'Países',
39123826 'centralnotice-allocation' => 'Asignación',
39133827 'centralnotice-view-allocation' => 'Ollar a asignación do modelo',
@@ -4069,7 +3983,7 @@
40703984 'centralnotice-banner-type' => 'Bannertyp:',
40713985 'centralnotice-banner-hidable' => 'Statisch/Uusbländbar',
40723986 'centralnotice-banner-collapsible' => 'Yyklappbar',
4073 - 'centralnotice-geo' => 'Geo-aavisiert',
 3987+ 'centralnotice-geotargeted' => 'Geo-aavisiert',
40743988 'centralnotice-countries' => 'Länder',
40753989 'centralnotice-allocation' => 'Zuewysig',
40763990 'centralnotice-view-allocation' => 'Aaornig vu dr Banner aaluege',
@@ -4122,7 +4036,6 @@
41234037 'centralnotice-list-templates' => 'רשימת תבניות',
41244038 'centralnotice-multiple-projects' => 'מרובים ($1)',
41254039 'centralnotice-multiple-languages' => 'מרובות ($1)',
4126 - 'centralnotice-multiple-countries' => 'מרובות ($1)',
41274040 'centralnotice-all-projects' => 'כל המיזמים',
41284041 'centralnotice-translations' => 'תרגומים',
41294042 'centralnotice-translate-to' => 'תרגום ל',
@@ -4214,7 +4127,7 @@
42154128 'centralnotice-banner-fundraising' => 'זוהי כרזת התרמה',
42164129 'centralnotice-banner-fundraising-help' => 'נא ליצור תג עוגן בגוף הכּרזה עם id="cn_fundraising_link"‎ ולהזין דף נחיתה אחד או יותר בהמשך, למשל "JimmyAppeal01". ערך ה־href של הקישור ייבנה באופן אוטומטי.',
42174130 'centralnotice-banner-landing-pages' => 'דפי נחיתה (מופרדים בפסיקים):',
4218 - 'centralnotice-geo' => 'ממוקד גאוגרפית',
 4131+ 'centralnotice-geotargeted' => 'ממוקד גאוגרפית',
42194132 'centralnotice-countries' => 'מדינות',
42204133 'centralnotice-allocation' => 'הקצאה',
42214134 'centralnotice-view-allocation' => 'צפייה בהקצאת הבאנר',
@@ -4230,17 +4143,6 @@
42314144 'centralnotice-preferred' => 'מועדפת',
42324145 'centralnotice-logs' => 'יומנים',
42334146 'centralnotice-view-logs' => 'הצגת יומנים',
4234 - 'centralnotice-timestamp' => 'חותם זמן',
4235 - 'centralnotice-user' => 'משתמש',
4236 - 'centralnotice-action' => 'פעולה',
4237 - 'centralnotice-changed' => 'שונה מהערך <span class="cn-old-value">$1</span> לערך <span class="cn-new-value">$2</span>',
4238 - 'centralnotice-on' => 'פעיל',
4239 - 'centralnotice-off' => 'כבוי',
4240 - 'centralnotice-added' => 'נוסף: <span class="cn-new-value">$1</span>',
4241 - 'centralnotice-removed' => 'הוסר: <span class="cn-old-value">$1</span>',
4242 - 'centralnotice-banners-changed' => 'הקצאות של כרזות שונו',
4243 - 'centralnotice-no-assignments' => 'לא הוקצו כרזות',
4244 - 'centralnotice-talk-link' => 'שיחה',
42454147 );
42464148
42474149 /** Hindi (हिन्दी)
@@ -4382,7 +4284,7 @@
43834285 'centralnotice-banner-type' => 'Tip obavijesti:',
43844286 'centralnotice-banner-hidable' => 'Statični/Dinamični',
43854287 'centralnotice-banner-collapsible' => 'Moguće sakriti',
4386 - 'centralnotice-geo' => 'Geociljano',
 4288+ 'centralnotice-geotargeted' => 'Geociljano',
43874289 'centralnotice-countries' => 'Države',
43884290 'centralnotice-allocation' => 'Dodjela',
43894291 'centralnotice-view-allocation' => 'Prikaži raspodjelu obavijesti',
@@ -4519,7 +4421,7 @@
45204422 'centralnotice-banner-type' => 'Chorhojowy typ:',
45214423 'centralnotice-banner-hidable' => 'Statiski/Chowajomny',
45224424 'centralnotice-banner-collapsible' => 'Fałdujomny',
4523 - 'centralnotice-geo' => 'Geolokalizowany',
 4425+ 'centralnotice-geotargeted' => 'Geolokalizowany',
45244426 'centralnotice-countries' => 'Kraje',
45254427 'centralnotice-allocation' => 'Přidźělenje',
45264428 'centralnotice-view-allocation' => 'Přidźělenje chorhoje sej wobhladać',
@@ -4658,7 +4560,7 @@
46594561 'centralnotice-banner-type' => 'Hirdetés típusa:',
46604562 'centralnotice-banner-hidable' => 'Statikus/elrejthető',
46614563 'centralnotice-banner-collapsible' => 'Becsukható',
4662 - 'centralnotice-geo' => 'Célzás földrajzi hely szerint',
 4564+ 'centralnotice-geotargeted' => 'Célzás földrajzi hely szerint',
46634565 'centralnotice-countries' => 'Országok',
46644566 'centralnotice-allocation' => 'Kiosztás',
46654567 'centralnotice-view-allocation' => 'Hirdetéskiosztás megtekintése',
@@ -4708,7 +4610,6 @@
47094611 'centralnotice-list-templates' => 'Listar bandieras',
47104612 'centralnotice-multiple-projects' => 'multiple ($1)',
47114613 'centralnotice-multiple-languages' => 'multiple ($1)',
4712 - 'centralnotice-multiple-countries' => 'Multiple ($1)',
47134614 'centralnotice-all-projects' => 'Tote le projectos',
47144615 'centralnotice-translations' => 'Traductiones',
47154616 'centralnotice-translate-to' => 'Traducer in',
@@ -4800,7 +4701,7 @@
48014702 'centralnotice-banner-fundraising' => 'Isto es un bandiera de collecta de fundos',
48024703 'centralnotice-banner-fundraising-help' => 'Crea un etiquetta de ancora in le corpore del bandiera con id="cn_fundraising_link" e entra un o plus paginas de arrivata hic infra, per exemplo "AppelloJimmy01". Le "href" del ligamine essera construite automaticamente.',
48034704 'centralnotice-banner-landing-pages' => 'Paginas de arrivata (separate per commas):',
4804 - 'centralnotice-geo' => 'Localisation geographic',
 4705+ 'centralnotice-geotargeted' => 'Localisation geographic',
48054706 'centralnotice-countries' => 'Paises',
48064707 'centralnotice-allocation' => 'Allocation',
48074708 'centralnotice-view-allocation' => 'Vider allocation de bandieras',
@@ -4816,17 +4717,6 @@
48174718 'centralnotice-preferred' => 'Preferite',
48184719 'centralnotice-logs' => 'Registros',
48194720 'centralnotice-view-logs' => 'Vider registros',
4820 - 'centralnotice-timestamp' => 'Data e hora',
4821 - 'centralnotice-user' => 'Usator',
4822 - 'centralnotice-action' => 'Action',
4823 - 'centralnotice-changed' => 'Cambiate de <span class="cn-old-value">$1</span> a <span class="cn-new-value">$2</span>',
4824 - 'centralnotice-on' => 'active',
4825 - 'centralnotice-off' => 'inactive',
4826 - 'centralnotice-added' => '<span class="cn-new-value">$1</span> addite',
4827 - 'centralnotice-removed' => '<span class="cn-old-value">$1</span> removite',
4828 - 'centralnotice-banners-changed' => 'Assignationes de bandieras ha essite cambiate',
4829 - 'centralnotice-no-assignments' => 'nulle bandieras assignate',
4830 - 'centralnotice-talk-link' => 'discussion',
48314721 );
48324722
48334723 /** Indonesian (Bahasa Indonesia)
@@ -4955,7 +4845,7 @@
49564846 'centralnotice-banner-type' => 'Jenis panji:',
49574847 'centralnotice-banner-hidable' => 'Statis/Dapat disembunyikan',
49584848 'centralnotice-banner-collapsible' => 'Dapat dibuka',
4959 - 'centralnotice-geo' => 'Ditargetgeokan',
 4849+ 'centralnotice-geotargeted' => 'Ditargetgeokan',
49604850 'centralnotice-countries' => 'Negara',
49614851 'centralnotice-allocation' => 'Alokasi',
49624852 'centralnotice-view-allocation' => 'Lihat alokasi pengumuman',
@@ -4993,7 +4883,7 @@
49944884 'centralnotice-project-name' => 'Áhà orürü',
49954885 'centralnotice-start-date' => 'Bìdó ubochi',
49964886 'centralnotice-message' => 'Ozi',
4997 - 'centralnotice-clone-name' => 'Áhà:',
 4887+ 'centralnotice-clone-name' => 'Áhà',
49984888 );
49994889
50004890 /** Ingush (ГІалгІай Ğalğaj)
@@ -5048,7 +4938,6 @@
50494939 'centralnotice' => 'Gestione avviso centralizzato',
50504940 'noticetemplate' => 'Gestione avviso centralizzato',
50514941 'bannerallocation' => 'Gestione avviso centralizzato',
5052 - 'centralnoticelogs' => 'Gestione avviso centralizzato',
50534942 'right-centralnotice-admin' => 'Gestisce gli avvisi centralizzati',
50544943 'action-centralnotice-admin' => 'gestire gli avvisi centralizzati',
50554944 'centralnotice-desc' => 'Aggiunge un avviso centralizzato a inizio pagina (sitenotice)',
@@ -5149,7 +5038,6 @@
51505039 'centralnotice-banner-type' => 'Tipo banner:',
51515040 'centralnotice-banner-hidable' => 'Fisso/Nascondibile',
51525041 'centralnotice-banner-collapsible' => 'Contraibile',
5153 - 'centralnotice-banner-fundraising' => 'Questo è un banner per la raccolta fondi',
51545042 'centralnotice-countries' => 'Paesi',
51555043 'centralnotice-languages' => 'Lingue',
51565044 'centralnotice-projects' => 'Progetti',
@@ -5158,15 +5046,6 @@
51595047 'centralnotice-documentwrite-error' => 'Non è possibile usare document.write() dentro un banner.
51605048 Vedi http://meta.wikimedia.org/wiki/Help:CentralNotice per maggiori informazioni.',
51615049 'centralnotice-preferred' => 'Preferito',
5162 - 'centralnotice-logs' => 'Log',
5163 - 'centralnotice-view-logs' => 'Vedi i log',
5164 - 'centralnotice-timestamp' => 'Data e ora',
5165 - 'centralnotice-user' => 'Utente',
5166 - 'centralnotice-action' => 'Azione',
5167 - 'centralnotice-changed' => 'Modificato da <span class="cn-old-value">$1</span> a <span class="cn-new-value">$2</span>',
5168 - 'centralnotice-added' => 'Aggiunto <span class="cn-new-value">$1</span>',
5169 - 'centralnotice-removed' => 'Rimosso <span class="cn-old-value">$1</span>',
5170 - 'centralnotice-talk-link' => 'discussione',
51715050 );
51725051
51735052 /** Japanese (日本語)
@@ -5183,7 +5062,6 @@
51845063 'centralnotice' => '中央管理通知の管理',
51855064 'noticetemplate' => '中央管理通知の管理',
51865065 'bannerallocation' => '中央管理通知の管理',
5187 - 'centralnoticelogs' => '中央管理通知管理',
51885066 'right-centralnotice-admin' => '中央管理通知の管理',
51895067 'action-centralnotice-admin' => '中央管理通知の管理',
51905068 'centralnotice-desc' => '中央管理のサイト通知を追加する',
@@ -5294,8 +5172,7 @@
52955173 'centralnotice-banner-type' => 'テンプレートの種類:',
52965174 'centralnotice-banner-hidable' => '固定/非表示可',
52975175 'centralnotice-banner-collapsible' => '折りたたみ',
5298 - 'centralnotice-banner-fundraising' => 'これは資金調達のバナーです',
5299 - 'centralnotice-geo' => '対象地域',
 5176+ 'centralnotice-geotargeted' => '対象地域',
53005177 'centralnotice-countries' => '国',
53015178 'centralnotice-allocation' => '割り当て',
53025179 'centralnotice-view-allocation' => 'テンプレートの割り当てを表示',
@@ -5506,7 +5383,7 @@
55075384 'centralnotice-banner-type' => 'ბანერის ტიპი:',
55085385 'centralnotice-banner-hidable' => 'სტატიკური/დაფარული',
55095386 'centralnotice-banner-collapsible' => 'დასაკეცი',
5510 - 'centralnotice-geo' => 'გეო-მიზნობრივი',
 5387+ 'centralnotice-geotargeted' => 'გეო-მიზნობრივი',
55115388 'centralnotice-countries' => 'ქვეყნები',
55125389 'centralnotice-allocation' => 'განაწილება',
55135390 'centralnotice-view-allocation' => 'თარგების განაწილების ხილვა',
@@ -5608,7 +5485,7 @@
56095486 'centralnotice-banner-hidable' => 'នឹងថ្កល់/អាចលាក់បាន',
56105487 'centralnotice-banner-collapsible' => 'អាចបង្រួញបាន',
56115488 'centralnotice-banner-fundraising' => 'នេះជាបដាសំរាប់ឃោសនារៃអង្គាសប្រាក់',
5612 - 'centralnotice-geo' => 'អាចកំនត់តំបន់សំរាប់បង្ហាញ',
 5489+ 'centralnotice-geotargeted' => 'អាចកំនត់តំបន់សំរាប់បង្ហាញ',
56135490 'centralnotice-countries' => 'ប្រទេស',
56145491 'centralnotice-languages' => 'ភាសា',
56155492 'centralnotice-projects' => 'គំរោង',
@@ -5748,7 +5625,7 @@
57495626 'centralnotice-banner-type' => '배너 유형:',
57505627 'centralnotice-banner-hidable' => '정적/숨길 수 있음',
57515628 'centralnotice-banner-collapsible' => '접을 수 있음',
5752 - 'centralnotice-geo' => '특정 지역을 대상으로 공지',
 5629+ 'centralnotice-geotargeted' => '특정 지역을 대상으로 공지',
57535630 'centralnotice-countries' => '국가',
57545631 'centralnotice-allocation' => '배당',
57555632 'centralnotice-languages' => '언어',
@@ -5766,7 +5643,6 @@
57675644 'centralnotice' => 'Zentraal Nohreschte verwallde',
57685645 'noticetemplate' => 'Zentraal Nohreschte verwallde',
57695646 'bannerallocation' => 'Zentraal Nohreschte verwallde',
5770 - 'centralnoticelogs' => 'Verwalldung vun de zentraal Nohreschte',
57715647 'right-centralnotice-admin' => 'Zentraal Nohreschte verwallde',
57725648 'action-centralnotice-admin' => 'zentraal Nohreschte ze verwallde',
57735649 'centralnotice-desc' => "Brengk en zentraale ''sitenotice'' en et wiki",
@@ -5793,7 +5669,6 @@
57945670 'centralnotice-list-templates' => 'Banner_Schablohne opleßte',
57955671 'centralnotice-multiple-projects' => 'etlijje ($1)',
57965672 'centralnotice-multiple-languages' => 'etlijje ($1)',
5797 - 'centralnotice-multiple-countries' => 'etlijje ($1)',
57985673 'centralnotice-all-projects' => 'All Projäkte',
57995674 'centralnotice-language-listing' => '$1 — $2',
58005675 'centralnotice-translations' => 'Övversäzonge',
@@ -5885,10 +5760,7 @@
58865761 'centralnotice-banner-type' => 'De Zoot Banner_Schablohn:',
58875762 'centralnotice-banner-hidable' => 'Faß udder ußschaltbaa',
58885763 'centralnotice-banner-collapsible' => 'Enklappbaa',
5889 - 'centralnotice-banner-fundraising' => 'Dat es en Banner_Schablohn för noh Jeld ze froore',
5890 - 'centralnotice-banner-fundraising-help' => 'Donn ene Anker en dä Banner_Schablohn ongerbrenge met <code lang="en">id="cn_fundraising_link"</code> un en Zielsigg udder mieh dovun, esu jät wi „Dem Jimmy-singe-Oproof-01“. E <code lang="en">href</code>-Kommando fö dä Lenk kriss De automattesch dobei jemaat.',
5891 - 'centralnotice-banner-landing-pages' => 'Zielsigge för aanzekumme, med Kommas dozwesche',
5892 - 'centralnotice-geo' => 'Met Koodinaate op de Ääd',
 5764+ 'centralnotice-geotargeted' => 'Met Koodinaate op de Ääd',
58935765 'centralnotice-countries' => 'Länder',
58945766 'centralnotice-allocation' => 'Verdeilong',
58955767 'centralnotice-view-allocation' => 'De Banner_Schablohne iehr Zohdeilong beloore',
@@ -5902,19 +5774,6 @@
59035775 'centralnotice-documentwrite-error' => 'Mer künne <code lang="en">document.write()</code> nit ennerhallef vun ene Banner_Schablohn bruche.
59045776 Loor op http://meta.wikimedia.org/wiki/Help:CentralNotice wann De mieh weße wells.',
59055777 'centralnotice-preferred' => 'Förjetrocke!',
5906 - 'centralnotice-logs' => 'Logböcher',
5907 - 'centralnotice-view-logs' => 'Logböcher aanloore',
5908 - 'centralnotice-timestamp' => 'Dattum un Zick',
5909 - 'centralnotice-user' => '{{ns:User}}',
5910 - 'centralnotice-action' => 'Wat jedonn?',
5911 - 'centralnotice-changed' => 'Vun <span class="cn-old-value">$1</span> op <span class="cn-new-value">$2</span> verändert.',
5912 - 'centralnotice-on' => 'aan',
5913 - 'centralnotice-off' => 'uß',
5914 - 'centralnotice-added' => '<span class="cn-new-value">$1</span> dobei jedonn.',
5915 - 'centralnotice-removed' => '<span class="cn-new-value">$1</span> fott jenumme.',
5916 - 'centralnotice-banners-changed' => 'Banner_Schablohne woodte anders udder neu zohjedeilt',
5917 - 'centralnotice-no-assignments' => 'Kein Banner_Schablohne zohjedeilt',
5918 - 'centralnotice-talk-link' => 'klaafe',
59195778 );
59205779
59215780 /** Kurdish (Latin) (Kurdî (Latin))
@@ -5987,7 +5846,6 @@
59885847 'centralnotice-list-templates' => 'Lëscht vun de Banneren',
59895848 'centralnotice-multiple-projects' => 'méi ($1)',
59905849 'centralnotice-multiple-languages' => 'méi ($1)',
5991 - 'centralnotice-multiple-countries' => 'Méi ($1)',
59925850 'centralnotice-all-projects' => 'All Projeten',
59935851 'centralnotice-translations' => 'Iwwersetzungen',
59945852 'centralnotice-translate-to' => 'Iwwersetzen op',
@@ -6077,7 +5935,7 @@
60785936 'centralnotice-banner-hidable' => 'Statesch/Ka verstoppt ginn',
60795937 'centralnotice-banner-collapsible' => 'Aklappbar',
60805938 'centralnotice-banner-fundraising' => "Dëst ass e Banner vun enger Campagne fir Don'en ze sammelen",
6081 - 'centralnotice-geo' => 'Geografesch geziilt',
 5939+ 'centralnotice-geotargeted' => 'Geografesch geziilt',
60825940 'centralnotice-countries' => 'Länner',
60835941 'centralnotice-allocation' => 'Dispositioun',
60845942 'centralnotice-view-allocation' => 'Dispositioun vum Banner weisen',
@@ -6092,15 +5950,6 @@
60935951 Kuckt http://meta.wikimedia.org/wiki/Help:CentralNotice fir méi Informatiounen.',
60945952 'centralnotice-preferred' => 'Am léiwsten',
60955953 'centralnotice-logs' => 'Logbicher',
6096 - 'centralnotice-view-logs' => 'Logbicher weisen',
6097 - 'centralnotice-timestamp' => 'Zäitstempel',
6098 - 'centralnotice-user' => 'Benotzer',
6099 - 'centralnotice-action' => 'Aktioun',
6100 - 'centralnotice-on' => 'un',
6101 - 'centralnotice-off' => 'aus',
6102 - 'centralnotice-added' => '<span class="cn-new-value">$1</span> derbäigesat',
6103 - 'centralnotice-removed' => '<span class="cn-old-value">$1</span> ewechgeholl',
6104 - 'centralnotice-talk-link' => 'Diskussioun',
61055954 );
61065955
61075956 /** Lingua Franca Nova (Lingua Franca Nova)
@@ -6233,7 +6082,7 @@
62346083 'centralnotice-banner-type' => 'Vaantiep:',
62356084 'centralnotice-banner-hidable' => 'Statisch/verbergbaar',
62366085 'centralnotice-banner-collapsible' => 'inklapbaar',
6237 - 'centralnotice-geo' => 'Geografische doele',
 6086+ 'centralnotice-geotargeted' => 'Geografische doele',
62386087 'centralnotice-countries' => 'Lenj',
62396088 'centralnotice-allocation' => 'Toewiezing',
62406089 'centralnotice-view-allocation' => 'Betrach vaantoewiezing',
@@ -6319,7 +6168,7 @@
63206169 'centralnotice-banner-type' => 'Pranešimo tipas:',
63216170 'centralnotice-banner-hidable' => 'Statinis/Paslepiamas',
63226171 'centralnotice-banner-collapsible' => 'Sutraukiamas',
6323 - 'centralnotice-geo' => 'Taikomas geografiškai',
 6172+ 'centralnotice-geotargeted' => 'Taikomas geografiškai',
63246173 'centralnotice-countries' => 'Valstybės',
63256174 'centralnotice-languages' => 'Kalbos',
63266175 'centralnotice-projects' => 'Projektai',
@@ -6477,7 +6326,6 @@
64786327 'centralnotice-list-templates' => 'Наведи шаблони',
64796328 'centralnotice-multiple-projects' => 'повеќе ($1)',
64806329 'centralnotice-multiple-languages' => 'повеќе ($1)',
6481 - 'centralnotice-multiple-countries' => 'Повеќе ($1)',
64826330 'centralnotice-all-projects' => 'Сите проекти',
64836331 'centralnotice-translations' => 'Преводи',
64846332 'centralnotice-translate-to' => 'Преведи на',
@@ -6569,7 +6417,7 @@
65706418 'centralnotice-banner-fundraising' => 'Ова е плакат за прибирање на средства',
65716419 'centralnotice-banner-fundraising-help' => 'Создајте ознака за вкотвување во содржината на плакатот со id="cn_fundraising_link" и внесете една или повеќе целни страници, како на пр. „JimmyAppeal01“. href на врската ќе се исконструира автоматски.',
65726420 'centralnotice-banner-landing-pages' => 'Целни страници (одделени со запирки):',
6573 - 'centralnotice-geo' => 'Геобележано',
 6421+ 'centralnotice-geotargeted' => 'Геобележано',
65746422 'centralnotice-countries' => 'Земји',
65756423 'centralnotice-allocation' => 'Распределба',
65766424 'centralnotice-view-allocation' => 'Преглед на распределбата на плакати',
@@ -6584,17 +6432,6 @@
65856433 'centralnotice-preferred' => 'Претпочитано',
65866434 'centralnotice-logs' => 'Дневници',
65876435 'centralnotice-view-logs' => 'Погл. дневници',
6588 - 'centralnotice-timestamp' => 'Време и датум',
6589 - 'centralnotice-user' => 'Корисник',
6590 - 'centralnotice-action' => 'Дејство',
6591 - 'centralnotice-changed' => 'Изменето од <span class="cn-old-value">$1</span> на <span class="cn-new-value">$2</span>',
6592 - 'centralnotice-on' => 'вкл',
6593 - 'centralnotice-off' => 'искл',
6594 - 'centralnotice-added' => 'Додадено <span class="cn-new-value">$1</span>',
6595 - 'centralnotice-removed' => 'Отстрането <span class="cn-old-value">$1</span>',
6596 - 'centralnotice-banners-changed' => 'Задавањата на плакатите се изменети',
6597 - 'centralnotice-no-assignments' => 'нема зададено плакати',
6598 - 'centralnotice-talk-link' => 'разговор',
65996436 );
66006437
66016438 /** Malayalam (മലയാളം)
@@ -6632,9 +6469,8 @@
66336470 'centralnotice-list-templates' => 'ഫലകങ്ങൾ പട്ടികവത്കരിക്കുക',
66346471 'centralnotice-multiple-projects' => 'നിരവധി ($1)',
66356472 'centralnotice-multiple-languages' => 'നിരവധി ($1)',
6636 - 'centralnotice-multiple-countries' => 'നിരവധി ($1)',
66376473 'centralnotice-all-projects' => 'എല്ലാ പദ്ധതികളും',
6638 - 'centralnotice-translations' => 'പരിഭാഷകൾ',
 6474+ 'centralnotice-translations' => 'തർജ്ജമകൾ',
66396475 'centralnotice-translate-to' => 'ഇതിലേയ്ക്ക് തർജ്ജമ ചെയ്യുക',
66406476 'centralnotice-translate' => 'തർജ്ജമ ചെയ്യുക',
66416477 'centralnotice-english' => 'ഇംഗ്ലീഷ്',
@@ -6723,7 +6559,7 @@
67246560 'centralnotice-banner-collapsible' => 'ചുരുക്കാവുന്നത്',
67256561 'centralnotice-banner-fundraising' => 'ഇത് ഫണ്ട്‌റൈസിങ് എഴുത്തുപട്ടയാണ്',
67266562 'centralnotice-banner-landing-pages' => 'എത്തിച്ചേരേണ്ട താളുകൾ (അങ്കുശത്താൽ വേർതിരിച്ച്):',
6727 - 'centralnotice-geo' => 'ഭൂപ്രദേശങ്ങൾ ലക്ഷ്യമാക്കിയവ',
 6563+ 'centralnotice-geotargeted' => 'ഭൂപ്രദേശങ്ങൾ ലക്ഷ്യമാക്കിയവ',
67286564 'centralnotice-countries' => 'രാജ്യങ്ങൾ',
67296565 'centralnotice-allocation' => 'വിന്യാസം',
67306566 'centralnotice-view-allocation' => 'എഴുത്തുപട്ടയ്ക്ക് അനുവദിച്ചിരിക്കുന്ന സ്ഥാനം കാണുക',
@@ -6739,15 +6575,6 @@
67406576 'centralnotice-preferred' => 'അഭിലഷണീയമായുള്ളത്',
67416577 'centralnotice-logs' => 'പ്രവർത്തനരേഖകൾ',
67426578 'centralnotice-view-logs' => 'പ്രവർത്തനരേഖകൾ കാണുക',
6743 - 'centralnotice-timestamp' => 'സമയമുദ്ര',
6744 - 'centralnotice-user' => 'ഉപയോക്താവ്',
6745 - 'centralnotice-action' => 'നടപടി',
6746 - 'centralnotice-changed' => '<span class="cn-old-value">$1</span> എന്നത് <span class="cn-new-value">$2</span> എന്നാക്കി മാറ്റിയിരിക്കുന്നു',
6747 - 'centralnotice-on' => 'സജ്ജമാക്കുക',
6748 - 'centralnotice-off' => 'പ്രവർത്തനരഹിതമാക്കുക',
6749 - 'centralnotice-added' => '<span class="cn-new-value">$1</span> കൂട്ടിച്ചേർത്തിരിക്കുന്നു',
6750 - 'centralnotice-removed' => '<span class="cn-old-value">$1</span> നീക്കം ചെയ്തിരിക്കുന്നു',
6751 - 'centralnotice-talk-link' => 'സംവാദം',
67526579 );
67536580
67546581 /** Mongolian (Монгол)
@@ -6813,35 +6640,28 @@
68146641 $messages['ms'] = array(
68156642 'centralnotice' => 'Pentadbiran pemberitahuan pusat',
68166643 'noticetemplate' => 'Pentadbiran pemberitahuan pusat',
6817 - 'bannerallocation' => 'Pentadbiran pemberitahuan pusat',
6818 - 'centralnoticelogs' => 'Pentadbiran pemberitahuan pusat',
68196644 'right-centralnotice-admin' => 'Mengurus pemberitahuan pusat',
68206645 'action-centralnotice-admin' => 'mengurus pemberitahuan pusat',
6821 - 'centralnotice-desc' => 'Menambahkan pemberitahuan pusat',
6822 - 'centralnotice-summary' => 'Anda boleh menggunakan modul ini untuk menyunting pemberitahuan pusat yang disediakan.
6823 -Anda juga boleh menambahkan atau membuang pemberitahuan yang lama.',
6824 - 'centralnotice-query' => 'Ubah suai kempen semasa',
6825 - 'centralnotice-notice-name' => 'Nama kempen',
 6646+ 'centralnotice-desc' => 'Menambah pemberitahuan pusat',
 6647+ 'centralnotice-summary' => 'Anda boleh menggunakan modul ini untuk menyunting pemberitahuan pusat yang disediakan. Anda juga boleh menambah atau membuang pemberitahuan yang lama.',
 6648+ 'centralnotice-query' => 'Ubah suai pemberitahuan semasa',
 6649+ 'centralnotice-notice-name' => 'Nama pemberitahuan',
68266650 'centralnotice-end-date' => 'Tarikh tamat',
68276651 'centralnotice-enabled' => 'Dihidupkan',
68286652 'centralnotice-modify' => 'Serahkan',
6829 - 'centralnotice-save-banner' => 'Simpan sepanduk',
68306653 'centralnotice-preview' => 'Pralihat',
68316654 'centralnotice-nopreview' => '(Tiada pralihat)',
6832 - 'centralnotice-add-new' => 'Tambahkan kempen baru',
 6655+ 'centralnotice-add-new' => 'Tambah pemberitahuan pusat baru',
68336656 'centralnotice-remove' => 'Buang',
68346657 'centralnotice-translate-heading' => 'Penterjemahan $1',
6835 - 'centralnotice-manage' => 'Urus kempen',
6836 - 'centralnotice-manage-templates' => 'Urus sepanduk',
 6658+ 'centralnotice-manage' => 'Urus pemberitahuan pusat',
68376659 'centralnotice-add' => 'Tambahkan',
6838 - 'centralnotice-add-notice' => 'Tambahkan kempen',
6839 - 'centralnotice-edit-notice' => 'Sunting kempen',
 6660+ 'centralnotice-add-notice' => 'Tambah pemberitahuan',
68406661 'centralnotice-add-template' => 'Tambah templat',
6841 - 'centralnotice-show-notices' => 'Paparkan kempen',
 6662+ 'centralnotice-show-notices' => 'Papar pemberitahuan',
68426663 'centralnotice-list-templates' => 'Senarai templat',
68436664 'centralnotice-multiple-projects' => 'Berbilang ($1)',
68446665 'centralnotice-multiple-languages' => 'Berbilang ($1)',
6845 - 'centralnotice-multiple-countries' => 'Berbilang ($1)',
68466666 'centralnotice-all-projects' => 'Semua projek',
68476667 'centralnotice-translations' => 'Terjemahan',
68486668 'centralnotice-translate-to' => 'Terjemah',
@@ -6855,19 +6675,12 @@
68566676 'centralnotice-locked' => 'Dikunci',
68576677 'centralnotice-notice' => 'Kempen',
68586678 'centralnotice-notice-heading' => 'Kempen: $1',
6859 - 'centralnotice-notices' => 'Kempen',
6860 - 'centralnotice-notice-exists' => 'Kempen telah pun wujud.
6861 -Tidak boleh ditambahkan.',
6862 - 'centralnotice-no-language' => 'Tiada bahasa dipilih untuk kempen. Tidak boleh ditambahkan.',
6863 - 'centralnotice-no-project' => 'Tiada projek dipilih untuk kempen. Tidak boleh ditambahkan.',
6864 - 'centralnotice-template-exists' => 'Sepanduk telah pun wujud.
6865 -Tidak boleh ditambahkan.',
 6679+ 'centralnotice-notices' => 'Pemberitahuan',
 6680+ 'centralnotice-notice-exists' => 'Pemberitahuan telah pun wujud dan tidak ditambah.',
 6681+ 'centralnotice-template-exists' => 'Templat telah pun wujud dan tidak ditambah.',
68666682 'centralnotice-notice-doesnt-exist' => 'Kempen tidak wujud.',
6867 - 'centralnotice-remove-notice-doesnt-exist' => 'Kempen tidak wujud.
6868 -Tiada apa untuk dibuang.',
68696683 'centralnotice-banner-doesnt-exist' => 'Sepanduk tak wujud.',
6870 - 'centralnotice-template-still-bound' => 'Sepanduk masih terikat dengan kempen.
6871 -Tidak boleh dibuang.',
 6684+ 'centralnotice-template-still-bound' => 'Templat masih digunakan untuk pemberitahuan dan tidak dibuang.',
68726685 'centralnotice-template-body' => 'Kandungan templat:',
68736686 'centralnotice-day' => 'Hari',
68746687 'centralnotice-year' => 'Tahun',
@@ -6899,7 +6712,6 @@
69006713 'centralnotice-number-uses' => 'Penggunaan',
69016714 'centralnotice-settings' => 'Tetapan',
69026715 'centralnotice-edit-template' => 'Sunting templat',
6903 - 'centralnotice-edit-template-summary' => 'Untuk mencipta pesanan yang boleh disetempatkan, sertakan rentetan bertanda dalam tiga pasang tanda pendakap, cth. {{{jimbo-quote}}}.',
69046716 'centralnotice-message' => 'Pesanan',
69056717 'centralnotice-message-not-set' => 'Pesanan tidak ditetapkan',
69066718 'centralnotice-clone' => 'Salin',
@@ -6909,48 +6721,12 @@
69106722 'centralnotice-insert' => 'Masukkan: $1',
69116723 'centralnotice-hide-button' => 'Sorokkan pautan',
69126724 'centralnotice-collapse-button' => 'Lipat pautan',
6913 - 'centralnotice-expand-button' => 'Kembangkan pautan',
 6725+ 'centralnotice-expand-button' => 'Bentangkan pautan',
69146726 'centralnotice-close-button' => 'Butang tutup',
69156727 'centralnotice-translate-button' => 'Pautan bantu menterjemah',
6916 - 'centralnotice-donate-button' => 'Butang derma',
6917 - 'centralnotice-expanded-banner' => 'Sepanduk kembang',
6918 - 'centralnotice-collapsed-banner' => 'Sepanduk terlipat',
6919 - 'centralnotice-banner-display' => 'Paparkan ke:',
6920 - 'centralnotice-banner-anonymous' => 'Pengguna tanpa nama',
6921 - 'centralnotice-banner-logged-in' => 'Pengguna log masuk',
6922 - 'centralnotice-banner-type' => 'Jenis sepanduk:',
6923 - 'centralnotice-banner-hidable' => 'Statik/Boleh sorok',
6924 - 'centralnotice-banner-collapsible' => 'Boleh lipat',
6925 - 'centralnotice-banner-fundraising' => 'Ini ialah sepanduk pungut derma',
6926 - 'centralnotice-banner-fundraising-help' => 'Cipta tag sauh dalam badan sepanduk dengan id="cn_fundraising_link" dan isikan satu atau lebih laman pendaratan di bawah, contohnya, "JimmyAppeal01". href pautan akan dibina secara automatik.',
6927 - 'centralnotice-banner-landing-pages' => 'Laman pendaratan (diasingkan dengan tanda koma):',
6928 - 'centralnotice-geo' => 'Digeosasar',
6929 - 'centralnotice-countries' => 'Negara',
6930 - 'centralnotice-allocation' => 'Peruntukan',
6931 - 'centralnotice-view-allocation' => 'Lihat peruntukan sepanduk',
6932 - 'centralnotice-allocation-instructions' => 'Pilih persekitaran yang mana anda ingin melihat peruntukan sepanduk:',
69336728 'centralnotice-languages' => 'Bahasa',
6934 - 'centralnotice-projects' => 'Projek',
69356729 'centralnotice-country' => 'Negara',
6936 - 'centralnotice-no-allocation' => 'Tiada sepanduk diperuntukkan.',
6937 - 'centralnotice-allocation-description' => 'Peruntukan sepanduk untuk $1.$2 di $3:',
6938 - 'centralnotice-percentage' => 'Peratusan',
6939 - 'centralnotice-documentwrite-error' => 'document.write() tidak boleh digunakan di dalam sepanduk.
6940 -Rujuk http://meta.wikimedia.org/wiki/Help:CentralNotice untuk maklumat lanjut.',
69416730 'centralnotice-preferred' => 'Dipilih',
6942 - 'centralnotice-logs' => 'Log',
6943 - 'centralnotice-view-logs' => 'Lihat log',
6944 - 'centralnotice-timestamp' => 'Cop masa',
6945 - 'centralnotice-user' => 'Pengguna',
6946 - 'centralnotice-action' => 'Tindakan',
6947 - 'centralnotice-changed' => 'Ditukar dari <span class="cn-old-value">$1</span> ke <span class="cn-new-value">$2</span>',
6948 - 'centralnotice-on' => 'buka',
6949 - 'centralnotice-off' => 'tutup',
6950 - 'centralnotice-added' => '<span class="cn-new-value">$1</span> ditambahkan',
6951 - 'centralnotice-removed' => '<span class="cn-new-value">$1</span> dibuang',
6952 - 'centralnotice-banners-changed' => 'Peruntukan sepanduk diubah',
6953 - 'centralnotice-no-assignments' => 'tiada sepanduk yang diberikan',
6954 - 'centralnotice-talk-link' => 'bincang',
69556731 );
69566732
69576733 /** Maltese (Malti)
@@ -7173,7 +6949,6 @@
71746950 'centralnotice-list-templates' => 'Sjablonen weergeven',
71756951 'centralnotice-multiple-projects' => 'meerdere ($1)',
71766952 'centralnotice-multiple-languages' => 'meerdere ($1)',
7177 - 'centralnotice-multiple-countries' => 'Meerdere ($1)',
71786953 'centralnotice-all-projects' => 'Alle projecten',
71796954 'centralnotice-translations' => 'Vertalingen',
71806955 'centralnotice-translate-to' => 'Vertalen naar',
@@ -7266,7 +7041,7 @@
72677042 'centralnotice-banner-fundraising' => 'Dit is een fondsenwervingsbanner',
72687043 'centralnotice-banner-fundraising-help' => 'Maak een ankertag in de body van de banner met id="cn_fundraising_link" en voer hieronder een of meer bestemmingspagina\'s in, bijvoorbeeld "JimmyAppeal01". De href voor de verwijzing wordt automatisch geconstrueerd.',
72697044 'centralnotice-banner-landing-pages' => "Landingspagina's (kommagescheiden):",
7270 - 'centralnotice-geo' => 'Geografische doelen',
 7045+ 'centralnotice-geotargeted' => 'Geografische doelen',
72717046 'centralnotice-countries' => 'Landen',
72727047 'centralnotice-allocation' => 'Toewijzing',
72737048 'centralnotice-view-allocation' => 'Bannertoewijzing bekijken',
@@ -7282,17 +7057,6 @@
72837058 'centralnotice-preferred' => 'Voorkeur',
72847059 'centralnotice-logs' => 'Logboeken',
72857060 'centralnotice-view-logs' => 'Logboeken bekijken',
7286 - 'centralnotice-timestamp' => 'Tijdstip',
7287 - 'centralnotice-user' => 'Gebruiker',
7288 - 'centralnotice-action' => 'Handeling',
7289 - 'centralnotice-changed' => 'Gewijzigd van <span class="cn-old-value">$1</span> naar <span class="cn-new-value">$2</span>',
7290 - 'centralnotice-on' => 'aan',
7291 - 'centralnotice-off' => 'af',
7292 - 'centralnotice-added' => '<span class="cn-new-value">$1</span> toegevoegd',
7293 - 'centralnotice-removed' => '<span class="cn-old-value">$1</span> verwijderd',
7294 - 'centralnotice-banners-changed' => 'Bannertoewijzingen zijn gewijzigd',
7295 - 'centralnotice-no-assignments' => 'geen banners toegewezen',
7296 - 'centralnotice-talk-link' => 'overleg',
72977061 );
72987062
72997063 /** Norwegian Nynorsk (‪Norsk (nynorsk)‬)
@@ -7502,7 +7266,7 @@
75037267 'centralnotice-banner-type' => 'Banner type:',
75047268 'centralnotice-banner-hidable' => 'Statisk/skjulbar',
75057269 'centralnotice-banner-collapsible' => 'Sammenleggbar',
7506 - 'centralnotice-geo' => 'Geografisk målrettet',
 7270+ 'centralnotice-geotargeted' => 'Geografisk målrettet',
75077271 'centralnotice-countries' => 'Land',
75087272 'centralnotice-allocation' => 'Tildeling',
75097273 'centralnotice-view-allocation' => 'Vis bannertildeling',
@@ -7707,7 +7471,6 @@
77087472 'centralnotice-list-templates' => 'Lista szablonów',
77097473 'centralnotice-multiple-projects' => 'wiele ($1)',
77107474 'centralnotice-multiple-languages' => 'wiele ($1)',
7711 - 'centralnotice-multiple-countries' => 'Wiele ($1)',
77127475 'centralnotice-all-projects' => 'Wszystkie projekty',
77137476 'centralnotice-translations' => 'Tłumaczenia',
77147477 'centralnotice-translate-to' => 'Przetłumacz na',
@@ -7792,7 +7555,7 @@
77937556 'centralnotice-banner-fundraising' => 'Baner zbiórki pieniędzy',
77947557 'centralnotice-banner-fundraising-help' => 'Utwórz znacznik kotwicy w ciele banera z id="cn_fundraising_link" i wprowadź jedną lub więcej stron docelowych, na przykład "ApelJimmiego01". Dla linku href zostanie wygenerowane automatycznie.',
77957558 'centralnotice-banner-landing-pages' => 'Strony docelowe (rozdzielone przecinkami):',
7796 - 'centralnotice-geo' => 'Geograficznie nakierowane',
 7559+ 'centralnotice-geotargeted' => 'Geograficznie nakierowane',
77977560 'centralnotice-countries' => 'Kraje',
77987561 'centralnotice-allocation' => 'Przydział',
77997562 'centralnotice-view-allocation' => 'Zobacz przydziały dla banera',
@@ -7808,17 +7571,6 @@
78097572 'centralnotice-preferred' => 'Preferowany',
78107573 'centralnotice-logs' => 'Rejestr operacji',
78117574 'centralnotice-view-logs' => 'Rejestr odsłon',
7812 - 'centralnotice-timestamp' => 'Data i czas',
7813 - 'centralnotice-user' => 'Użytkownik',
7814 - 'centralnotice-action' => 'Akcja',
7815 - 'centralnotice-changed' => 'Zmieniono z <span class="cn-old-value">$1</span> na <span class="cn-new-value">$2</span>',
7816 - 'centralnotice-on' => 'włączone',
7817 - 'centralnotice-off' => 'wyłączone',
7818 - 'centralnotice-added' => 'Dodano <span class="cn-new-value">$1</span>',
7819 - 'centralnotice-removed' => 'Usunięto <span class="cn-old-value">$1</span>',
7820 - 'centralnotice-banners-changed' => 'Zmieniono przydział banera',
7821 - 'centralnotice-no-assignments' => 'brak przydzielonych banerów',
7822 - 'centralnotice-talk-link' => 'dyskusja',
78237575 );
78247576
78257577 /** Piedmontese (Piemontèis)
@@ -7943,7 +7695,7 @@
79447696 'centralnotice-banner-type' => 'Sòrt ëd tilèt:',
79457697 'centralnotice-banner-hidable' => 'Stàtich/Stërmàbil',
79467698 'centralnotice-banner-collapsible' => 'Strenzìbil',
7947 - 'centralnotice-geo' => 'Geolocalisà',
 7699+ 'centralnotice-geotargeted' => 'Geolocalisà',
79487700 'centralnotice-countries' => 'Pais',
79497701 'centralnotice-allocation' => 'Alocassion',
79507702 'centralnotice-view-allocation' => 'Vëdde la disposission dël tilèt',
@@ -8048,9 +7800,8 @@
80497801 'centralnotice-add-template' => 'Adicionar um modelo',
80507802 'centralnotice-show-notices' => 'Mostrar avisos',
80517803 'centralnotice-list-templates' => 'Listar modelos',
8052 - 'centralnotice-multiple-projects' => 'Múltiplos ($1)',
8053 - 'centralnotice-multiple-languages' => 'Múltiplas ($1)',
8054 - 'centralnotice-multiple-countries' => 'Múltiplos ($1)',
 7804+ 'centralnotice-multiple-projects' => 'múltiplas ($1)',
 7805+ 'centralnotice-multiple-languages' => 'múltiplas ($1)',
80557806 'centralnotice-all-projects' => 'Todos os projetos',
80567807 'centralnotice-translations' => 'Traduções',
80577808 'centralnotice-translate-to' => 'Traduzir para',
@@ -8068,7 +7819,7 @@
80697820 'centralnotice-notice-exists' => 'O aviso já existe.
80707821 Não será adicionado.',
80717822 'centralnotice-no-language' => 'Não foi seleccionada uma língua para o aviso centralizado. O aviso não será adicionado.',
8072 - 'centralnotice-no-project' => 'Não foi seleccionado um projecto para o aviso centralizado. O aviso não será adicionado.',
 7823+ 'centralnotice-no-project' => 'Nenhum projeto foi selecionado para a campanha. Não acrescentado.',
80737824 'centralnotice-template-exists' => 'O modelo já existe.
80747825 Não será adicionado.',
80757826 'centralnotice-notice-doesnt-exist' => 'O aviso não existe.',
@@ -8142,7 +7893,7 @@
81437894 'centralnotice-banner-fundraising' => 'Este é um modelo de angariação de fundos',
81447895 'centralnotice-banner-fundraising-help' => 'Crie uma âncora no corpo do modelo com id="cn_fundraising_link" e introduza abaixo uma ou mais páginas de destino. Por exemplo, "ApeloJimmy01". O parâmetro href do link será construído automaticamente.',
81457896 'centralnotice-banner-landing-pages' => 'Páginas de destino (separadas por vírgulas):',
8146 - 'centralnotice-geo' => 'Com segmentação geográfica',
 7897+ 'centralnotice-geotargeted' => 'Com segmentação geográfica',
81477898 'centralnotice-countries' => 'Países',
81487899 'centralnotice-allocation' => 'Atribuição',
81497900 'centralnotice-view-allocation' => 'Ver atribuição de modelos',
@@ -8158,17 +7909,6 @@
81597910 'centralnotice-preferred' => 'Preferido',
81607911 'centralnotice-logs' => 'Registos',
81617912 'centralnotice-view-logs' => 'Ver registos',
8162 - 'centralnotice-timestamp' => 'Data e hora',
8163 - 'centralnotice-user' => 'Utilizador',
8164 - 'centralnotice-action' => 'Acção',
8165 - 'centralnotice-changed' => 'Alterado de <span class="cn-old-value">$1</span> para <span class="cn-new-value">$2</span>',
8166 - 'centralnotice-on' => 'activo',
8167 - 'centralnotice-off' => 'inactivo',
8168 - 'centralnotice-added' => '<span class="cn-new-value">$1</span> foi adicionado',
8169 - 'centralnotice-removed' => '<span class="cn-old-value">$1</span> foi removido',
8170 - 'centralnotice-banners-changed' => 'As atribuições de modelos foram alteradas',
8171 - 'centralnotice-no-assignments' => 'não há modelos atribuídos',
8172 - 'centralnotice-talk-link' => 'discussão',
81737913 );
81747914
81757915 /** Brazilian Portuguese (Português do Brasil)
@@ -8208,7 +7948,6 @@
82097949 'centralnotice-list-templates' => 'Listar modelos',
82107950 'centralnotice-multiple-projects' => 'múltiplas ($1)',
82117951 'centralnotice-multiple-languages' => 'múltiplas ($1)',
8212 - 'centralnotice-multiple-countries' => 'Múltiplos ($1)',
82137952 'centralnotice-all-projects' => 'Todos os projetos',
82147953 'centralnotice-translations' => 'Traduções',
82157954 'centralnotice-translate-to' => 'Traduzir para',
@@ -8300,7 +8039,7 @@
83018040 'centralnotice-banner-fundraising' => 'Este é um banner de angariação de fundos',
83028041 'centralnotice-banner-fundraising-help' => 'Crie uma âncora no corpo do banner com id="cn_fundraising_link" e introduza abaixo uma ou mais páginas de destino. Por exemplo, "ApeloJimmy01". O parâmetro href do link será construído automaticamente.',
83038042 'centralnotice-banner-landing-pages' => 'Páginas de destino (separadas por vírgulas):',
8304 - 'centralnotice-geo' => 'Localizado geograficamente',
 8043+ 'centralnotice-geotargeted' => 'Localizado geograficamente',
83058044 'centralnotice-countries' => 'Países',
83068045 'centralnotice-allocation' => 'Atribuição',
83078046 'centralnotice-view-allocation' => 'Ver atribuição de modelos',
@@ -8316,17 +8055,6 @@
83178056 'centralnotice-preferred' => 'Preferido',
83188057 'centralnotice-logs' => 'Registros',
83198058 'centralnotice-view-logs' => 'Ver registros',
8320 - 'centralnotice-timestamp' => 'Data e hora',
8321 - 'centralnotice-user' => 'Usuário',
8322 - 'centralnotice-action' => 'Ação',
8323 - 'centralnotice-changed' => 'Alterado de <span class="cn-old-value">$1</span> para <span class="cn-new-value">$2</span>',
8324 - 'centralnotice-on' => 'ativo',
8325 - 'centralnotice-off' => 'inativo',
8326 - 'centralnotice-added' => '<span class="cn-new-value">$1</span> foi adicionado',
8327 - 'centralnotice-removed' => '<span class="cn-old-value">$1</span> foi removido',
8328 - 'centralnotice-banners-changed' => 'As atribuições do banner foram alteradas',
8329 - 'centralnotice-no-assignments' => 'não há banners atribuídos',
8330 - 'centralnotice-talk-link' => 'discussão',
83318059 );
83328060
83338061 /** Quechua (Runa Simi)
@@ -8450,7 +8178,7 @@
84518179 'centralnotice-banner-type' => 'Unancha laya:',
84528180 'centralnotice-banner-hidable' => 'Ranuy/Pakana',
84538181 'centralnotice-banner-collapsible' => 'Thuñichina',
8454 - 'centralnotice-geo' => 'Allpapacha taripanachasqa',
 8182+ 'centralnotice-geotargeted' => 'Allpapacha taripanachasqa',
84558183 'centralnotice-countries' => 'Mama llaqtakuna',
84568184 'centralnotice-allocation' => 'Ñiqinchay',
84578185 'centralnotice-view-allocation' => 'Unancha ñiqinchayta qhaway',
@@ -8591,9 +8319,7 @@
85928320 'centralnotice-banner-type' => 'Tip banner:',
85938321 'centralnotice-banner-hidable' => 'Static/Ascuns',
85948322 'centralnotice-banner-collapsible' => 'Reductibil',
8595 - 'centralnotice-banner-fundraising' => 'Acesta este un banner pentru strângerea de fonduri',
8596 - 'centralnotice-banner-landing-pages' => 'Pagini de destinație (separate prin virgulă):',
8597 - 'centralnotice-geo' => 'Geolocalizat',
 8323+ 'centralnotice-geotargeted' => 'Geolocalizat',
85988324 'centralnotice-countries' => 'Țări',
85998325 'centralnotice-allocation' => 'Alocare',
86008326 'centralnotice-view-allocation' => 'Vedeți alocarea bannerului',
@@ -8601,16 +8327,10 @@
86028328 'centralnotice-projects' => 'Proiecte',
86038329 'centralnotice-country' => 'Țară',
86048330 'centralnotice-no-allocation' => 'Niciun banner alocat.',
8605 - 'centralnotice-allocation-description' => 'Alocare de banner pentru $1.$2 în $3:',
86068331 'centralnotice-percentage' => 'Procentaj',
86078332 'centralnotice-documentwrite-error' => 'document.write() nu poate fi folosit într-un banner.
86088333 Vedeți http://meta.wikimedia.org/wiki/Help:CentralNotice pentru mai multe informații.',
86098334 'centralnotice-preferred' => 'Preferat',
8610 - 'centralnotice-logs' => 'Jurnale',
8611 - 'centralnotice-view-logs' => 'Vezi jurnale',
8612 - 'centralnotice-timestamp' => 'Data și ora',
8613 - 'centralnotice-user' => 'Utilizator',
8614 - 'centralnotice-action' => 'Acțiune',
86158335 );
86168336
86178337 /** Tarandíne (Tarandíne)
@@ -8735,7 +8455,7 @@
87368456 'centralnotice-banner-type' => 'Tipe de banner:',
87378457 'centralnotice-banner-hidable' => 'Stateche/Scunnibbele',
87388458 'centralnotice-banner-collapsible' => 'Collassabbele',
8739 - 'centralnotice-geo' => 'Geo referenziate',
 8459+ 'centralnotice-geotargeted' => 'Geo referenziate',
87408460 'centralnotice-countries' => 'Paìse',
87418461 'centralnotice-allocation' => 'Allocazione',
87428462 'centralnotice-view-allocation' => "Visualizze l'assignazione d'u banner",
@@ -8882,7 +8602,7 @@
88838603 'centralnotice-banner-fundraising' => 'Это баннер сбора средств',
88848604 'centralnotice-banner-fundraising-help' => 'Создайте тег ссылки в тела баннера с id="cn_fundraising_link" и укажите ниже одну или несколько целевых страниц, например, «JimmyAppeal01». Поле HREF ссылки будет создано автоматически.',
88858605 'centralnotice-banner-landing-pages' => 'Целевые страницы (через запятую):',
8886 - 'centralnotice-geo' => 'Геопривязка',
 8606+ 'centralnotice-geotargeted' => 'Геопривязка',
88878607 'centralnotice-countries' => 'Страны',
88888608 'centralnotice-allocation' => 'Распределение',
88898609 'centralnotice-view-allocation' => 'Просмотр размещения баннеров',
@@ -8898,9 +8618,6 @@
88998619 'centralnotice-preferred' => 'Желательно',
89008620 'centralnotice-logs' => 'Журналы',
89018621 'centralnotice-view-logs' => 'Просмотр журналов',
8902 - 'centralnotice-timestamp' => 'Дата/время',
8903 - 'centralnotice-user' => 'Участник',
8904 - 'centralnotice-action' => 'Действие',
89058622 );
89068623
89078624 /** Rusyn (Русиньскый)
@@ -9018,7 +8735,7 @@
90198736 'centralnotice-banner-type' => 'Тіп банера:',
90208737 'centralnotice-banner-hidable' => 'Статічный / Сховательный',
90218738 'centralnotice-banner-collapsible' => 'Зложытельный',
9022 - 'centralnotice-geo' => 'Ґеоґрафічно цілене',
 8739+ 'centralnotice-geotargeted' => 'Ґеоґрафічно цілене',
90238740 'centralnotice-countries' => 'Країны',
90248741 'centralnotice-allocation' => 'Придїлїня',
90258742 'centralnotice-view-allocation' => 'Зобразити придїлїня баверів',
@@ -9157,7 +8874,7 @@
91588875 'centralnotice-banner-hidable' => 'Статическэй / Кистэниллэр',
91598876 'centralnotice-banner-collapsible' => 'Кыччатыллар',
91608877 'centralnotice-banner-fundraising' => 'Харчы хомуйуу бааннера',
9161 - 'centralnotice-geo' => 'Сиргэ баайыы',
 8878+ 'centralnotice-geotargeted' => 'Сиргэ баайыы',
91628879 'centralnotice-countries' => 'Дойдулар',
91638880 'centralnotice-allocation' => 'Тарҕаныыта',
91648881 'centralnotice-view-allocation' => 'Бааннердар ханна баалларын көрүү',
@@ -9390,7 +9107,7 @@
93919108 'centralnotice-banner-type' => 'බැනර වර්ගය:',
93929109 'centralnotice-banner-hidable' => 'ස්ථිතික/සැඟවිය හැකි',
93939110 'centralnotice-banner-collapsible' => 'කුඩා කළ හැකි',
9394 - 'centralnotice-geo' => 'භූමි එල්ල කළ (geotargeted)',
 9111+ 'centralnotice-geotargeted' => 'භූමි එල්ල කළ (geotargeted)',
93959112 'centralnotice-countries' => 'රටවල්',
93969113 'centralnotice-allocation' => 'වෙන්කිරීම',
93979114 'centralnotice-view-allocation' => 'බැනරයේ වෙන්කිරීම පෙන්වන්න',
@@ -9516,7 +9233,7 @@
95179234 'centralnotice-banner-type' => 'Typ oznamu:',
95189235 'centralnotice-banner-hidable' => 'Statický/skrývateľný',
95199236 'centralnotice-banner-collapsible' => 'Zbaliteľný',
9520 - 'centralnotice-geo' => 'Geograficky cielený',
 9237+ 'centralnotice-geotargeted' => 'Geograficky cielený',
95219238 'centralnotice-countries' => 'Krajiny',
95229239 'centralnotice-allocation' => 'Alokácia',
95239240 'centralnotice-view-allocation' => 'Zobraziť alokáciu oznamu',
@@ -9566,7 +9283,6 @@
95679284 'centralnotice-list-templates' => 'Seznam pasic',
95689285 'centralnotice-multiple-projects' => 'več ($1)',
95699286 'centralnotice-multiple-languages' => 'več ($1)',
9570 - 'centralnotice-multiple-countries' => 'Več ($1)',
95719287 'centralnotice-all-projects' => 'Vsi projekti',
95729288 'centralnotice-translations' => 'Prevodi',
95739289 'centralnotice-translate-to' => 'Prevedi v',
@@ -9658,7 +9374,7 @@
96599375 'centralnotice-banner-fundraising' => 'To je donatorska pasica',
96609376 'centralnotice-banner-fundraising-help' => 'Ustvarite sidrno oznako v telesu pasice z id="cn_fundraising_link" in spodaj vnesite eno ali več ciljnih strani, na primer "JimmyAppeal01". Celotna povezava bo ustvarjena samodejno.',
96619377 'centralnotice-banner-landing-pages' => 'Ciljne strani (ločene z vejicami):',
9662 - 'centralnotice-geo' => 'Geociljano',
 9378+ 'centralnotice-geotargeted' => 'Geociljano',
96639379 'centralnotice-countries' => 'Države',
96649380 'centralnotice-allocation' => 'Dodelitev',
96659381 'centralnotice-view-allocation' => 'Ogled dodelitve pasic',
@@ -9674,17 +9390,6 @@
96759391 'centralnotice-preferred' => 'Prednostno',
96769392 'centralnotice-logs' => 'Dnevniki',
96779393 'centralnotice-view-logs' => 'Ogled dnevnikov',
9678 - 'centralnotice-timestamp' => 'Časovni žig',
9679 - 'centralnotice-user' => 'Uporabnik',
9680 - 'centralnotice-action' => 'Dejanje',
9681 - 'centralnotice-changed' => 'Spremenjeno iz <span class="cn-old-value">$1</span> v <span class="cn-new-value">$2</span>',
9682 - 'centralnotice-on' => 'vklopljeno',
9683 - 'centralnotice-off' => 'izklopljeno',
9684 - 'centralnotice-added' => 'Dodano <span class="cn-new-value">$1</span>',
9685 - 'centralnotice-removed' => 'Odstranjeno <span class="cn-old-value">$1</span>',
9686 - 'centralnotice-banners-changed' => 'Naloge pasice so spremenjene',
9687 - 'centralnotice-no-assignments' => 'ni dodeljenih pasic',
9688 - 'centralnotice-talk-link' => 'pogovor',
96899394 );
96909395
96919396 /** Albanian (Shqip)
@@ -9814,7 +9519,7 @@
98159520 'centralnotice-banner-fundraising' => 'Ky është një flamur për mbledhjen e fondeve',
98169521 'centralnotice-banner-fundraising-help' => 'Krijo një spirancë tag në trup flamurin me id = "cn_fundraising_link" dhe hyjnë në një apo më shumë faqe ulje më poshtë, për shembull, "JimmyAppeal01". Href e lidhjes do të ndërtohet automatikisht.',
98179522 'centralnotice-banner-landing-pages' => 'Faqet ulje (comma-ndarë):',
9818 - 'centralnotice-geo' => 'Geo-objektiv',
 9523+ 'centralnotice-geotargeted' => 'Geo-objektiv',
98199524 'centralnotice-countries' => 'Shtetet',
98209525 'centralnotice-allocation' => 'Rregullimi',
98219526 'centralnotice-view-allocation' => 'Shikoni rregullimin e Stampës',
@@ -10072,11 +9777,9 @@
100739778 * @author Cohan
100749779 * @author Fluff
100759780 * @author Lejonel
10076 - * @author Lokal Profil
100779781 * @author M.M.S.
100789782 * @author Najami
100799783 * @author Tobulos1
10080 - * @author WikiPhoenix
100819784 */
100829785 $messages['sv'] = array(
100839786 'centralnotice' => 'Centralmeddelande-administration',
@@ -10196,7 +9899,7 @@
101979900 'centralnotice-banner-type' => 'Bannertyp:',
101989901 'centralnotice-banner-hidable' => 'Statisk/gömbar',
101999902 'centralnotice-banner-collapsible' => 'Hopfällbar',
10200 - 'centralnotice-geo' => 'Geografiskt fokuserat',
 9903+ 'centralnotice-geotargeted' => 'Geografiskt fokuserat',
102019904 'centralnotice-countries' => 'Länder',
102029905 'centralnotice-allocation' => 'Tilldelning',
102039906 'centralnotice-view-allocation' => 'Visa bannertilldelning',
@@ -10210,15 +9913,6 @@
102119914 'centralnotice-documentwrite-error' => 'document.write() kan inte användas inom en banner.
102129915 Se http://meta.wikimedia.org/wiki/Help:CentralNotice för mer information.',
102139916 'centralnotice-preferred' => 'Föredragen',
10214 - 'centralnotice-logs' => 'Loggar',
10215 - 'centralnotice-view-logs' => 'Visa loggar',
10216 - 'centralnotice-timestamp' => 'Tidsstämpel',
10217 - 'centralnotice-user' => 'Användare',
10218 - 'centralnotice-action' => 'Åtgärd',
10219 - 'centralnotice-on' => 'på',
10220 - 'centralnotice-off' => 'av',
10221 - 'centralnotice-added' => 'Lade till <span class="cn-new-value">$1</span>',
10222 - 'centralnotice-removed' => 'Tog bort <span class="cn-old-value">$1</span>',
102239917 );
102249918
102259919 /** Swahili (Kiswahili)
@@ -10817,7 +10511,7 @@
1081810512 'centralnotice-banner-type' => 'Banner görnüşi:',
1081910513 'centralnotice-banner-hidable' => 'Statik/Gizlenilýän',
1082010514 'centralnotice-banner-collapsible' => 'Düýrlenýän',
10821 - 'centralnotice-geo' => 'Geo-bellikli',
 10515+ 'centralnotice-geotargeted' => 'Geo-bellikli',
1082210516 'centralnotice-countries' => 'Ýurtlar',
1082310517 'centralnotice-allocation' => 'Ýerleşiş',
1082410518 'centralnotice-view-allocation' => 'Bannerleriň ýerleşişini görkez',
@@ -10948,7 +10642,7 @@
1094910643 'centralnotice-banner-type' => 'Uri ng bandera:',
1095010644 'centralnotice-banner-hidable' => 'Hindi tumitinag/Maitatago',
1095110645 'centralnotice-banner-collapsible' => 'Maititiklop',
10952 - 'centralnotice-geo' => 'Puntiryang heograpiya',
 10646+ 'centralnotice-geotargeted' => 'Puntiryang heograpiya',
1095310647 'centralnotice-countries' => 'Mga bansa',
1095410648 'centralnotice-allocation' => 'Paglalaan',
1095510649 'centralnotice-view-allocation' => 'Tingnan ang kabahagi ng bandera',
@@ -11096,7 +10790,7 @@
1109710791 'centralnotice-banner-type' => 'Afiş türü:',
1109810792 'centralnotice-banner-hidable' => 'Statik/Gizlenebilir',
1109910793 'centralnotice-banner-collapsible' => 'Daralabilir',
11100 - 'centralnotice-geo' => 'Geo-hedefli',
 10794+ 'centralnotice-geotargeted' => 'Geo-hedefli',
1110110795 'centralnotice-countries' => 'Ülkeler',
1110210796 'centralnotice-allocation' => 'Tahsis',
1110310797 'centralnotice-view-allocation' => 'Afiş tahsisini gör',
@@ -11219,7 +10913,7 @@
1122010914 'centralnotice-banner-type' => 'Өлгенең төре:',
1122110915 'centralnotice-banner-hidable' => 'Тикторышлы/ Ябылучан',
1122210916 'centralnotice-banner-collapsible' => 'Ябылучан',
11223 - 'centralnotice-geo' => 'Геоялгану',
 10917+ 'centralnotice-geotargeted' => 'Геоялгану',
1122410918 'centralnotice-countries' => 'Илләр',
1122510919 'centralnotice-allocation' => 'Таралу',
1122610920 'centralnotice-view-allocation' => 'Өлгеләрнең таралуын карау',
@@ -11386,7 +11080,7 @@
1138711081 'centralnotice-banner-type' => 'Тип банера:',
1138811082 'centralnotice-banner-hidable' => 'Статичний / Приховуваний',
1138911083 'centralnotice-banner-collapsible' => 'Що згортається',
11390 - 'centralnotice-geo' => "Геоприв'язка",
 11084+ 'centralnotice-geotargeted' => "Геоприв'язка",
1139111085 'centralnotice-countries' => 'Країни',
1139211086 'centralnotice-allocation' => 'Розподіл',
1139311087 'centralnotice-view-allocation' => 'Переглянути розміщення банера',
@@ -11520,7 +11214,7 @@
1152111215 'centralnotice-banner-type' => 'Tipo de banner:',
1152211216 'centralnotice-banner-hidable' => 'Statico/Che se sara',
1152311217 'centralnotice-banner-collapsible' => 'Che se sara',
11524 - 'centralnotice-geo' => 'Geolocalisà',
 11218+ 'centralnotice-geotargeted' => 'Geolocalisà',
1152511219 'centralnotice-countries' => 'Paesi',
1152611220 'centralnotice-allocation' => 'Alocassion',
1152711221 'centralnotice-view-allocation' => 'Varda la disposission dei banner',
@@ -11641,7 +11335,6 @@
1164211336 'centralnotice-list-templates' => 'Liệt kê các bảng',
1164311337 'centralnotice-multiple-projects' => 'đa ngữ ($1)',
1164411338 'centralnotice-multiple-languages' => 'đa ngữ ($1)',
11645 - 'centralnotice-multiple-countries' => 'Đa quốc gia ($1)',
1164611339 'centralnotice-all-projects' => 'Tất cả các dự án',
1164711340 'centralnotice-language-listing' => '$1 – $2',
1164811341 'centralnotice-translations' => 'Bản dịch',
@@ -11723,7 +11416,7 @@
1172411417 'centralnotice-banner-fundraising' => 'Đây là một biểu ngữ gây quỹ',
1172511418 'centralnotice-banner-fundraising-help' => 'Tạo một thẻ neo trong phần chính của biểu ngữ có thuộc tính id="cn_fundraising_link" và nhập tên của ít nhất một trang đích ở dưới, thí dụ “JimmyAppeal01”. Thuộc tính href của liên kết sẽ được biên soạn tự động.',
1172611419 'centralnotice-banner-landing-pages' => 'Các trang đích (định giới bằng dấu phẩy):',
11727 - 'centralnotice-geo' => 'Mục tiêu địa lý',
 11420+ 'centralnotice-geotargeted' => 'Mục tiêu địa lý',
1172811421 'centralnotice-countries' => 'Quốc gia',
1172911422 'centralnotice-allocation' => 'Phân bổ',
1173011423 'centralnotice-view-allocation' => 'Xem cách phân phối bảng',
@@ -11739,17 +11432,6 @@
1174011433 'centralnotice-preferred' => 'Nổi bật hơn',
1174111434 'centralnotice-logs' => 'Nhật trình',
1174211435 'centralnotice-view-logs' => 'Xem nhật trình',
11743 - 'centralnotice-timestamp' => 'Thời gian',
11744 - 'centralnotice-user' => 'Người dùng',
11745 - 'centralnotice-action' => 'Tác vụ',
11746 - 'centralnotice-changed' => 'Thay đổi từ <span class="cn-old-value">$1</span> thành <span class="cn-new-value">$2</span>',
11747 - 'centralnotice-on' => 'bật',
11748 - 'centralnotice-off' => 'tắt',
11749 - 'centralnotice-added' => 'Thêm <span class="cn-new-value">$1</span>',
11750 - 'centralnotice-removed' => 'Gỡ <span class="cn-old-value">$1</span>',
11751 - 'centralnotice-banners-changed' => 'Đã thay đổi các chỉ định biểu ngữ',
11752 - 'centralnotice-no-assignments' => 'không chỉ định biểu ngữ',
11753 - 'centralnotice-talk-link' => 'thảo luận',
1175411436 );
1175511437
1175611438 /** Volapük (Volapük)
@@ -12024,7 +11706,7 @@
1202511707 'centralnotice-settings' => '设置',
1202611708 'centralnotice-edit-template' => '编辑模板',
1202711709 'centralnotice-edit-template-summary' => '欲创建一个可本地化的消息,请用三对花括号分隔含连字符的字符串,例如{{{jimbo-quote}}}。',
12028 - 'centralnotice-message' => '信息',
 11710+ 'centralnotice-message' => '消息',
1202911711 'centralnotice-message-not-set' => '没有设置消息',
1203011712 'centralnotice-clone' => '建立副本',
1203111713 'centralnotice-clone-notice' => '创建一个模板的副本',
@@ -12047,7 +11729,7 @@
1204811730 'centralnotice-banner-collapsible' => '可收缩',
1204911731 'centralnotice-banner-fundraising' => '这是一个筹款横幅',
1205011732 'centralnotice-banner-landing-pages' => '登录页(逗号分隔):',
12051 - 'centralnotice-geo' => '已地理定位的',
 11733+ 'centralnotice-geotargeted' => '已地理定位的',
1205211734 'centralnotice-countries' => '国家',
1205311735 'centralnotice-allocation' => '配额',
1205411736 'centralnotice-view-allocation' => '察看横幅配额',
@@ -12190,7 +11872,7 @@
1219111873 'centralnotice-banner-type' => '橫幅類型:',
1219211874 'centralnotice-banner-hidable' => '靜態可隱藏',
1219311875 'centralnotice-banner-collapsible' => '可摺疊',
12194 - 'centralnotice-geo' => '已地理定位的',
 11876+ 'centralnotice-geotargeted' => '已地理定位的',
1219511877 'centralnotice-countries' => '國家',
1219611878 'centralnotice-allocation' => '分配',
1219711879 'centralnotice-view-allocation' => '查看橫幅分配',
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNotice.db.php
@@ -118,73 +118,13 @@
119119
120120 return $notices;
121121 }
122 -
123 - /*
124 - * Return settings for a campaign
125 - * @param $campaignName string: The name of the campaign
126 - * @param $detailed boolean: Whether or not to include targeting and banner assignment info
127 - * @return an array of settings
128 - */
129 - static function getCampaignSettings( $campaignName, $detailed = true ) {
130 - global $wgCentralDBname;
131 -
132 - $dbr = wfGetDB( DB_SLAVE, array(), $wgCentralDBname );
133 -
134 - $campaign = array();
135122
136 - // Get campaign info from database
137 - $row = $dbr->selectRow( 'cn_notices',
138 - array(
139 - 'not_id',
140 - 'not_start',
141 - 'not_end',
142 - 'not_enabled',
143 - 'not_preferred',
144 - 'not_locked',
145 - 'not_geo'
146 - ),
147 - array( 'not_name' => $campaignName ),
148 - __METHOD__
149 - );
150 - if ( $row ) {
151 - $campaign = array(
152 - 'start' => $row->not_start,
153 - 'end' => $row->not_end,
154 - 'enabled' => $row->not_enabled,
155 - 'preferred' => $row->not_preferred,
156 - 'locked' => $row->not_locked,
157 - 'geo' => $row->not_geo
158 - );
159 - }
160 -
161 - if ( $detailed ) {
162 - $projects = CentralNotice::getNoticeProjects( $campaignName );
163 - $languages = CentralNotice::getNoticeLanguages( $campaignName );
164 - $geo_countries = CentralNotice::getNoticeCountries( $campaignName );
165 - $campaign['projects'] = implode( ", ", $projects );
166 - $campaign['languages'] = implode( ", ", $languages );
167 - $campaign['countries'] = implode( ", ", $geo_countries );
168 -
169 - $bannersIn = CentralNoticeDB::getCampaignBanners( $row->not_id );
170 - $bannersOut = array();
171 - // All we want are the banner names and weights
172 - foreach ( $bannersIn as $key => $row ) {
173 - $outKey = $bannersIn[$key]['name'];
174 - $bannersOut[$outKey] = $bannersIn[$key]['weight'];
175 - }
176 - // Encode into a JSON string for storage
177 - $campaign['banners'] = FormatJson::encode( $bannersOut );
178 - }
179 -
180 - return $campaign;
181 - }
182 -
183123 /*
184124 * Given one or more campaign ids, return all banners bound to them
185125 * @param $campaigns An array of id numbers
186126 * @return a 2D array of banners with associated weights and settings
187127 */
188 - static function getCampaignBanners( $campaigns ) {
 128+ static function selectBannersAssigned( $campaigns ) {
189129 global $wgCentralDBname;
190130
191131 $dbr = wfGetDB( DB_SLAVE, array(), $wgCentralDBname );
@@ -230,90 +170,6 @@
231171 return $templates;
232172 }
233173
234 - /**
235 - * Lookup function for active banners under a given language/project/location. This function is
236 - * called by SpecialBannerListLoader::getJsonList() in order to build the banner list JSON for
237 - * each project.
238 - * @return a 2D array of running banners with associated weights and settings
239 - */
240 - static function getBannersByTarget( $project, $language, $location = null ) {
241 - global $wgCentralDBname;
242 -
243 - $campaigns = array();
244 - $dbr = wfGetDB( DB_SLAVE, array(), $wgCentralDBname );
245 - $encTimestamp = $dbr->addQuotes( $dbr->timestamp() );
246 -
247 - // Pull non-geotargeted campaigns
248 - $campaignResults1 = $dbr->select(
249 - array(
250 - 'cn_notices',
251 - 'cn_notice_projects',
252 - 'cn_notice_languages'
253 - ),
254 - array(
255 - 'not_id'
256 - ),
257 - array(
258 - "not_start <= $encTimestamp",
259 - "not_end >= $encTimestamp",
260 - 'not_enabled = 1', // enabled
261 - 'not_geo = 0', // not geotargeted
262 - 'np_notice_id = cn_notices.not_id',
263 - 'np_project' => $project,
264 - 'nl_notice_id = cn_notices.not_id',
265 - 'nl_language' => $language
266 - ),
267 - __METHOD__
268 - );
269 - foreach ( $campaignResults1 as $row ) {
270 - $campaigns[] = $row->not_id;
271 - }
272 - if ( $location ) {
273 -
274 - // Normalize location parameter (should be an uppercase 2-letter country code)
275 - preg_match( '/[a-zA-Z][a-zA-Z]/', $location, $matches );
276 - if ( $matches ) {
277 - $location = strtoupper( $matches[0] );
278 -
279 - // Pull geotargeted campaigns
280 - $campaignResults2 = $dbr->select(
281 - array(
282 - 'cn_notices',
283 - 'cn_notice_projects',
284 - 'cn_notice_languages',
285 - 'cn_notice_countries'
286 - ),
287 - array(
288 - 'not_id'
289 - ),
290 - array(
291 - "not_start <= $encTimestamp",
292 - "not_end >= $encTimestamp",
293 - 'not_enabled = 1', // enabled
294 - 'not_geo = 1', // geotargeted
295 - 'nc_notice_id = cn_notices.not_id',
296 - 'nc_country' => $location,
297 - 'np_notice_id = cn_notices.not_id',
298 - 'np_project' => $project,
299 - 'nl_notice_id = cn_notices.not_id',
300 - 'nl_language' => $language
301 - ),
302 - __METHOD__
303 - );
304 - foreach ( $campaignResults2 as $row ) {
305 - $campaigns[] = $row->not_id;
306 - }
307 - }
308 - }
309 -
310 - $templates = array();
311 - if ( $campaigns ) {
312 - // Pull all banners assigned to the campaigns
313 - $templates = CentralNoticeDB::getCampaignBanners( $campaigns );
314 - }
315 - return $templates;
316 - }
317 -
318174 /*
319175 * See if a given banner exists in the database
320176 */
Index: branches/wmf/1.17wmf1/extensions/CentralNotice/centralnotice.js
@@ -1,17 +1,3 @@
2 -function toggleDisplay( logId ) {
3 - var thisCollapsed = document.getElementById( 'cn-collapsed-'+logId );
4 - var thisUncollapsed = document.getElementById( 'cn-uncollapsed-'+logId );
5 - var thisDetails = document.getElementById( 'cn-log-details-'+logId );
6 - if ( thisCollapsed.style.display == "none" ) {
7 - thisUncollapsed.style.display = "none";
8 - thisCollapsed.style.display = "block";
9 - thisDetails.style.display = "none";
10 - } else {
11 - thisCollapsed.style.display = "none";
12 - thisUncollapsed.style.display = "block";
13 - thisDetails.style.display = "table-row";
14 - }
15 -}
162 function selectProjects( selectAll ) {
173 var selectBox = document.getElementById('projects[]');
184 var firstSelect = selectBox.options.length - 1;
Property changes on: branches/wmf/1.17wmf1/extensions/CentralNotice
___________________________________________________________________
Modified: svn:mergeinfo
195 Reverse-merged /trunk/extensions/CentralNotice:r91118-92408

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r92704MFT r91107 - r92408awjrichards22:32, 20 July 2011

Status & tagging log