Page MenuHomeWickedGov Phorge

CitizenComponentPageSidebar.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

CitizenComponentPageSidebar.php

<?php
declare( strict_types=1 );
namespace MediaWiki\Skins\Citizen\Components;
use MediaWiki\Title\Title;
use MessageLocalizer;
/**
* CitizenComponentPageSidebar component
*/
class CitizenComponentPageSidebar implements CitizenComponent {
public function __construct(
private MessageLocalizer $localizer,
private Title $title,
private array $lastModifiedData
) {
}
private function getLastModData(): array {
$lastModifiedData = $this->lastModifiedData;
$timestamp = $this->lastModifiedData['timestamp'];
if ( $timestamp === null ) {
return [];
}
$items = [
'item-id' => 'lm-time',
'item-class' => 'mw-list-item',
'array-links' => [
'array-attributes' => [
[
'key' => 'id',
'value' => 'citizen-lastmod-relative'
],
[
'key' => 'href',
'value' => $this->title->getLocalURL( [ 'diff' => '' ] )
],
[
'key' => 'title',
'value' => trim( $lastModifiedData['text'] )
],
[
'key' => 'data-timestamp',
'value' => wfTimestamp( TS_UNIX, $lastModifiedData['timestamp'] )
]
],
'icon' => 'history',
'text' => $lastModifiedData['date']
]
];
// TODO: We should not use CitizenComponentMenu here, but a custom component
$menu = new CitizenComponentMenu(
[
'id' => 'citizen-sidebar-lastmod',
'label' => $this->localizer->msg( 'citizen-page-info-lastmod' ),
'array-list-items' => $items
]
);
return $menu->getTemplateData();
}
/**
* @inheritDoc
*/
public function getTemplateData(): array {
return [
'data-page-sidebar-lastmod' => $this->getLastModData()
];
}
}

File Metadata

Mime Type
text/x-php
Expires
Oct 4 2026, 15:08 (5 w, 3 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
ca/de/a4daa7f3bc059f435cb7da6e99bf
Default Alt Text
CitizenComponentPageSidebar.php (1 KB)

Event Timeline