Adamw has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/92162


Change subject: DO NOT MERGE: demonstrate AutoLoader::registerNamespace
......................................................................

DO NOT MERGE: demonstrate AutoLoader::registerNamespace

Depends on core patch https://gerrit.wikimedia.org/r/59804

Change-Id: I1e277b1f9cc72af76cb5e9f619f8828547812c30
---
M CentralNotice.hooks.php
M CentralNoticeBannerLogPager.php
M CentralNoticeCampaignLogPager.php
M CentralNoticePager.php
M TemplatePager.php
M api/ApiCentralNoticeAllocations.php
M api/ApiCentralNoticeLogs.php
M api/ApiCentralNoticeQueryCampaign.php
M includes/AllocationContext.php
M includes/Banner.php
M includes/BannerChooser.php
M includes/BannerMessage.php
M includes/BannerMessageGroup.php
M includes/BannerRenderer.php
M includes/CNBannerPager.php
M includes/CNDatabase.php
M includes/CNDeviceTarget.php
M includes/Campaign.php
M includes/CampaignLog.php
M includes/GeoTarget.php
M includes/HtmlFormElements/HTMLCentralNoticeBanner.php
M includes/HtmlFormElements/HTMLCentralNoticeBannerMessage.php
M includes/IBannerMixin.php
M includes/MixinController.php
M patches/CNDatabasePatcher.php
M special/SpecialBannerAllocation.php
M special/SpecialBannerLoader.php
M special/SpecialBannerRandom.php
M special/SpecialCNReporter.php
M special/SpecialCentralNotice.php
M special/SpecialCentralNoticeBanners.php
M special/SpecialCentralNoticeLogs.php
M special/SpecialGlobalAllocation.php
M special/SpecialHideBanners.php
M special/SpecialNoticeTemplate.php
M special/SpecialRecordImpression.php
M tests/AllocationsTest.php
M tests/BannerTest.php
M tests/CentralNoticeTest.php
M tests/CentralNoticeTestFixtures.php
M tests/HistoryTest.php
41 files changed, 290 insertions(+), 95 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CentralNotice 
refs/changes/62/92162/1

diff --git a/CentralNotice.hooks.php b/CentralNotice.hooks.php
index 0031b1c..f96aa27 100644
--- a/CentralNotice.hooks.php
+++ b/CentralNotice.hooks.php
@@ -28,8 +28,8 @@
 global $wgExtensionFunctions, $wgHooks;
 
 $wgExtensionFunctions[] = 'efCentralNoticeSetup';
-$wgHooks[ 'LoadExtensionSchemaUpdates' ][ ] = 
'CNDatabasePatcher::applyUpdates';
-$wgHooks[ 'SkinTemplateNavigation::SpecialPage' ][ ] = array( 
'CentralNotice::addNavigationTabs' );
+$wgHooks[ 'LoadExtensionSchemaUpdates' ][ ] = 
'mediawiki\extensions\CentralNotice\patches\CNDatabasePatcher::applyUpdates';
+$wgHooks[ 'SkinTemplateNavigation::SpecialPage' ][ ] = array( 
'mediawiki\extensions\CentralNotice\special\CentralNotice::addNavigationTabs' );
 
 /**
  * Load all the classes, register special pages, etc. Called through 
wgExtensionFunctions.
@@ -51,43 +51,23 @@
        $includeDir = $dir . 'includes/';
        $htmlFormDir = $includeDir . '/HtmlFormElements/';
 
-       // Register files
-       $wgAutoloadClasses[ 'CentralNotice' ] = $specialDir . 
'SpecialCentralNotice.php';
-       $wgAutoloadClasses[ 'SpecialBannerLoader' ] = $specialDir . 
'SpecialBannerLoader.php';
-       $wgAutoloadClasses[ 'SpecialBannerRandom' ] = $specialDir . 
'SpecialBannerRandom.php';
-       $wgAutoloadClasses[ 'SpecialRecordImpression' ] = $specialDir . 
'SpecialRecordImpression.php';
-       $wgAutoloadClasses[ 'SpecialHideBanners' ] = $specialDir . 
'SpecialHideBanners.php';
-       $wgAutoloadClasses[ 'SpecialCNReporter' ] = $specialDir . 
'SpecialCNReporter.php';
+       // Register classes and exceptional files
+       AutoLoader::registerNamespace( 'mediawiki\extensions\CentralNotice', 
__DIR__ . '/includes' );
+       AutoLoader::registerNamespace( 
'mediawiki\extensions\CentralNotice\api', __DIR__ . '/api' );
+       AutoLoader::registerNamespace( 
'mediawiki\extensions\CentralNotice\patches', __DIR__ . '/patches' );
+       AutoLoader::registerNamespace( 
'mediawiki\extensions\CentralNotice\special', __DIR__ . '/special' );
 
-       $wgAutoloadClasses[ 'BannerLoaderException' ] = $specialDir . 
'SpecialBannerLoader.php';
+       $wgAutoloadClasses[ 
'mediawiki\extensions\CentralNotice\special\CentralNotice' ] = $specialDir . 
'SpecialCentralNotice.php';
+       $wgAutoloadClasses[ 
'mediawiki\extensions\CentralNotice\special\BannerLoaderException' ] = 
$specialDir . 'SpecialBannerLoader.php';
 
-       $wgAutoloadClasses[ 'Banner' ] = $includeDir . 'Banner.php';
-       $wgAutoloadClasses[ 'BannerDataException' ] = $includeDir . 
'Banner.php';
-       $wgAutoloadClasses[ 'BannerContentException' ] = $includeDir . 
'Banner.php';
-       $wgAutoloadClasses[ 'BannerExistenceException' ] = $includeDir . 
'Banner.php';
-       $wgAutoloadClasses[ 'BannerMessage' ] = $includeDir . 
'BannerMessage.php';
-       $wgAutoloadClasses[ 'BannerChooser' ] = $includeDir . 
'BannerChooser.php';
-       $wgAutoloadClasses[ 'BannerRenderer' ] = $includeDir . 
'BannerRenderer.php';
-       $wgAutoloadClasses[ 'Campaign' ] = $includeDir . 'Campaign.php';
-       $wgAutoloadClasses[ 'CampaignLog' ] = $includeDir . 'CampaignLog.php';
-       $wgAutoloadClasses[ 'GeoTarget' ] = $includeDir . 'GeoTarget.php';
-       $wgAutoloadClasses[ 'IBannerMixin' ] = $includeDir . 'IBannerMixin.php';
-       $wgAutoloadClasses[ 'AllocationContext' ] = $includeDir . 
'AllocationContext.php';
-       $wgAutoloadClasses[ 'MixinController' ] = $includeDir . 
'MixinController.php';
+       $wgAutoloadClasses[ 
'mediawiki\extensions\CentralNotice\BannerDataException' ] = $includeDir . 
'Banner.php';
+       $wgAutoloadClasses[ 
'mediawiki\extensions\CentralNotice\BannerContentException' ] = $includeDir . 
'Banner.php';
+       $wgAutoloadClasses[ 
'mediawiki\extensions\CentralNotice\BannerExistenceException' ] = $includeDir . 
'Banner.php';
+       $wgAutoloadClasses[ 
'mediawiki\extensions\CentralNotice\HTMLBannerPagerNavigation' ] = $includeDir 
. 'CNBannerPager.php';
 
-       $wgAutoloadClasses[ 'HTMLCentralNoticeBanner' ] = $htmlFormDir . 
'HTMLCentralNoticeBanner.php';
-       $wgAutoloadClasses[ 'HTMLCentralNoticeBannerMessage' ] = $htmlFormDir . 
'HTMLCentralNoticeBannerMessage.php';
-
-       $wgAutoloadClasses[ 'CNDatabasePatcher' ] = $dir . 
'patches/CNDatabasePatcher.php';
-
-       $wgAutoloadClasses[ 'ApiCentralNoticeAllocations' ] = $apiDir . 
'ApiCentralNoticeAllocations.php';
-       $wgAutoloadClasses[ 'ApiCentralNoticeQueryCampaign' ] = $apiDir . 
'ApiCentralNoticeQueryCampaign.php';
-       $wgAutoloadClasses[ 'ApiCentralNoticeLogs' ] = $apiDir . 
'ApiCentralNoticeLogs.php';
-
-       $wgAutoloadClasses[ 'CNDatabase' ] = $includeDir . 'CNDatabase.php';
-       $wgAPIModules[ 'centralnoticeallocations' ] = 
'ApiCentralNoticeAllocations';
-       $wgAPIModules[ 'centralnoticequerycampaign' ] = 
'ApiCentralNoticeQueryCampaign';
-       $wgAPIListModules[ 'centralnoticelogs' ] = 'ApiCentralNoticeLogs';
+       $wgAPIModules[ 'centralnoticeallocations' ] = 
'mediawiki\extensions\CentralNotice\api\ApiCentralNoticeAllocations';
+       $wgAPIModules[ 'centralnoticequerycampaign' ] = 
'mediawiki\extensions\CentralNotice\api\ApiCentralNoticeQueryCampaign';
+       $wgAPIListModules[ 'centralnoticelogs' ] = 
'mediawiki\extensions\CentralNotice\api\ApiCentralNoticeLogs';
 
        // Register hooks
        $wgHooks[ 'UnitTestsList' ][ ] = 'efCentralNoticeUnitTests';
@@ -105,11 +85,11 @@
        $wgHooks['EnableMobileModules'][] = 'efEnableMobileModules';
 
        // Register special pages
-       $wgSpecialPages[ 'BannerLoader' ] = 'SpecialBannerLoader';
-       $wgSpecialPages[ 'BannerRandom' ] = 'SpecialBannerRandom';
-       $wgSpecialPages[ 'RecordImpression' ] = 'SpecialRecordImpression';
-       $wgSpecialPages[ 'HideBanners' ] = 'SpecialHideBanners';
-       $wgSpecialPages[ 'CNReporter' ] = 'SpecialCNReporter';
+       $wgSpecialPages[ 'BannerLoader' ] = 
'mediawiki\extensions\CentralNotice\special\SpecialBannerLoader';
+       $wgSpecialPages[ 'BannerRandom' ] = 
'mediawiki\extensions\CentralNotice\special\SpecialBannerRandom';
+       $wgSpecialPages[ 'RecordImpression' ] = 
'mediawiki\extensions\CentralNotice\special\SpecialRecordImpression';
+       $wgSpecialPages[ 'HideBanners' ] = 
'mediawiki\extensions\CentralNotice\special\SpecialHideBanners';
+       $wgSpecialPages[ 'CNReporter' ] = 
'mediawiki\extensions\CentralNotice\special\SpecialCNReporter';
 
        // If this is the wiki that hosts the management interface, load 
further components
        if ( $wgNoticeInfrastructure ) {
@@ -118,27 +98,19 @@
                $wgAutoloadClasses[ 'CentralNoticeCampaignLogPager' ] = $dir . 
'CentralNoticeCampaignLogPager.php';
                $wgAutoloadClasses[ 'CentralNoticeBannerLogPager' ] = $dir . 
'CentralNoticeBannerLogPager.php';
                $wgAutoloadClasses[ 'CentralNoticePageLogPager' ] = $dir . 
'CentralNoticePageLogPager.php';
-               $wgAutoloadClasses[ 'SpecialNoticeTemplate' ] = $specialDir . 
'SpecialNoticeTemplate.php';
-               $wgAutoloadClasses[ 'SpecialGlobalAllocation' ] = $specialDir . 
'SpecialGlobalAllocation.php';
-               $wgAutoloadClasses[ 'SpecialBannerAllocation' ] = $specialDir . 
'SpecialBannerAllocation.php';
-               $wgAutoloadClasses[ 'SpecialCentralNoticeLogs' ] = $specialDir 
. 'SpecialCentralNoticeLogs.php';
-               $wgAutoloadClasses[ 'SpecialCentralNoticeBanners' ] = 
$specialDir . 'SpecialCentralNoticeBanners.php';
-               $wgAutoloadClasses[ 'CNBannerPager' ] = $includeDir . 
'CNBannerPager.php';
-               $wgAutoloadClasses[ 'CNDeviceTarget' ] = $includeDir . 
'CNDeviceTarget.php';
 
                if ( $wgNoticeUseTranslateExtension ) {
-                       $wgAutoloadClasses[ 'BannerMessageGroup' ] = 
$includeDir . 'BannerMessageGroup.php';
-                       $wgHooks[ 'TranslatePostInitGroups' ][ ] = 
'BannerMessageGroup::registerGroupHook';
-                       $wgHooks[ 'TranslateEventMessageGroupStateChange' ][] = 
'BannerMessageGroup::updateBannerGroupStateHook';
+                       $wgHooks[ 'TranslatePostInitGroups' ][ ] = 
'mediawiki\extensions\CentralNotice\BannerMessageGroup::registerGroupHook';
+                       $wgHooks[ 'TranslateEventMessageGroupStateChange' ][] = 
'mediawiki\extensions\CentralNotice\BannerMessageGroup::updateBannerGroupStateHook';
                }
 
-               $wgSpecialPages[ 'CentralNotice' ] = 'CentralNotice';
+               $wgSpecialPages[ 'CentralNotice' ] = 
'mediawiki\extensions\CentralNotice\special\CentralNotice';
                $wgSpecialPageGroups[ 'CentralNotice' ] = 'wiki'; // Wiki data 
and tools
-               $wgSpecialPages[ 'NoticeTemplate' ] = 'SpecialNoticeTemplate';
-               $wgSpecialPages[ 'GlobalAllocation' ] = 
'SpecialGlobalAllocation';
-               $wgSpecialPages[ 'BannerAllocation' ] = 
'SpecialBannerAllocation';
-               $wgSpecialPages[ 'CentralNoticeLogs' ] = 
'SpecialCentralNoticeLogs';
-               $wgSpecialPages[ 'CentralNoticeBanners'] = 
'SpecialCentralNoticeBanners';
+               $wgSpecialPages[ 'NoticeTemplate' ] = 
'mediawiki\extensions\CentralNotice\special\SpecialNoticeTemplate';
+               $wgSpecialPages[ 'GlobalAllocation' ] = 
'mediawiki\extensions\CentralNotice\special\SpecialGlobalAllocation';
+               $wgSpecialPages[ 'BannerAllocation' ] = 
'mediawiki\extensions\CentralNotice\special\SpecialBannerAllocation';
+               $wgSpecialPages[ 'CentralNoticeLogs' ] = 
'mediawiki\extensions\CentralNotice\special\SpecialCentralNoticeLogs';
+               $wgSpecialPages[ 'CentralNoticeBanners'] = 
'mediawiki\extensions\CentralNotice\special\SpecialCentralNoticeBanners';
        }
 }
 
diff --git a/CentralNoticeBannerLogPager.php b/CentralNoticeBannerLogPager.php
index 07a1460..9a8d75b 100644
--- a/CentralNoticeBannerLogPager.php
+++ b/CentralNoticeBannerLogPager.php
@@ -1,5 +1,7 @@
 <?php
 
+use mediawiki\extensions\CentralNotice\CNDatabase;
+
 class CentralNoticeBannerLogPager extends CentralNoticeCampaignLogPager {
        var $special;
 
diff --git a/CentralNoticeCampaignLogPager.php 
b/CentralNoticeCampaignLogPager.php
index 0744633..82110c3 100644
--- a/CentralNoticeCampaignLogPager.php
+++ b/CentralNoticeCampaignLogPager.php
@@ -1,5 +1,7 @@
 <?php
 
+use mediawiki\extensions\CentralNotice\special\CentralNotice;
+
 class CentralNoticeCampaignLogPager extends ReverseChronologicalPager {
        var $viewPage, $special;
 
diff --git a/CentralNoticePager.php b/CentralNoticePager.php
index a32ef26..42650ab 100644
--- a/CentralNoticePager.php
+++ b/CentralNoticePager.php
@@ -1,5 +1,12 @@
 <?php
 
+use mediawiki\extensions\CentralNotice\Banner;
+use mediawiki\extensions\CentralNotice\BannerRenderer;
+use mediawiki\extensions\CentralNotice\Campaign;
+use mediawiki\extensions\CentralNotice\CNDatabase;
+
+use mediawiki\extensions\CentralNotice\special\CentralNotice;
+
 class CentralNoticePager extends TemplatePager {
        var $viewPage, $special;
        var $editable;
diff --git a/TemplatePager.php b/TemplatePager.php
index 01a3510..5663772 100644
--- a/TemplatePager.php
+++ b/TemplatePager.php
@@ -1,5 +1,9 @@
 <?php
 
+use mediawiki\extensions\CentralNotice\Banner;
+use mediawiki\extensions\CentralNotice\BannerRenderer;
+use mediawiki\extensions\CentralNotice\CNDatabase;
+
 /**
  * Provides pagination functionality for viewing banner lists in the 
CentralNotice admin interface.
  *
diff --git a/api/ApiCentralNoticeAllocations.php 
b/api/ApiCentralNoticeAllocations.php
index eea9e35..4a05e5f 100644
--- a/api/ApiCentralNoticeAllocations.php
+++ b/api/ApiCentralNoticeAllocations.php
@@ -1,4 +1,9 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\api;
+
+use \ApiBase;
+
+use mediawiki\extensions\CentralNotice\AllocationContext;
+use mediawiki\extensions\CentralNotice\BannerChooser;
 
 /**
  * Implementation of the query=centralnoticeallocations API call. This call 
returns the expected banner
diff --git a/api/ApiCentralNoticeLogs.php b/api/ApiCentralNoticeLogs.php
index cd913e4..2ca3504 100644
--- a/api/ApiCentralNoticeLogs.php
+++ b/api/ApiCentralNoticeLogs.php
@@ -1,4 +1,9 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\api;
+
+use \ApiBase;
+use \ApiQueryBase;
+
+use mediawiki\extensions\CentralNotice\Campaign;
 
 # TODO: bannerlogs
 
diff --git a/api/ApiCentralNoticeQueryCampaign.php 
b/api/ApiCentralNoticeQueryCampaign.php
index ca4adfb..0da3ca7 100644
--- a/api/ApiCentralNoticeQueryCampaign.php
+++ b/api/ApiCentralNoticeQueryCampaign.php
@@ -1,4 +1,8 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\api;
+
+use \ApiBase;
+
+use mediawiki\extensions\CentralNotice\Campaign;
 
 class ApiCentralNoticeQueryCampaign extends ApiBase {
 
diff --git a/includes/AllocationContext.php b/includes/AllocationContext.php
index 5544397..4ef1cee 100644
--- a/includes/AllocationContext.php
+++ b/includes/AllocationContext.php
@@ -1,4 +1,4 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
 
 /**
  * Provides the criteria needed to do allocation.
diff --git a/includes/Banner.php b/includes/Banner.php
index 12751da..f69f58b 100644
--- a/includes/Banner.php
+++ b/includes/Banner.php
@@ -1,4 +1,19 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
+
+use \Article;
+use \ContentHandler;
+use \FormatJson;
+use \MessageGroups;
+use \MessageIndexRebuildJob;
+use \MWException;
+use \ParserOptions;
+use \RequestContext;
+use \Revision;
+use \RevTag;
+use \Title;
+use \TranslateMetadata;
+use \WikiPage;
+
 /**
  * This file is part of the CentralNotice Extension to MediaWiki
  * https://www.mediawiki.org/wiki/Extension:CentralNotice
@@ -1446,7 +1461,7 @@
 
                foreach ( $endSettings as $key => $value ) {
                        if ( is_array( $value ) ) {
-                               $value = FormatJSON::encode( $value );
+                               $value = FormatJson::encode( $value );
                        }
 
                        $log[ 'tmplog_end_' . $key ] = $value;
diff --git a/includes/BannerChooser.php b/includes/BannerChooser.php
index 0f0dff5..4f77f85 100644
--- a/includes/BannerChooser.php
+++ b/includes/BannerChooser.php
@@ -1,4 +1,4 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
 
 class BannerChooser {
        const SLOTS_KEY = 'slots';
diff --git a/includes/BannerMessage.php b/includes/BannerMessage.php
index 277be8b..a8d146b 100644
--- a/includes/BannerMessage.php
+++ b/includes/BannerMessage.php
@@ -1,4 +1,9 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
+
+use \ContentHandler;
+use \MWException;
+use \Revision;
+use \Title;
 
 class BannerMessage {
        function __construct( $banner_name, $name ) {
diff --git a/includes/BannerMessageGroup.php b/includes/BannerMessageGroup.php
index f4dd166..6320955 100644
--- a/includes/BannerMessageGroup.php
+++ b/includes/BannerMessageGroup.php
@@ -1,4 +1,11 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
+
+use \AggregateMessageGroup;
+use \ContentHandler;
+use \MessageGroupBase;
+use \MessageGroups;
+use \Title;
+use \WikiPage;
 
 /**
  * Generate a group of message definitions for a banner so they can be 
translated
diff --git a/includes/BannerRenderer.php b/includes/BannerRenderer.php
index 0f00e81..1b7c66d 100644
--- a/includes/BannerRenderer.php
+++ b/includes/BannerRenderer.php
@@ -1,4 +1,12 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
+
+use \Html;
+use \IContextSource;
+use \JavaScriptMinifier;
+use \Linker;
+use \ResourceLoader;
+use \SpecialPage;
+use \Xml;
 
 class BannerRenderer {
        /**
diff --git a/includes/CNBannerPager.php b/includes/CNBannerPager.php
index abfef35..14c92f5 100644
--- a/includes/CNBannerPager.php
+++ b/includes/CNBannerPager.php
@@ -1,4 +1,8 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
+
+use \ReverseChronologicalPager;
+use \HTMLFormField;
+use \Xml;
 
 class CNBannerPager extends ReverseChronologicalPager {
 
@@ -55,7 +59,7 @@
                parent::getNavigationBar();
 
                $this->mNavigationBar = array(
-                       'class' => 'HTMLBannerPagerNavigation',
+                       'class' => 
'mediawiki\extensions\CentralNotice\HTMLBannerPagerNavigation',
                        'value' => $this->mNavigationBar
                );
 
@@ -127,7 +131,7 @@
 
                // Now do the banner
                $retval["cn-banner-list-element-$bannerId"] = array(
-                       'class' => 'HTMLCentralNoticeBanner',
+                       'class' => 
'mediawiki\extensions\CentralNotice\HtmlFormElements\HTMLCentralNoticeBanner',
                        'banner' => $bannerName,
                        'withlabel' => true,
                );
diff --git a/includes/CNDatabase.php b/includes/CNDatabase.php
index 9e5e905..89e14db 100644
--- a/includes/CNDatabase.php
+++ b/includes/CNDatabase.php
@@ -1,4 +1,4 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
 
 /**
  * Utility functions for CentralNotice that don't belong elsewhere
diff --git a/includes/CNDeviceTarget.php b/includes/CNDeviceTarget.php
index 82241b3..9b35dfc 100644
--- a/includes/CNDeviceTarget.php
+++ b/includes/CNDeviceTarget.php
@@ -1,4 +1,6 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
+
+use \MWException;
 
 /**
  * Manages device targeting for CentralNotice banners
diff --git a/includes/Campaign.php b/includes/Campaign.php
index ea585f2..95939c1 100644
--- a/includes/Campaign.php
+++ b/includes/Campaign.php
@@ -1,4 +1,9 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
+
+use \MWException;
+use \MWTimestamp;
+use \FormatJson;
+use \User;
 
 class Campaign {
 
diff --git a/includes/CampaignLog.php b/includes/CampaignLog.php
index 8600513..67384b0 100644
--- a/includes/CampaignLog.php
+++ b/includes/CampaignLog.php
@@ -1,4 +1,4 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
 
 class CampaignLog {
        static $basic_fields = array( 'start', 'end', 'enabled', 'preferred', 
'locked', 'geo', 'buckets' );
diff --git a/includes/GeoTarget.php b/includes/GeoTarget.php
index 7fb279c..6f24129 100644
--- a/includes/GeoTarget.php
+++ b/includes/GeoTarget.php
@@ -1,4 +1,6 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
+
+use \CountryNames;
 
 class GeoTarget {
        /**
diff --git a/includes/HtmlFormElements/HTMLCentralNoticeBanner.php 
b/includes/HtmlFormElements/HTMLCentralNoticeBanner.php
index 8cd2fdd..994805f 100644
--- a/includes/HtmlFormElements/HTMLCentralNoticeBanner.php
+++ b/includes/HtmlFormElements/HTMLCentralNoticeBanner.php
@@ -1,4 +1,13 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\HtmlFormElements;
+
+use \HTMLInfoField;
+use \Html;
+use \Linker;
+use \MWException;
+use \Sanitizer;
+use \SpecialPage;
+use \Xml;
+
 /**
  * This file is part of the CentralNotice Extension to MediaWiki
  * https://www.mediawiki.org/wiki/Extension:CentralNotice
diff --git a/includes/HtmlFormElements/HTMLCentralNoticeBannerMessage.php 
b/includes/HtmlFormElements/HTMLCentralNoticeBannerMessage.php
index 518ead7..ca37c45 100644
--- a/includes/HtmlFormElements/HTMLCentralNoticeBannerMessage.php
+++ b/includes/HtmlFormElements/HTMLCentralNoticeBannerMessage.php
@@ -1,4 +1,10 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\HtmlFormElements;
+
+use \HTMLTextAreaField;
+use \Xml;
+
+use mediawiki\extensions\CentralNotice\BannerMessage;
+
 /**
  * This file is part of the CentralNotice Extension to MediaWiki
  * https://www.mediawiki.org/wiki/Extension:CentralNotice
@@ -72,4 +78,4 @@
 
                return $html;
        }
-}
\ No newline at end of file
+}
diff --git a/includes/IBannerMixin.php b/includes/IBannerMixin.php
index e75828f..cb4297e 100644
--- a/includes/IBannerMixin.php
+++ b/includes/IBannerMixin.php
@@ -1,4 +1,4 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
 
 /**
  * Must be implemented by PHP banner mixins.
diff --git a/includes/MixinController.php b/includes/MixinController.php
index 34e33ee..02b9d93 100644
--- a/includes/MixinController.php
+++ b/includes/MixinController.php
@@ -1,4 +1,7 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice;
+
+use \IContextSource;
+use \MWException;
 
 class MixinController {
        protected $mixins;
diff --git a/patches/CNDatabasePatcher.php b/patches/CNDatabasePatcher.php
index 60a260d..3a72461 100644
--- a/patches/CNDatabasePatcher.php
+++ b/patches/CNDatabasePatcher.php
@@ -1,4 +1,4 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\patches;
 /**
  * @file
  * @license GNU General Public Licence 2.0 or later
diff --git a/special/SpecialBannerAllocation.php 
b/special/SpecialBannerAllocation.php
index 9b70f87..d5fea36 100644
--- a/special/SpecialBannerAllocation.php
+++ b/special/SpecialBannerAllocation.php
@@ -1,4 +1,16 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \Html;
+use \Language;
+use \Linker;
+use \SpecialPage;
+use \Xml;
+
+use mediawiki\extensions\CentralNotice\CNDeviceTarget;
+use mediawiki\extensions\CentralNotice\GeoTarget;
+
+use mediawiki\extensions\CentralNotice\api\ApiCentralNoticeAllocations;
+
 /**
  * Wikimedia Foundation
  *
diff --git a/special/SpecialBannerLoader.php b/special/SpecialBannerLoader.php
index 5cf265a..4382f5d 100644
--- a/special/SpecialBannerLoader.php
+++ b/special/SpecialBannerLoader.php
@@ -1,4 +1,17 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \FormatJson;
+use \MWException;
+use \UnlistedSpecialPage;
+
+use mediawiki\extensions\CentralNotice\AllocationContext;
+use mediawiki\extensions\CentralNotice\Banner;
+use mediawiki\extensions\CentralNotice\BannerRenderer;
+use mediawiki\extensions\CentralNotice\Campaign;
+use mediawiki\extensions\CentralNotice\CampaignExistenceException;
+
+use mediawiki\extensions\CentralNotice\api\ApiCentralNoticeAllocations;
+
 /**
  * Renders banner contents as jsonp.
  */
diff --git a/special/SpecialBannerRandom.php b/special/SpecialBannerRandom.php
index 5a5d3e7..757020f 100644
--- a/special/SpecialBannerRandom.php
+++ b/special/SpecialBannerRandom.php
@@ -1,4 +1,9 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \UnlistedSpecialPage;
+
+use mediawiki\extensions\CentralNotice\BannerChooser;
+
 /**
  * Renders banner contents as jsonp, making a random selection from a
  * predetermined number of slots.
diff --git a/special/SpecialCNReporter.php b/special/SpecialCNReporter.php
index fec7904..d49a47a 100644
--- a/special/SpecialCNReporter.php
+++ b/special/SpecialCNReporter.php
@@ -1,4 +1,7 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \UnlistedSpecialPage;
+
 /**
  * Null endpoint.  This is a workaround to simplify analytics.
  */
diff --git a/special/SpecialCentralNotice.php b/special/SpecialCentralNotice.php
index befcdac..69fa6b6 100644
--- a/special/SpecialCentralNotice.php
+++ b/special/SpecialCentralNotice.php
@@ -1,4 +1,21 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \Html;
+use \Language;
+use \Linker;
+use \Skin;
+use \SpecialPage;
+use \SpecialPageFactory;
+use \Xml;
+
+use \CentralNoticePager;
+
+use mediawiki\extensions\CentralNotice\Banner;
+use mediawiki\extensions\CentralNotice\BannerRenderer;
+use mediawiki\extensions\CentralNotice\Campaign;
+use mediawiki\extensions\CentralNotice\CampaignExistenceException;
+use mediawiki\extensions\CentralNotice\CNDatabase;
+use mediawiki\extensions\CentralNotice\GeoTarget;
 
 class CentralNotice extends SpecialPage {
        const LOW_PRIORITY = 0;
@@ -274,7 +291,7 @@
 
                        $options = ''; // The HTML for the select list options
                        foreach ( $priorities as $key => $label ) {
-                               $options .= XML::option( $label, $key, 
$priorityValue == $key );
+                               $options .= Xml::option( $label, $key, 
$priorityValue == $key );
                        }
 
                        $selectAttribs = array(
diff --git a/special/SpecialCentralNoticeBanners.php 
b/special/SpecialCentralNoticeBanners.php
index a958495..e234d42 100644
--- a/special/SpecialCentralNoticeBanners.php
+++ b/special/SpecialCentralNoticeBanners.php
@@ -1,4 +1,26 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \DerivativeContext;
+use \ErrorPageError;
+use \Html;
+use \HTMLButtonField;
+use \HTMLCheckField;
+use \HTMLForm;
+use \HTMLInfoField;
+use \HTMLMultiSelectField;
+use \HTMLSelectField;
+use \HTMLTextField;
+use \Language;
+use \Linker;
+use \SpecialPage;
+use \Xml;
+
+use mediawiki\extensions\CentralNotice\AllocationContext;
+use mediawiki\extensions\CentralNotice\Banner;
+use mediawiki\extensions\CentralNotice\BannerMessageGroup;
+use mediawiki\extensions\CentralNotice\BannerRenderer;
+use mediawiki\extensions\CentralNotice\CNBannerPager;
+use mediawiki\extensions\CentralNotice\CNDeviceTarget;
 
 /**
  * Special page for management of CentralNotice banners
@@ -351,7 +373,7 @@
                /* --- Banner Preview Section --- */
                $formDescriptor[ 'preview' ] = array(
                        'section' => 'preview',
-                       'class' => 'HTMLCentralNoticeBanner',
+                       'class' => 
'mediawiki\extensions\CentralNotice\HtmlFormElements\HTMLCentralNoticeBanner',
                        'banner' => $this->bannerName,
                        'language' => $this->bannerLanguagePreview,
                );
@@ -463,7 +485,7 @@
 
                                $formDescriptor[ "message-$messageName" ] = 
array(
                                        'section' => 'banner-messages',
-                                       'class' => 
'HTMLCentralNoticeBannerMessage',
+                                       'class' => 
'mediawiki\extensions\CentralNotice\HtmlFormElements\HTMLCentralNoticeBannerMessage',
                                        'label-raw' => $label,
                                        'banner' => $this->bannerName,
                                        'message' => $messageName,
diff --git a/special/SpecialCentralNoticeLogs.php 
b/special/SpecialCentralNoticeLogs.php
index a17f404..a9523b9 100644
--- a/special/SpecialCentralNoticeLogs.php
+++ b/special/SpecialCentralNoticeLogs.php
@@ -1,4 +1,12 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \Html;
+use \SpecialPage;
+use \Xml;
+
+use \CentralNoticeBannerLogPager;
+use \CentralNoticeCampaignLogPager;
+use \CentralNoticePageLogPager;
 
 class SpecialCentralNoticeLogs extends CentralNotice {
        public $logType = 'campaignsettings';
diff --git a/special/SpecialGlobalAllocation.php 
b/special/SpecialGlobalAllocation.php
index 71f0585..e7f7ad3 100644
--- a/special/SpecialGlobalAllocation.php
+++ b/special/SpecialGlobalAllocation.php
@@ -1,4 +1,18 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \Html;
+use \Language;
+use \Linker;
+use \SpecialPage;
+use \Xml;
+
+use mediawiki\extensions\CentralNotice\AllocationContext;
+use mediawiki\extensions\CentralNotice\BannerChooser;
+use mediawiki\extensions\CentralNotice\Campaign;
+use mediawiki\extensions\CentralNotice\GeoTarget;
+
+use mediawiki\extensions\CentralNotice\api\ApiCentralNoticeAllocations;
+
 /**
  * Wikimedia Foundation
  *
diff --git a/special/SpecialHideBanners.php b/special/SpecialHideBanners.php
index f947876..0a9b8af 100644
--- a/special/SpecialHideBanners.php
+++ b/special/SpecialHideBanners.php
@@ -1,4 +1,9 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \CentralAuthUser;
+use \UnlistedSpecialPage;
+
+use mediawiki\extensions\CentralNotice\Banner;
 
 /**
  * Unlisted Special Page which sets a cookie for hiding banners across all 
languages of a project.
diff --git a/special/SpecialNoticeTemplate.php 
b/special/SpecialNoticeTemplate.php
index b9b6595..c845487 100644
--- a/special/SpecialNoticeTemplate.php
+++ b/special/SpecialNoticeTemplate.php
@@ -1,4 +1,7 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \SpecialPage;
+use \Title;
 
 class SpecialNoticeTemplate extends CentralNotice {
        var $editable, $centralNoticeError;
diff --git a/special/SpecialRecordImpression.php 
b/special/SpecialRecordImpression.php
index ca0f4e0..35344cd 100644
--- a/special/SpecialRecordImpression.php
+++ b/special/SpecialRecordImpression.php
@@ -1,4 +1,7 @@
-<?php
+<?php namespace mediawiki\extensions\CentralNotice\special;
+
+use \UnlistedSpecialPage;
+
 /**
  * Null endpoint.  This is a workaround to simplify analytics.
  */
diff --git a/tests/AllocationsTest.php b/tests/AllocationsTest.php
index 4fbaddd..f6c9993 100644
--- a/tests/AllocationsTest.php
+++ b/tests/AllocationsTest.php
@@ -1,5 +1,10 @@
 <?php
 
+use mediawiki\extensions\CentralNotice\AllocationContext;
+use mediawiki\extensions\CentralNotice\BannerChooser;
+
+use mediawiki\extensions\CentralNotice\special\CentralNotice;
+
 require_once 'CentralNoticeTestFixtures.php';
 require_once 'ComparisonUtil.php';
 
diff --git a/tests/BannerTest.php b/tests/BannerTest.php
index c854773..744e7bd 100644
--- a/tests/BannerTest.php
+++ b/tests/BannerTest.php
@@ -1,5 +1,7 @@
 <?php
 
+use mediawiki\extensions\CentralNotice\Banner;
+
 /**
  * @group Fundraising
  * @group Database
diff --git a/tests/CentralNoticeTest.php b/tests/CentralNoticeTest.php
index 155a502..844cdaf 100644
--- a/tests/CentralNoticeTest.php
+++ b/tests/CentralNoticeTest.php
@@ -1,5 +1,11 @@
 <?php
 
+use mediawiki\extensions\CentralNotice\Banner;
+use mediawiki\extensions\CentralNotice\Campaign;
+
+use mediawiki\extensions\CentralNotice\special\CentralNotice;
+use mediawiki\extensions\CentralNotice\special\SpecialNoticeTemplate;
+
 /**
  * @group Fundraising
  * @group Database
diff --git a/tests/CentralNoticeTestFixtures.php 
b/tests/CentralNoticeTestFixtures.php
index 77ace7a..e402d83 100644
--- a/tests/CentralNoticeTestFixtures.php
+++ b/tests/CentralNoticeTestFixtures.php
@@ -1,5 +1,13 @@
 <?php
 
+use mediawiki\extensions\CentralNotice\Banner;
+use mediawiki\extensions\CentralNotice\Campaign;
+use mediawiki\extensions\CentralNotice\CNDeviceTarget;
+
+use mediawiki\extensions\CentralNotice\api\ApiCentralNoticeAllocations;
+
+use mediawiki\extensions\CentralNotice\special\CentralNotice;
+
 class CentralNoticeTestFixtures {
        public $spec = array();
        protected $user;
diff --git a/tests/HistoryTest.php b/tests/HistoryTest.php
index 504e9a6..6cdeff7 100644
--- a/tests/HistoryTest.php
+++ b/tests/HistoryTest.php
@@ -1,5 +1,7 @@
 <?php
 
+use mediawiki\extensions\CentralNotice\Campaign;
+
 require_once 'CentralNoticeTestFixtures.php';
 
 /**

-- 
To view, visit https://gerrit.wikimedia.org/r/92162
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1e277b1f9cc72af76cb5e9f619f8828547812c30
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CentralNotice
Gerrit-Branch: master
Gerrit-Owner: Adamw <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to