mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
synced 2024-09-23 10:22:05 +00:00
Namespace Echo Formatters
Change-Id: I5bf398cdb76a577543f6526ac1bee4a73897103d
This commit is contained in:
parent
bd062137bb
commit
7619a76877
|
@ -801,10 +801,10 @@
|
|||
"category": "system-noemail",
|
||||
"group": "positive",
|
||||
"section": "message",
|
||||
"presentation-model": "EchoWelcomePresentationModel"
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoWelcomePresentationModel"
|
||||
},
|
||||
"edit-user-talk": {
|
||||
"presentation-model": "EchoEditUserTalkPresentationModel",
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoEditUserTalkPresentationModel",
|
||||
"user-locators": [
|
||||
"EchoUserLocator::locateTalkPageOwner"
|
||||
],
|
||||
|
@ -819,7 +819,7 @@
|
|||
"immediate": true
|
||||
},
|
||||
"reverted": {
|
||||
"presentation-model": "EchoRevertedPresentationModel",
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoRevertedPresentationModel",
|
||||
"user-locators": [
|
||||
[
|
||||
"EchoUserLocator::locateFromEventExtra",
|
||||
|
@ -833,7 +833,7 @@
|
|||
"section": "alert"
|
||||
},
|
||||
"page-linked": {
|
||||
"presentation-model": "EchoPageLinkedPresentationModel",
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoPageLinkedPresentationModel",
|
||||
"user-locators": [
|
||||
"EchoUserLocator::locateArticleCreator"
|
||||
],
|
||||
|
@ -853,7 +853,7 @@
|
|||
"category": "minor-watchlist",
|
||||
"group": "interactive",
|
||||
"section": "message",
|
||||
"presentation-model": "EchoWatchlistChangePresentationModel",
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoWatchlistChangePresentationModel",
|
||||
"bundle": {
|
||||
"web": true,
|
||||
"email": true,
|
||||
|
@ -867,7 +867,7 @@
|
|||
"section": "message",
|
||||
"category": "watchlist",
|
||||
"group": "interactive",
|
||||
"presentation-model": "EchoWatchlistChangePresentationModel",
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoWatchlistChangePresentationModel",
|
||||
"bundle": {
|
||||
"web": true,
|
||||
"email": true,
|
||||
|
@ -886,7 +886,7 @@
|
|||
"category": "mention",
|
||||
"group": "interactive",
|
||||
"section": "alert",
|
||||
"presentation-model": "EchoMentionPresentationModel"
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionPresentationModel"
|
||||
},
|
||||
"mention-summary": {
|
||||
"user-locators": [
|
||||
|
@ -900,7 +900,7 @@
|
|||
"category": "mention",
|
||||
"group": "interactive",
|
||||
"section": "alert",
|
||||
"presentation-model": "EchoMentionInSummaryPresentationModel"
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionInSummaryPresentationModel"
|
||||
},
|
||||
"mention-failure": {
|
||||
"user-locators": [
|
||||
|
@ -916,7 +916,7 @@
|
|||
},
|
||||
"group": "negative",
|
||||
"section": "alert",
|
||||
"presentation-model": "EchoMentionStatusPresentationModel"
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionStatusPresentationModel"
|
||||
},
|
||||
"mention-failure-too-many": {
|
||||
"user-locators": [
|
||||
|
@ -928,7 +928,7 @@
|
|||
"category": "mention-failure",
|
||||
"group": "negative",
|
||||
"section": "alert",
|
||||
"presentation-model": "EchoMentionStatusPresentationModel"
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionStatusPresentationModel"
|
||||
},
|
||||
"mention-success": {
|
||||
"user-locators": [
|
||||
|
@ -944,7 +944,7 @@
|
|||
},
|
||||
"group": "positive",
|
||||
"section": "message",
|
||||
"presentation-model": "EchoMentionStatusPresentationModel"
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionStatusPresentationModel"
|
||||
},
|
||||
"user-rights": {
|
||||
"user-locators": [
|
||||
|
@ -958,10 +958,10 @@
|
|||
"category": "user-rights",
|
||||
"group": "neutral",
|
||||
"section": "alert",
|
||||
"presentation-model": "EchoUserRightsPresentationModel"
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoUserRightsPresentationModel"
|
||||
},
|
||||
"emailuser": {
|
||||
"presentation-model": "EchoEmailUserPresentationModel",
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoEmailUserPresentationModel",
|
||||
"user-locators": [
|
||||
[
|
||||
"EchoUserLocator::locateFromEventExtra",
|
||||
|
@ -975,7 +975,7 @@
|
|||
"section": "alert"
|
||||
},
|
||||
"foreign": {
|
||||
"presentation-model": "EchoForeignPresentationModel",
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoForeignPresentationModel",
|
||||
"user-locators": [
|
||||
"EchoUserLocator::locateEventAgent"
|
||||
],
|
||||
|
@ -990,7 +990,7 @@
|
|||
"canNotifyAgent": true,
|
||||
"category": "thank-you-edit",
|
||||
"group": "positive",
|
||||
"presentation-model": "EchoEditThresholdPresentationModel",
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoEditThresholdPresentationModel",
|
||||
"section": "message"
|
||||
},
|
||||
"article-reminder": {
|
||||
|
@ -1000,7 +1000,7 @@
|
|||
"canNotifyAgent": true,
|
||||
"category": "article-reminder",
|
||||
"group": "positive",
|
||||
"presentation-model": "EchoArticleReminderPresentationModel",
|
||||
"presentation-model": "MediaWiki\\Extension\\Notifications\\Formatters\\EchoArticleReminderPresentationModel",
|
||||
"section": "message"
|
||||
}
|
||||
},
|
||||
|
@ -1086,30 +1086,22 @@
|
|||
"EchoDiffGroup": "includes/EchoDiffGroup.php",
|
||||
"EchoDiffParser": "includes/EchoDiffParser.php",
|
||||
"EchoDiscussionParser": "includes/DiscussionParser.php",
|
||||
"EchoEditThresholdPresentationModel": "includes/formatters/EditThresholdPresentationModel.php",
|
||||
"EchoEditUserTalkPresentationModel": "includes/formatters/EditUserTalkPresentationModel.php",
|
||||
"EchoArticleReminderPresentationModel": "includes/formatters/ArticleReminderPresentationModel.php",
|
||||
"EchoEditUserTalkPresentationModel": "includes/Formatters/EchoEditUserTalkPresentationModel.php",
|
||||
"MediaWiki\\Extension\\Notifications\\Formatters\\EchoEditUserTalkPresentationModel": "includes/Formatters/EchoEditUserTalkPresentationModel.php",
|
||||
"EchoEmailFormat": "includes/EmailFormat.php",
|
||||
"EchoEmailFrequency": "includes/EmailFrequency.php",
|
||||
"EchoEmailUserPresentationModel": "includes/formatters/EmailUserPresentationModel.php",
|
||||
"EchoEvent": "includes/model/Event.php",
|
||||
"EchoEventDigestFormatter": "includes/formatters/EchoEventDigestFormatter.php",
|
||||
"EchoEventFormatter": "includes/formatters/EchoEventFormatter.php",
|
||||
"EchoEventMapper": "includes/mapper/EventMapper.php",
|
||||
"EchoEventPresentationModel": "includes/formatters/EventPresentationModel.php",
|
||||
"EchoEventPresentationModel": "includes/Formatters/EchoEventPresentationModel.php",
|
||||
"MediaWiki\\Extension\\Notifications\\Formatters\\EchoEventPresentationModel": "includes/Formatters/EchoEventPresentationModel.php",
|
||||
"EchoFilteredSequentialIterator": "includes/iterator/FilteredSequentialIterator.php",
|
||||
"EchoFlyoutFormatter": "includes/formatters/EchoFlyoutFormatter.php",
|
||||
"EchoForeignNotifications": "includes/ForeignNotifications.php",
|
||||
"EchoForeignPresentationModel": "includes/formatters/EchoForeignPresentationModel.php",
|
||||
"EchoForeignWikiRequest": "includes/ForeignWikiRequest.php",
|
||||
"EchoHtmlDigestEmailFormatter": "includes/formatters/EchoHtmlDigestEmailFormatter.php",
|
||||
"EchoHtmlEmailFormatter": "includes/formatters/EchoHtmlEmailFormatter.php",
|
||||
"EchoIcon": "includes/formatters/EchoIcon.php",
|
||||
"EchoLocalCache": "includes/cache/LocalCache.php",
|
||||
"EchoMentionInSummaryPresentationModel": "includes/formatters/MentionInSummaryPresentationModel.php",
|
||||
"EchoMentionPresentationModel": "includes/formatters/MentionPresentationModel.php",
|
||||
"EchoMentionStatusPresentationModel": "includes/formatters/MentionStatusPresentationModel.php",
|
||||
"EchoModelFormatter": "includes/formatters/EchoModelFormatter.php",
|
||||
"EchoMentionPresentationModel": "includes/Formatters/EchoMentionPresentationModel.php",
|
||||
"MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionPresentationModel": "includes/Formatters/EchoMentionPresentationModel.php",
|
||||
"EchoMentionStatusPresentationModel": "includes/Formatters/EchoMentionStatusPresentationModel.php",
|
||||
"MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionStatusPresentationModel": "includes/Formatters/EchoMentionStatusPresentationModel.php",
|
||||
"EchoModerationController": "includes/controller/ModerationController.php",
|
||||
"EchoMultipleIterator": "includes/iterator/MultipleIterator.php",
|
||||
"EchoNotRecursiveIterator": "includes/iterator/NotRecursiveIterator.php",
|
||||
|
@ -1120,11 +1112,8 @@
|
|||
"EchoNotificationMapper": "includes/mapper/NotificationMapper.php",
|
||||
"EchoNotifier": "includes/Notifier.php",
|
||||
"EchoOnWikiList": "includes/EchoOnWikiList.php",
|
||||
"EchoPageLinkedPresentationModel": "includes/formatters/PageLinkedPresentationModel.php",
|
||||
"EchoPlainTextDigestEmailFormatter": "includes/formatters/EchoPlainTextDigestEmailFormatter.php",
|
||||
"EchoPlainTextEmailFormatter": "includes/formatters/EchoPlainTextEmailFormatter.php",
|
||||
"EchoPresentationModelSection": "includes/formatters/PresentationModelSection.php",
|
||||
"EchoRevertedPresentationModel": "includes/formatters/RevertedPresentationModel.php",
|
||||
"EchoPresentationModelSection": "includes/Formatters/EchoPresentationModelSection.php",
|
||||
"MediaWiki\\Extension\\Notifications\\Formatters\\EchoPresentationModelSection": "includes/Formatters/EchoPresentationModelSection.php",
|
||||
"EchoRevisionLocalCache": "includes/cache/RevisionLocalCache.php",
|
||||
"EchoSeenTime": "includes/SeenTime.php",
|
||||
"EchoServices": "includes/EchoServices.php",
|
||||
|
@ -1136,9 +1125,6 @@
|
|||
"EchoUnreadWikis": "includes/UnreadWikis.php",
|
||||
"EchoUserLocator": "includes/UserLocator.php",
|
||||
"EchoUserNotificationGateway": "includes/gateway/UserNotificationGateway.php",
|
||||
"EchoUserRightsPresentationModel": "includes/formatters/UserRightsPresentationModel.php",
|
||||
"EchoWelcomePresentationModel": "includes/formatters/WelcomePresentationModel.php",
|
||||
"EchoWatchlistChangePresentationModel": "includes/formatters/WatchlistChangePresentationModel.php",
|
||||
"GenerateSampleNotifications": "maintenance/generateSampleNotifications.php",
|
||||
"MWEchoDbFactory": "includes/EchoDbFactory.php",
|
||||
"MWEchoEmailBatch": "includes/EmailBatch.php",
|
||||
|
@ -1152,7 +1138,6 @@
|
|||
"ResourceLoaderEchoImageModule": "includes/ResourceLoaderEchoImageModule.php",
|
||||
"SpecialDisplayNotificationsConfiguration": "includes/special/SpecialDisplayNotificationsConfiguration.php",
|
||||
"SpecialNotifications": "includes/special/SpecialNotifications.php",
|
||||
"SpecialNotificationsFormatter": "includes/formatters/SpecialNotificationsFormatter.php",
|
||||
"SpecialNotificationsMarkRead": "includes/special/SpecialNotificationsMarkRead.php",
|
||||
"UpdateEchoSchemaForSuppression": "maintenance/updateEchoSchemaForSuppression.php",
|
||||
"EchoUpdatePerUserBlacklist": "maintenance/updatePerUserBlacklist.php",
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?php
|
||||
|
||||
use MediaWiki\Extension\Notifications\Formatters\EchoFlyoutFormatter;
|
||||
use MediaWiki\Extension\Notifications\Formatters\EchoModelFormatter;
|
||||
use MediaWiki\Extension\Notifications\Formatters\SpecialNotificationsFormatter;
|
||||
use MediaWiki\Revision\RevisionRecord;
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
use MediaWiki\Extension\Notifications\Formatters\EchoHtmlDigestEmailFormatter;
|
||||
use MediaWiki\Extension\Notifications\Formatters\EchoPlainTextDigestEmailFormatter;
|
||||
use MediaWiki\MediaWikiServices;
|
||||
use MediaWiki\User\UserOptionsManager;
|
||||
use Wikimedia\Rdbms\IResultWrapper;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
/**
|
||||
* Presenter for 'article-reminder' notification
|
||||
*
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
class EchoEditThresholdPresentationModel extends EchoEventPresentationModel {
|
||||
|
||||
public function getIconType() {
|
|
@ -1,6 +1,11 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoEvent;
|
||||
use Language;
|
||||
use MediaWiki\MediaWikiServices;
|
||||
use User;
|
||||
|
||||
class EchoEditUserTalkPresentationModel extends EchoEventPresentationModel {
|
||||
|
||||
|
@ -118,3 +123,5 @@ class EchoEditUserTalkPresentationModel extends EchoEventPresentationModel {
|
|||
return 'notification-edit-talk-page-email-subject2';
|
||||
}
|
||||
}
|
||||
|
||||
class_alias( EchoEditUserTalkPresentationModel::class, 'EchoEditUserTalkPresentationModel' );
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
class EchoEmailUserPresentationModel extends EchoEventPresentationModel {
|
||||
|
||||
public function getIconType() {
|
|
@ -1,5 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoEvent;
|
||||
use Language;
|
||||
use Message;
|
||||
use User;
|
||||
|
||||
/**
|
||||
* Abstract class for formatters that process multiple events.
|
||||
*
|
|
@ -1,6 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoEvent;
|
||||
use Language;
|
||||
use MediaWiki\Logger\LoggerFactory;
|
||||
use Message;
|
||||
use User;
|
||||
|
||||
/**
|
||||
* Abstract class that each "formatter" should implement.
|
|
@ -1,7 +1,21 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoEvent;
|
||||
use EchoNotificationController;
|
||||
use InvalidArgumentException;
|
||||
use JsonSerializable;
|
||||
use Language;
|
||||
use MediaWiki\MediaWikiServices;
|
||||
use MediaWiki\Revision\RevisionRecord;
|
||||
use Message;
|
||||
use MessageLocalizer;
|
||||
use MessageSpecifier;
|
||||
use SpecialPage;
|
||||
use Title;
|
||||
use User;
|
||||
use WikiMap;
|
||||
use Wikimedia\Timestamp\TimestampException;
|
||||
|
||||
/**
|
||||
|
@ -113,7 +127,6 @@ abstract class EchoEventPresentationModel implements JsonSerializable, MessageLo
|
|||
global $wgEchoNotifications;
|
||||
// @todo don't depend upon globals
|
||||
|
||||
// @phan-suppress-next-line PhanTypeArraySuspiciousNullable
|
||||
$class = $wgEchoNotifications[$event->getType()]['presentation-model'];
|
||||
return new $class( $event, $language, $user, $distributionType );
|
||||
}
|
||||
|
@ -735,3 +748,5 @@ abstract class EchoEventPresentationModel implements JsonSerializable, MessageLo
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
class_alias( EchoEventPresentationModel::class, 'EchoEventPresentationModel' );
|
|
@ -1,9 +1,15 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use Html;
|
||||
use MWTimestamp;
|
||||
use Xml;
|
||||
|
||||
/**
|
||||
* A formatter for the notification flyout popup
|
||||
*
|
||||
* Ideally we wouldn't need this and we'd just pass the
|
||||
* Ideally we wouldn't need this, and we'd just pass the
|
||||
* presentation model to the client, but we need to continue
|
||||
* sending HTML for backwards compatibility.
|
||||
*/
|
|
@ -1,5 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoForeignNotifications;
|
||||
|
||||
class EchoForeignPresentationModel extends EchoEventPresentationModel {
|
||||
public function getIconType() {
|
||||
return 'global';
|
|
@ -1,5 +1,13 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use Html;
|
||||
use Language;
|
||||
use Sanitizer;
|
||||
use SpecialPage;
|
||||
use User;
|
||||
|
||||
class EchoHtmlDigestEmailFormatter extends EchoEventDigestFormatter {
|
||||
|
||||
/**
|
||||
|
@ -61,7 +69,7 @@ class EchoHtmlDigestEmailFormatter extends EchoEventDigestFormatter {
|
|||
return <<< EOF
|
||||
<html><head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<style>
|
||||
@media only screen and (max-width: 480px){
|
||||
table[id="email-container"]{max-width:600px !important; width:100% !important;}
|
|
@ -1,5 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use Html;
|
||||
use Language;
|
||||
use Sanitizer;
|
||||
use SpecialPage;
|
||||
|
||||
class EchoHtmlEmailFormatter extends EchoEventFormatter {
|
||||
|
||||
public const PRIMARY_LINK_STYLE =
|
||||
|
@ -71,7 +78,7 @@ class EchoHtmlEmailFormatter extends EchoEventFormatter {
|
|||
return <<< EOF
|
||||
<html><head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<style>
|
||||
@media only screen and (max-width: 480px){
|
||||
table[id="email-container"]{max-width:600px !important; width:100% !important;}
|
|
@ -1,5 +1,10 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use UnexpectedValueException;
|
||||
|
||||
class EchoIcon {
|
||||
|
||||
/**
|
|
@ -1,6 +1,10 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use Linker;
|
||||
use MediaWiki\Revision\RevisionRecord;
|
||||
use Sanitizer;
|
||||
|
||||
class EchoMentionInSummaryPresentationModel extends EchoEventPresentationModel {
|
||||
|
|
@ -1,6 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoDiscussionParser;
|
||||
use EchoEvent;
|
||||
use Language;
|
||||
use MediaWiki\Revision\RevisionRecord;
|
||||
use User;
|
||||
|
||||
class EchoMentionPresentationModel extends EchoEventPresentationModel {
|
||||
|
||||
|
@ -130,3 +136,5 @@ class EchoMentionPresentationModel extends EchoEventPresentationModel {
|
|||
return 'notification-mention-email-subject';
|
||||
}
|
||||
}
|
||||
|
||||
class_alias( EchoMentionPresentationModel::class, 'EchoMentionPresentationModel' );
|
|
@ -1,5 +1,11 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoEvent;
|
||||
use Language;
|
||||
use User;
|
||||
|
||||
/**
|
||||
* Presenter for 'mention-failure' and 'mention-success' notifications
|
||||
*
|
||||
|
@ -152,3 +158,5 @@ class EchoMentionStatusPresentationModel extends EchoEventPresentationModel {
|
|||
return $successCount > 0 && $failCount > 0;
|
||||
}
|
||||
}
|
||||
|
||||
class_alias( EchoMentionStatusPresentationModel::class, 'EchoMentionStatusPresentationModel' );
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
/**
|
||||
* A formatter for the notification flyout popup. Just the bare data needed to
|
||||
* render everything client-side.
|
|
@ -1,6 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoEvent;
|
||||
use EchoNotificationController;
|
||||
use MediaWiki\MediaWikiServices;
|
||||
use SpecialPage;
|
||||
use Title;
|
||||
|
||||
class EchoPageLinkedPresentationModel extends EchoEventPresentationModel {
|
||||
|
|
@ -1,5 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use Language;
|
||||
use Sanitizer;
|
||||
use SpecialPage;
|
||||
use User;
|
||||
|
||||
class EchoPlainTextDigestEmailFormatter extends EchoEventDigestFormatter {
|
||||
|
||||
/**
|
|
@ -1,5 +1,10 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use Sanitizer;
|
||||
use SpecialPage;
|
||||
|
||||
class EchoPlainTextEmailFormatter extends EchoEventFormatter {
|
||||
protected function formatModel( EchoEventPresentationModel $model ) {
|
||||
$subject = Sanitizer::stripAllTags( $model->getSubjectMessage()->parse() );
|
|
@ -1,6 +1,15 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoDiscussionParser;
|
||||
use EchoEvent;
|
||||
use Language;
|
||||
use MediaWiki\Revision\RevisionRecord;
|
||||
use MWException;
|
||||
use Parser;
|
||||
use Title;
|
||||
use User;
|
||||
|
||||
/**
|
||||
* Component that represents a section of a page to be used from EchoEventPresentationModel subclass.
|
||||
|
@ -134,3 +143,5 @@ class EchoPresentationModelSection {
|
|||
) );
|
||||
}
|
||||
}
|
||||
|
||||
class_alias( EchoPresentationModelSection::class, 'EchoPresentationModelSection' );
|
|
@ -1,5 +1,8 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoDiscussionParser;
|
||||
use MediaWiki\Revision\RevisionRecord;
|
||||
|
||||
class EchoRevertedPresentationModel extends EchoEventPresentationModel {
|
|
@ -1,5 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use EchoDiscussionParser;
|
||||
use RawMessage;
|
||||
use SpecialPage;
|
||||
use User;
|
||||
|
||||
/**
|
||||
* Formatter for 'user-rights' notifications
|
||||
*/
|
|
@ -1,5 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use SpecialPage;
|
||||
|
||||
class EchoWatchlistChangePresentationModel extends EchoEventPresentationModel {
|
||||
|
||||
public function getIconType() {
|
|
@ -1,5 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use Title;
|
||||
|
||||
class EchoWelcomePresentationModel extends EchoEventPresentationModel {
|
||||
|
||||
public function getIconType() {
|
|
@ -1,5 +1,14 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Extension\Notifications\Formatters;
|
||||
|
||||
use Html;
|
||||
use MWTimestamp;
|
||||
use OOUI\IconWidget;
|
||||
use OutputPage;
|
||||
use SpecialNotificationsMarkRead;
|
||||
use Xml;
|
||||
|
||||
/**
|
||||
* A formatter for Special:Notifications
|
||||
*
|
||||
|
@ -21,7 +30,7 @@ class SpecialNotificationsFormatter extends EchoEventFormatter {
|
|||
|
||||
OutputPage::setupOOUI();
|
||||
|
||||
$markAsReadIcon = new OOUI\IconWidget( [
|
||||
$markAsReadIcon = new IconWidget( [
|
||||
'icon' => 'close',
|
||||
'title' => wfMessage( 'echo-notification-markasread' )->text(),
|
||||
] );
|
|
@ -13,7 +13,6 @@ use EchoEmailFormat;
|
|||
use EchoEmailFrequency;
|
||||
use EchoEvent;
|
||||
use EchoEventMapper;
|
||||
use EchoEventPresentationModel;
|
||||
use EchoModerationController;
|
||||
use EchoNotification;
|
||||
use EchoNotificationController;
|
||||
|
@ -30,6 +29,7 @@ use MailAddress;
|
|||
use MediaWiki\Api\Hook\ApiMain__moduleManagerHook;
|
||||
use MediaWiki\Auth\Hook\LocalUserCreatedHook;
|
||||
use MediaWiki\DAO\WikiAwareEntity;
|
||||
use MediaWiki\Extension\Notifications\Formatters\EchoEventPresentationModel;
|
||||
use MediaWiki\Extension\Notifications\Push\Api\ApiEchoPushSubscriptions;
|
||||
use MediaWiki\Hook\AbortTalkPageEmailNotificationHook;
|
||||
use MediaWiki\Hook\BeforePageDisplayHook;
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
use MediaWiki\Extension\Notifications\Formatters\EchoHtmlEmailFormatter;
|
||||
use MediaWiki\Extension\Notifications\Formatters\EchoPlainTextEmailFormatter;
|
||||
use MediaWiki\MediaWikiServices;
|
||||
|
||||
// @todo Fill in
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<?php
|
||||
|
||||
use MediaWiki\Extension\Notifications\Formatters\EchoPresentationModelSection;
|
||||
|
||||
/**
|
||||
* @covers \MediaWiki\Extension\Notifications\Formatters\EchoPresentationModelSection
|
||||
* @group Database
|
||||
*/
|
||||
class EchoPresentationModelSectionTest extends MediaWikiIntegrationTestCase {
|
||||
|
||||
/**
|
||||
* @covers \EchoPresentationModelSection::getTruncatedSectionTitle
|
||||
*/
|
||||
public function testGetTruncatedSectionTitle_short() {
|
||||
$lang = Language::factory( 'en' );
|
||||
$section = new EchoPresentationModelSection(
|
||||
|
@ -19,9 +19,6 @@ class EchoPresentationModelSectionTest extends MediaWikiIntegrationTestCase {
|
|||
$this->assertEquals( $lang->embedBidi( 'asdf' ), $section->getTruncatedSectionTitle() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \EchoPresentationModelSection::getTruncatedSectionTitle
|
||||
*/
|
||||
public function testGetTruncatedSectionTitle_long() {
|
||||
$lang = Language::factory( 'en' );
|
||||
$section = new EchoPresentationModelSection(
|
||||
|
@ -36,9 +33,6 @@ class EchoPresentationModelSectionTest extends MediaWikiIntegrationTestCase {
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \EchoPresentationModelSection::getTitleWithSection
|
||||
*/
|
||||
public function testGetTitleWithSection() {
|
||||
$page = $this->getExistingTestPage();
|
||||
$section = new EchoPresentationModelSection(
|
||||
|
@ -56,9 +50,6 @@ class EchoPresentationModelSectionTest extends MediaWikiIntegrationTestCase {
|
|||
$this->assertEquals( $page->getTitle()->getPrefixedText(), $titleWithSection->getPrefixedText() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \EchoPresentationModelSection::exists
|
||||
*/
|
||||
public function testExists_no() {
|
||||
$section = new EchoPresentationModelSection(
|
||||
$this->makeEvent(),
|
||||
|
@ -69,9 +60,6 @@ class EchoPresentationModelSectionTest extends MediaWikiIntegrationTestCase {
|
|||
$this->assertFalse( $section->exists() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \EchoPresentationModelSection::exists
|
||||
*/
|
||||
public function testExists_yes() {
|
||||
$section = new EchoPresentationModelSection(
|
||||
$this->makeEvent( [ 'event_extra' => serialize( [ 'section-title' => 'asdf' ] ) ] ),
|
Loading…
Reference in a new issue