MediaWiki master
LanguageEventIngress.php
Go to the documentation of this file.
1<?php
2
3namespace MediaWiki\Language;
4
11
19 extends DomainEventIngress
21{
23 public const OBJECT_SPEC = [
24 'class' => self::class,
25 'services' => [
26 'MessageCache'
27 ],
28 'events' => [
29 PageLatestRevisionChangedEvent::TYPE,
31 ],
32 ];
33
34 public function __construct( private readonly MessageCache $messageCache ) {
35 }
36
43 if ( $event->getPage()->getNamespace() === NS_MEDIAWIKI &&
44 ( $event->isModifiedSlot( SlotRecord::MAIN )
45 || $event->hasCause( PageLatestRevisionChangedEvent::CAUSE_MOVE )
46 || $event->isReconciliationRequest()
47 )
48 ) {
49 $content = $event->getLatestRevisionAfter()->getMainContentRaw();
50 $this->messageCache->updateMessageOverride( $event->getPage(), $content );
51 }
52 }
53
59 public function handlePageDeletedEvent( PageDeletedEvent $event ): void {
60 if ( $event->getDeletedPage()->getNamespace() === NS_MEDIAWIKI ) {
61 $this->messageCache->updateMessageOverride( $event->getDeletedPage(), null );
62 }
63 }
64
65}
66
68class_alias( LanguageEventIngress::class, 'MediaWiki\\Languages\\LanguageEventIngress' );
const NS_MEDIAWIKI
Definition Defines.php:59
if(!defined('MW_SETUP_CALLBACK'))
Definition WebStart.php:71
Base class for event ingress objects.
The ingress adapter for the language component.
handlePageDeletedEvent(PageDeletedEvent $event)
Listener method for PageDeletedEvent, to be registered with a DomainEventSource.
__construct(private readonly MessageCache $messageCache)
const OBJECT_SPEC
Object spec intended for use with DomainEventSource::registerSubscriber().
handlePageLatestRevisionChangedEvent(PageLatestRevisionChangedEvent $event)
Listener method for PageLatestRevisionChangedEvent, to be registered with a DomainEventSource.
Cache messages that are defined by MediaWiki-namespace pages or by hooks.
Domain event representing page deletion.
getDeletedPage()
Returns the page that was deleted, as it was before the deletion.
Domain event representing a change to the page's latest revision.
getLatestRevisionAfter()
The revision that became the latest as a result of the update.
Value object representing a content slot associated with a page revision.
Listener interface for PageDeletedEvents.
Listener interface for PageLatestRevisionChangedEvents.