Index: trunk/extensions/CentralNotice/CentralNotice.db.php |
— | — | @@ -214,6 +214,7 @@ |
215 | 215 | 'tmp_display_anon', |
216 | 216 | 'tmp_display_account', |
217 | 217 | 'tmp_fundraising', |
| 218 | + 'tmp_landingcheck', |
218 | 219 | 'tmp_landing_pages', |
219 | 220 | 'not_name' |
220 | 221 | ), |
— | — | @@ -232,6 +233,7 @@ |
233 | 234 | 'display_anon' => intval( $row->tmp_display_anon ), // display to anonymous users? |
234 | 235 | 'display_account' => intval( $row->tmp_display_account ), // display to logged in users? |
235 | 236 | 'fundraising' => intval( $row->tmp_fundraising ), // fundraising banner? |
| 237 | + 'landingcheck' => intval( $row->tmp_landingcheck ), // use LandingCheck? |
236 | 238 | 'landing_pages' => $row->tmp_landing_pages, // landing pages to link to |
237 | 239 | 'campaign' => $row->not_name // campaign the banner is assigned to |
238 | 240 | ); |
— | — | @@ -263,6 +265,7 @@ |
264 | 266 | 'tmp_display_anon', |
265 | 267 | 'tmp_display_account', |
266 | 268 | 'tmp_fundraising', |
| 269 | + 'tmp_landingcheck', |
267 | 270 | 'tmp_landing_pages' |
268 | 271 | ), |
269 | 272 | array( 'tmp_name' => $bannerName ), |
— | — | @@ -274,6 +277,7 @@ |
275 | 278 | 'anon' => $row->tmp_display_anon, |
276 | 279 | 'account' => $row->tmp_display_account, |
277 | 280 | 'fundraising' => $row->tmp_fundraising, |
| 281 | + 'landingcheck' => $row->tmp_landingcheck, |
278 | 282 | 'landingpages' => $row->tmp_landing_pages |
279 | 283 | ); |
280 | 284 | } |
Index: trunk/extensions/CentralNotice/centralnotice.js |
— | — | @@ -95,9 +95,10 @@ |
96 | 96 | } |
97 | 97 | return true; |
98 | 98 | } |
99 | | -// Handle revealing the geoMultiSelector when the geotargetted checkbox is checked |
| 99 | + |
100 | 100 | ( function( $ ) { |
101 | 101 | $(document).ready(function() { |
| 102 | + // Reveal the geoMultiSelector when the geotargetted checkbox is checked |
102 | 103 | $("#geotargeted").click(function () { |
103 | 104 | if ($('#geotargeted:checked').val() !== undefined) { |
104 | 105 | $("#geoMultiSelector").fadeIn('fast'); |
— | — | @@ -105,11 +106,12 @@ |
106 | 107 | $("#geoMultiSelector").fadeOut('fast'); |
107 | 108 | } |
108 | 109 | }); |
109 | | - $("#fundraising").click(function () { |
110 | | - if ($('#fundraising:checked').val() !== undefined) { |
111 | | - $("#fundraisingInterface").fadeIn('fast'); |
| 110 | + // Reveal the LandingCheck interface when the LandingCheck checkbox is checked |
| 111 | + $("#landingCheck").click(function () { |
| 112 | + if ($('#landingCheck:checked').val() !== undefined) { |
| 113 | + $("#landingCheckInterface").fadeIn('fast'); |
112 | 114 | } else { |
113 | | - $("#fundraisingInterface").fadeOut('fast'); |
| 115 | + $("#landingCheckInterface").fadeOut('fast'); |
114 | 116 | } |
115 | 117 | }); |
116 | 118 | }); |
Index: trunk/extensions/CentralNotice/special/SpecialBannerController.php |
— | — | @@ -161,7 +161,7 @@ |
162 | 162 | $script = <<<JAVASCRIPT |
163 | 163 | function insertBanner(bannerJson) { |
164 | 164 | jQuery( 'div#centralNotice' ).prepend( bannerJson.bannerHtml ); |
165 | | - if ( bannerJson.fundraising ) { |
| 165 | + if ( bannerJson.landingCheck ) { |
166 | 166 | JAVASCRIPT; |
167 | 167 | $script .= "\n\t\tvar url = '" . |
168 | 168 | Xml::escapeJsString( $wgNoticeFundraisingUrl ) . "';\n"; |
— | — | @@ -176,7 +176,7 @@ |
177 | 177 | 'utm_source': bannerJson.bannerName, 'language': wgUserLanguage, |
178 | 178 | 'country': Geo.country |
179 | 179 | } ); |
180 | | - jQuery( '#cn_fundraising_link' ).attr( 'href', url ); |
| 180 | + jQuery( '#cn-landingcheck-link' ).attr( 'href', url ); |
181 | 181 | } |
182 | 182 | } |
183 | 183 | } |
Index: trunk/extensions/CentralNotice/special/SpecialBannerLoader.php |
— | — | @@ -75,6 +75,7 @@ |
76 | 76 | 'bannerHtml' => $bannerHtml, |
77 | 77 | 'campaign' => $this->campaign, |
78 | 78 | 'fundraising' => $this->getFundraising( $bannerName ), |
| 79 | + 'landingCheck' => $this->getLandingCheck( $bannerName ), |
79 | 80 | 'landingPages' => $this->getLandingPages( $bannerName ) |
80 | 81 | ); |
81 | 82 | $bannerJs = 'insertBanner('.FormatJson::encode( $bannerArray ).');'; |
— | — | @@ -203,6 +204,14 @@ |
204 | 205 | return $row->tmp_fundraising; |
205 | 206 | } |
206 | 207 | |
| 208 | + function getLandingCheck( $bannerName ) { |
| 209 | + global $wgCentralDBname; |
| 210 | + $dbr = wfGetDB( DB_SLAVE, array(), $wgCentralDBname ); |
| 211 | + $eBannerName = htmlspecialchars( $bannerName ); |
| 212 | + $row = $dbr->selectRow( 'cn_templates', 'tmp_landingcheck', array( 'tmp_name' => $eBannerName ) ); |
| 213 | + return $row->tmp_landingcheck; |
| 214 | + } |
| 215 | + |
207 | 216 | function getLandingPages( $bannerName ) { |
208 | 217 | global $wgCentralDBname; |
209 | 218 | $dbr = wfGetDB( DB_SLAVE, array(), $wgCentralDBname ); |
Index: trunk/extensions/CentralNotice/special/SpecialNoticeTemplate.php |
— | — | @@ -90,6 +90,7 @@ |
91 | 91 | $wgRequest->getBool( 'displayAnon' ), |
92 | 92 | $wgRequest->getBool( 'displayAccount' ), |
93 | 93 | $wgRequest->getBool( 'fundraising' ), |
| 94 | + $wgRequest->getBool( 'landingCheck' ), |
94 | 95 | $wgRequest->getVal( 'landingPages' ) |
95 | 96 | ); |
96 | 97 | $sub = 'view'; |
— | — | @@ -106,6 +107,7 @@ |
107 | 108 | $wgRequest->getBool( 'displayAnon' ), |
108 | 109 | $wgRequest->getBool( 'displayAccount' ), |
109 | 110 | $wgRequest->getBool( 'fundraising' ), |
| 111 | + $wgRequest->getBool( 'landingCheck' ), |
110 | 112 | $wgRequest->getVal( 'landingPages' ) |
111 | 113 | ); |
112 | 114 | $sub = 'view'; |
— | — | @@ -238,6 +240,7 @@ |
239 | 241 | $displayAnon = $wgRequest->getCheck( 'displayAnon' ); |
240 | 242 | $displayAccount = $wgRequest->getCheck( 'displayAccount' ); |
241 | 243 | $fundraising = $wgRequest->getCheck( 'fundraising' ); |
| 244 | + $landingCheck = $wgRequest->getCheck( 'landingCheck' ); |
242 | 245 | $landingPages = $wgRequest->getVal( 'landingPages' ); |
243 | 246 | $body = $wgRequest->getVal( 'templateBody' ); |
244 | 247 | } else { // Use default values |
— | — | @@ -245,6 +248,7 @@ |
246 | 249 | $displayAnon = true; |
247 | 250 | $displayAccount = true; |
248 | 251 | $fundraising = false; |
| 252 | + $landingCheck = false; |
249 | 253 | $landingPages = ''; |
250 | 254 | $body = ''; |
251 | 255 | } |
— | — | @@ -268,13 +272,24 @@ |
269 | 273 | |
270 | 274 | // Fundraising settings |
271 | 275 | if ( $wgNoticeEnableFundraising ) { |
| 276 | + |
| 277 | + // Checkbox for indicating if it is a fundraising banner |
272 | 278 | $htmlOut .= Html::openElement( 'p', null ); |
273 | 279 | $htmlOut .= Xml::check( 'fundraising', $fundraising, array( 'id' => 'fundraising' ) ); |
274 | 280 | $htmlOut .= Xml::label( wfMsg( 'centralnotice-banner-fundraising' ), 'fundraising' ); |
275 | 281 | $htmlOut .= Html::closeElement( 'p' ); |
| 282 | + |
| 283 | + // Checkbox for whether or not to use the LandingCheck extension |
| 284 | + $htmlOut .= Html::openElement( 'p', null ); |
| 285 | + $htmlOut .= Xml::check( 'landingCheck', $landingCheck, array( 'id' => 'landingCheck' ) ); |
| 286 | + $htmlOut .= Xml::label( wfMsg( 'centralnotice-banner-landingcheck' ), 'landingCheck' ); |
| 287 | + $htmlOut .= Html::closeElement( 'p' ); |
| 288 | + |
| 289 | + // Interface for setting the landing pages |
276 | 290 | $htmlOut .= Html::openElement( 'div', |
277 | | - array( 'id' => 'fundraisingInterface', 'style' => 'display: none;' ) ); |
278 | | - $htmlOut .= Xml::tags( 'p', array(), wfMsg( 'centralnotice-banner-fundraising-help' ) ); |
| 291 | + array( 'id' => 'landingCheckInterface', 'style' => 'display: none;' ) ); |
| 292 | + $htmlOut .= Xml::tags( 'p', array(), |
| 293 | + wfMsg( 'centralnotice-banner-landingcheck-help', 'id="cn-landingcheck-link"', 'JimmyAppeal01' ) ); |
279 | 294 | $htmlOut .= Xml::tags( 'p', array(), |
280 | 295 | Xml::inputLabel( |
281 | 296 | wfMsg( 'centralnotice-banner-landing-pages' ), |
— | — | @@ -548,12 +563,14 @@ |
549 | 564 | $displayAnon = $wgRequest->getCheck( 'displayAnon' ); |
550 | 565 | $displayAccount = $wgRequest->getCheck( 'displayAccount' ); |
551 | 566 | $fundraising = $wgRequest->getCheck( 'fundraising' ); |
| 567 | + $landingCheck = $wgRequest->getCheck( 'landingCheck' ); |
552 | 568 | $landingPages = $wgRequest->getVal( 'landingPages' ); |
553 | 569 | $body = $wgRequest->getVal( 'templateBody', $body ); |
554 | 570 | } else { // Use previously stored values |
555 | 571 | $displayAnon = ( $bannerSettings['anon'] == 1 ); |
556 | 572 | $displayAccount = ( $bannerSettings['account'] == 1 ); |
557 | 573 | $fundraising = ( $bannerSettings['fundraising'] == 1 ); |
| 574 | + $landingCheck = ( $bannerSettings['landingcheck'] == 1 ); |
558 | 575 | $landingPages = $bannerSettings['landingpages']; |
559 | 576 | // $body default is defined prior to message interface code |
560 | 577 | } |
— | — | @@ -572,20 +589,32 @@ |
573 | 590 | |
574 | 591 | // Fundraising settings |
575 | 592 | if ( $wgNoticeEnableFundraising ) { |
| 593 | + |
| 594 | + // Checkbox for indicating if it is a fundraising banner |
576 | 595 | $htmlOut .= Html::openElement( 'p', null ); |
577 | 596 | $htmlOut .= Xml::check( 'fundraising', $fundraising, |
578 | 597 | wfArrayMerge( $disabled, array( 'id' => 'fundraising' ) ) ); |
579 | 598 | $htmlOut .= Xml::label( wfMsg( 'centralnotice-banner-fundraising' ), |
580 | 599 | 'fundraising' ); |
581 | 600 | $htmlOut .= Html::closeElement( 'p' ); |
582 | | - if ( $fundraising ) { |
583 | | - $htmlOut .= Html::openElement( 'div', array( 'id'=>'fundraisingInterface' ) ); |
| 601 | + |
| 602 | + // Checkbox for whether or not to use the LandingCheck extension |
| 603 | + $htmlOut .= Html::openElement( 'p', null ); |
| 604 | + $htmlOut .= Xml::check( 'landingCheck', $landingCheck, |
| 605 | + wfArrayMerge( $disabled, array( 'id' => 'landingCheck' ) ) ); |
| 606 | + $htmlOut .= Xml::label( wfMsg( 'centralnotice-banner-landingcheck' ), |
| 607 | + 'landingCheck' ); |
| 608 | + $htmlOut .= Html::closeElement( 'p' ); |
| 609 | + |
| 610 | + // Interface for setting the landing pages |
| 611 | + if ( $landingCheck ) { |
| 612 | + $htmlOut .= Html::openElement( 'div', array( 'id'=>'landingCheckInterface' ) ); |
584 | 613 | } else { |
585 | 614 | $htmlOut .= Html::openElement( 'div', |
586 | | - array( 'id'=>'fundraisingInterface', 'style'=>'display:none;' ) ); |
| 615 | + array( 'id'=>'landingCheckInterface', 'style'=>'display:none;' ) ); |
587 | 616 | } |
588 | 617 | $htmlOut .= Xml::tags( 'p', array(), |
589 | | - wfMsg( 'centralnotice-banner-fundraising-help' ) ); |
| 618 | + wfMsg( 'centralnotice-banner-landingcheck-help', 'id="cn-landingcheck-link"', 'JimmyAppeal01' ) ); |
590 | 619 | $htmlOut .= Xml::tags( 'p', array(), |
591 | 620 | Xml::inputLabel( |
592 | 621 | wfMsg( 'centralnotice-banner-landing-pages' ), |
— | — | @@ -594,6 +623,7 @@ |
595 | 624 | ) |
596 | 625 | ); |
597 | 626 | $htmlOut .= Html::closeElement( 'div' ); |
| 627 | + |
598 | 628 | } |
599 | 629 | |
600 | 630 | // Begin banner body section |
— | — | @@ -780,11 +810,12 @@ |
781 | 811 | * @param $displayAnon integer flag for display to anonymous users |
782 | 812 | * @param $displayAccount integer flag for display to logged in users |
783 | 813 | * @param $fundraising integer flag for fundraising banner (optional) |
| 814 | + * @param $landingCheck integer flag for using LandingCheck (optional) |
784 | 815 | * @param $landingPages string list of landing pages (optional) |
785 | 816 | * @return true or false depending on whether banner was successfully added |
786 | 817 | */ |
787 | 818 | public function addTemplate( $name, $body, $displayAnon, $displayAccount, $fundraising = 0, |
788 | | - $landingPages = '' ) { |
| 819 | + $landingCheck = 0, $landingPages = '' ) { |
789 | 820 | |
790 | 821 | if ( $body == '' || $name == '' ) { |
791 | 822 | $this->showError( 'centralnotice-null-string' ); |
— | — | @@ -813,6 +844,7 @@ |
814 | 845 | 'tmp_display_anon' => $displayAnon, |
815 | 846 | 'tmp_display_account' => $displayAccount, |
816 | 847 | 'tmp_fundraising' => $fundraising, |
| 848 | + 'tmp_landingcheck' => $landingCheck, |
817 | 849 | 'tmp_landing_pages' => $landingPages |
818 | 850 | ), |
819 | 851 | __METHOD__ |
— | — | @@ -831,6 +863,7 @@ |
832 | 864 | 'anon' => $displayAnon, |
833 | 865 | 'account' => $displayAccount, |
834 | 866 | 'fundraising' => $fundraising, |
| 867 | + 'landingcheck' => $landingCheck, |
835 | 868 | 'landingpages' => $landingPages |
836 | 869 | ); |
837 | 870 | $this->logBannerChange( 'created', $bannerId, $beginSettings, $endSettings ); |
— | — | @@ -843,7 +876,7 @@ |
844 | 877 | * Update a banner |
845 | 878 | */ |
846 | 879 | private function editTemplate( $name, $body, $displayAnon, $displayAccount, $fundraising, |
847 | | - $landingPages ) { |
| 880 | + $landingCheck, $landingPages ) { |
848 | 881 | |
849 | 882 | if ( $body == '' || $name == '' ) { |
850 | 883 | $this->showError( 'centralnotice-null-string' ); |
— | — | @@ -865,6 +898,7 @@ |
866 | 899 | 'tmp_display_anon' => $displayAnon, |
867 | 900 | 'tmp_display_account' => $displayAccount, |
868 | 901 | 'tmp_fundraising' => $fundraising, |
| 902 | + 'tmp_landingcheck' => $landingCheck, |
869 | 903 | 'tmp_landing_pages' => $landingPages |
870 | 904 | ), |
871 | 905 | array( 'tmp_name' => $name ) |
— | — | @@ -911,6 +945,7 @@ |
912 | 946 | 'tmp_display_anon', |
913 | 947 | 'tmp_display_account', |
914 | 948 | 'tmp_fundraising', |
| 949 | + 'tmp_landingcheck', |
915 | 950 | 'tmp_landing_pages' |
916 | 951 | ), |
917 | 952 | array( 'tmp_name' => $source ), |
— | — | @@ -919,6 +954,7 @@ |
920 | 955 | $displayAnon = $row->tmp_display_anon; |
921 | 956 | $displayAccount = $row->tmp_display_account; |
922 | 957 | $fundraising = $row->tmp_fundraising; |
| 958 | + $landingCheck = $row->tmp_landingcheck; |
923 | 959 | $landingPages = $row->tmp_landing_pages; |
924 | 960 | |
925 | 961 | // Pull banner text and respect any inc: markup |
— | — | @@ -927,7 +963,7 @@ |
928 | 964 | |
929 | 965 | // Create new banner |
930 | 966 | if ( $this->addTemplate( $dest, $template_body, $displayAnon, $displayAccount, $fundraising, |
931 | | - $landingPages ) ) { |
| 967 | + $landingCheck, $landingPages ) ) { |
932 | 968 | |
933 | 969 | // Populate the fields |
934 | 970 | foreach ( $langs as $lang => $fields ) { |
Index: trunk/extensions/CentralNotice/CentralNotice.php |
— | — | @@ -153,6 +153,8 @@ |
154 | 154 | $base . '/patches/patch-template_settings.sql' ); |
155 | 155 | $wgExtNewFields[] = array( 'cn_templates', 'tmp_fundraising', |
156 | 156 | $base . '/patches/patch-template_fundraising.sql' ); |
| 157 | + $wgExtNewFields[] = array( 'cn_templates', 'tmp_landingcheck', |
| 158 | + $base . '/patches/patch-template_landingcheck.sql' ); |
157 | 159 | $wgExtNewTables[] = array( 'cn_notice_countries', |
158 | 160 | $base . '/patches/patch-notice_countries.sql' ); |
159 | 161 | $wgExtNewTables[] = array( 'cn_notice_projects', |
— | — | @@ -174,6 +176,8 @@ |
175 | 177 | $base . '/patches/patch-template_settings.sql', true ) ); |
176 | 178 | $updater->addExtensionUpdate( array( 'addField', 'cn_templates', 'tmp_fundraising', |
177 | 179 | $base . '/patches/patch-template_fundraising.sql', true ) ); |
| 180 | + $updater->addExtensionUpdate( array( 'addField', 'cn_templates', 'tmp_landingcheck', |
| 181 | + $base . '/patches/patch-template_landingcheck.sql', true ) ); |
178 | 182 | $updater->addExtensionUpdate( array( 'addTable', 'cn_notice_countries', |
179 | 183 | $base . '/patches/patch-notice_countries.sql', true ) ); |
180 | 184 | $updater->addExtensionUpdate( array( 'addTable', 'cn_notice_projects', |
— | — | @@ -190,7 +194,7 @@ |
191 | 195 | function efCentralNoticeLoader( $out, $skin ) { |
192 | 196 | global $wgOut; |
193 | 197 | |
194 | | - // Include '.js' to exempt script from squid cache override |
| 198 | + // Include '.js' to exempt script from squid cache expiration override |
195 | 199 | $centralLoader = SpecialPage::getTitleFor( 'BannerController' )->getLocalUrl( 'cache=/cn.js' ); |
196 | 200 | |
197 | 201 | // Insert the banner controller Javascript into the <head> |
Index: trunk/extensions/CentralNotice/patches/patch-template_landingcheck.sql |
— | — | @@ -0,0 +1,8 @@ |
| 2 | +-- Update to add a separate flag for LandingCheck |
| 3 | + |
| 4 | +-- Store a flag indicating whether or not this banner uses LandingCheck |
| 5 | +ALTER TABLE /*$wgDBprefix*/cn_templates ADD `tmp_landingcheck` bool NOT NULL DEFAULT 0 AFTER `tmp_fundraising`; |
| 6 | + |
| 7 | +-- Store before and after flag values for logging |
| 8 | +ALTER TABLE /*$wgDBprefix*/cn_template_log ADD `tmplog_begin_landingcheck` bool NULL DEFAULT NULL AFTER `tmplog_end_fundraising`; |
| 9 | +ALTER TABLE /*$wgDBprefix*/cn_template_log ADD `tmplog_end_landingcheck` bool NULL DEFAULT NULL AFTER `tmplog_begin_landingcheck`; |
\ No newline at end of file |
Index: trunk/extensions/CentralNotice/CentralNoticeBannerLogPager.php |
— | — | @@ -149,6 +149,11 @@ |
150 | 150 | wfMsg ( 'centralnotice-fundraising' ), |
151 | 151 | ($row->tmplog_end_fundraising ? 'on' : 'off') |
152 | 152 | )."<br/>"; |
| 153 | + $details .= wfMsg ( |
| 154 | + 'centralnotice-log-label', |
| 155 | + wfMsg ( 'centralnotice-landingcheck' ), |
| 156 | + ($row->tmplog_end_landingcheck ? 'on' : 'off') |
| 157 | + )."<br/>"; |
153 | 158 | if ( $row->tmplog_end_landingpages ) { |
154 | 159 | $details .= wfMsg ( |
155 | 160 | 'centralnotice-log-label', |
— | — | @@ -165,6 +170,7 @@ |
166 | 171 | $details .= $this->testBooleanChange( 'anon', $row ); |
167 | 172 | $details .= $this->testBooleanChange( 'account', $row ); |
168 | 173 | $details .= $this->testBooleanChange( 'fundraising', $row ); |
| 174 | + $details .= $this->testBooleanChange( 'landingcheck', $row ); |
169 | 175 | $details .= $this->testTextChange( 'landingpages', $row ); |
170 | 176 | if ( $row->tmplog_content_change ) { |
171 | 177 | // Show changes to banner content |
Index: trunk/extensions/CentralNotice/CentralNotice.i18n.php |
— | — | @@ -132,7 +132,8 @@ |
133 | 133 | 'centralnotice-banner-hidable' => 'Static/Hidable', |
134 | 134 | 'centralnotice-banner-collapsible' => 'Collapsible', |
135 | 135 | 'centralnotice-banner-fundraising' => 'This is a fundraising banner', |
136 | | - '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.', |
| 136 | + 'centralnotice-banner-landingcheck' => 'Use the LandingCheck extension', |
| 137 | + 'centralnotice-banner-landingcheck-help' => 'Create an anchor tag in the banner body with $1 and enter one or more landing pages below, for example, $2. The link will be constructed automatically.', |
137 | 138 | 'centralnotice-banner-landing-pages' => 'Landing pages (comma-separated):', |
138 | 139 | 'centralnotice-geo' => 'Geotargeted', |
139 | 140 | 'centralnotice-countries' => 'Countries', |
— | — | @@ -167,6 +168,7 @@ |
168 | 169 | 'centralnotice-anon' => 'Display to anonymous users', |
169 | 170 | 'centralnotice-account' => 'Display to logged in users', |
170 | 171 | 'centralnotice-fundraising' => 'Fundraising', |
| 172 | + 'centralnotice-landingcheck' => 'LandingCheck', |
171 | 173 | 'centralnotice-landingpages' => 'Landing pages', |
172 | 174 | 'centralnotice-banner-content' => 'Banner content', |
173 | 175 | 'centralnotice-banner-content-changed' => 'Changed', |
— | — | @@ -258,6 +260,8 @@ |
259 | 261 | 'centralnotice-expand-button' => 'This is an action, a verb in imperative form. It refers to "Do expand the centralnotice!" |
260 | 262 | |
261 | 263 | See also {{msg|Centralnotice-hide-button}}.', |
| 264 | + 'centralnotice-banner-landingcheck' => 'LandingCheck is the name of a MediaWiki extension.', |
| 265 | + 'centralnotice-banner-landingcheck-help' => 'An explanation for how to use the LandingCheck feature. $1 is a bit of HTML, $2 is a title for a page.', |
262 | 266 | 'centralnotice-geo' => 'Used to label a checkbox which activates geotargeting', |
263 | 267 | 'centralnotice-allocation' => 'Tab for sub-page [[m:BannerAllocation|banner allocation]] to central notice special page.', |
264 | 268 | 'centralnotice-view-allocation' => 'Heading of dialog box on [[m:Special:BannerAllocation|banner allocation]] special page.', |
— | — | @@ -289,6 +293,7 @@ |
290 | 294 | 'centralnotice-banner-settings' => "Label for a radio button |
291 | 295 | |
292 | 296 | {{msg-mw|Centralnotice-banner-settings}} and {{msg-mw|Centralnotice-banner-content}} are visible at [{{fullurl:meta:Special:CentralNoticeLogs|log=bannersettings}} Special:CentralNoticeLogs] – ''settings'' chooses between logs for campaigns and log for banners, ''content'' is one of the things which could be changed on a banner (see the details of a log entry). So, I would go with “banners in general” for ''settings'' and “a single banner” in ''content''.", |
| 297 | + 'centralnotice-landingcheck' => 'This is a the name of a MediaWiki extension.', |
293 | 298 | 'centralnotice-banner-content' => "{{msg-mw|Centralnotice-banner-settings}} and {{msg-mw|Centralnotice-banner-content}} appear to be visible at [{{fullurl:meta:Special:CentralNoticeLogs|log=bannersettings}} Special:CentralNoticeLogs] – ''settings'' chooses between logs for campaigns and log for banners, ''content'' is one of the things which could be changed on a banner (see the details of a log entry). So, I would go with “banners in general” for ''settings'' and “a single banner” in ''content''.", |
294 | 299 | 'centralnotice-filters' => 'Label for a set of options that control filtering of logs', |
295 | 300 | 'centralnotice-date' => 'Label for a date selection interface', |