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
