MediaWiki
REL1_31
MutableRevisionSlots.php
Go to the documentation of this file.
1
<?php
23
namespace
MediaWiki\Storage
;
24
25
use
Content
;
26
32
class
MutableRevisionSlots
extends
RevisionSlots
{
33
42
public
static
function
newFromParentRevisionSlots
( array
$slots
) {
43
$inherited = [];
44
foreach
(
$slots
as $slot ) {
45
$role = $slot->getRole();
46
$inherited[$role] =
SlotRecord::newInherited
( $slot );
47
}
48
49
return
new
MutableRevisionSlots
( $inherited );
50
}
51
55
public
function
__construct
( array
$slots
= [] ) {
56
parent::__construct(
$slots
);
57
}
58
67
public
function
setSlot
(
SlotRecord
$slot ) {
68
if
( !is_array( $this->slots ) ) {
69
$this->
getSlots
();
// initialize $this->slots
70
}
71
72
$role = $slot->
getRole
();
73
$this->slots[$role] = $slot;
74
}
75
85
public
function
setContent
( $role,
Content
$content ) {
86
$slot =
SlotRecord::newUnsaved
( $role, $content );
87
$this->
setSlot
( $slot );
88
}
89
97
public
function
removeSlot
( $role ) {
98
if
( !is_array( $this->slots ) ) {
99
$this->
getSlots
();
// initialize $this->slots
100
}
101
102
unset( $this->slots[$role] );
103
}
104
112
public
function
getTouchedSlots
() {
113
return
array_filter(
114
$this->
getSlots
(),
115
function
(
SlotRecord
$slot ) {
116
return
!$slot->
isInherited
();
117
}
118
);
119
}
120
128
public
function
getInheritedSlots
() {
129
return
array_filter(
130
$this->
getSlots
(),
131
function
(
SlotRecord
$slot ) {
132
return
$slot->
isInherited
();
133
}
134
);
135
}
136
137
}
MediaWiki\Storage\MutableRevisionSlots
Mutable version of RevisionSlots, for constructing a new revision.
Definition
MutableRevisionSlots.php:32
MediaWiki\Storage\MutableRevisionSlots\setSlot
setSlot(SlotRecord $slot)
Sets the given slot.
Definition
MutableRevisionSlots.php:67
MediaWiki\Storage\MutableRevisionSlots\removeSlot
removeSlot( $role)
Remove the slot for the given role, discontinue the corresponding stream.
Definition
MutableRevisionSlots.php:97
MediaWiki\Storage\MutableRevisionSlots\__construct
__construct(array $slots=[])
Definition
MutableRevisionSlots.php:55
MediaWiki\Storage\MutableRevisionSlots\getTouchedSlots
getTouchedSlots()
Return all slots that are not inherited.
Definition
MutableRevisionSlots.php:112
MediaWiki\Storage\MutableRevisionSlots\getInheritedSlots
getInheritedSlots()
Return all slots that are inherited.
Definition
MutableRevisionSlots.php:128
MediaWiki\Storage\MutableRevisionSlots\newFromParentRevisionSlots
static newFromParentRevisionSlots(array $slots)
Constructs a MutableRevisionSlots that inherits from the given list of slots.
Definition
MutableRevisionSlots.php:42
MediaWiki\Storage\MutableRevisionSlots\setContent
setContent( $role, Content $content)
Sets the content for the slot with the given role.
Definition
MutableRevisionSlots.php:85
MediaWiki\Storage\RevisionSlots
Value object representing the set of slots belonging to a revision.
Definition
RevisionSlots.php:34
MediaWiki\Storage\RevisionSlots\getSlots
getSlots()
Returns an associative array that maps role names to SlotRecords.
Definition
RevisionSlots.php:160
MediaWiki\Storage\RevisionSlots\$slots
SlotRecord[] callable $slots
Definition
RevisionSlots.php:37
MediaWiki\Storage\SlotRecord
Value object representing a content slot associated with a page revision.
Definition
SlotRecord.php:38
MediaWiki\Storage\SlotRecord\getRole
getRole()
Returns the role of the slot.
Definition
SlotRecord.php:449
MediaWiki\Storage\SlotRecord\newInherited
static newInherited(SlotRecord $slot)
Constructs a new SlotRecord for a new revision, inheriting the content of the given SlotRecord of a p...
Definition
SlotRecord.php:98
MediaWiki\Storage\SlotRecord\isInherited
isInherited()
Whether this slot was inherited from an older revision.
Definition
SlotRecord.php:414
MediaWiki\Storage\SlotRecord\newUnsaved
static newUnsaved( $role, Content $content)
Constructs a new Slot from a Content object for a new revision.
Definition
SlotRecord.php:124
Content
Base interface for content objects.
Definition
Content.php:34
MediaWiki\Storage
Definition
BlobAccessException.php:23
includes
Storage
MutableRevisionSlots.php
Generated on Mon Nov 25 2024 15:35:31 for MediaWiki by
1.10.0