Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4148854
UserModes.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
987 B
Referenced Files
None
Subscribers
None
UserModes.php
View Options
<?php
namespace
MobileFrontend\Features
;
use
ArrayIterator
;
use
IteratorAggregate
;
use
Traversable
;
/**
* User Modes collection
*
* This class exists to provide a safe collection of IUserModes
* @package MobileFrontend\Features
*/
class
UserModes
implements
IteratorAggregate
{
/**
* @var array<string,IUserMode>
*/
private
$modes
=
[];
/**
* Register new User Mode
* @param IUserMode $mode
*/
public
function
registerMode
(
IUserMode
$mode
)
{
$this
->
modes
[
$mode
->
getModeIdentifier
()]
=
$mode
;
}
/**
* Retrieve registered mode
*
* @param string $modeIdentifier
* @return IUserMode
*/
public
function
getMode
(
$modeIdentifier
)
{
if
(
!
array_key_exists
(
$modeIdentifier
,
$this
->
modes
)
)
{
throw
new
\RuntimeException
(
"$modeIdentifier User mode is undefined"
);
}
return
$this
->
modes
[
$modeIdentifier
];
}
/**
* @return ArrayIterator
*/
public
function
getIterator
():
Traversable
{
return
new
ArrayIterator
(
$this
->
modes
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Aug 19 2026, 18:56 (6 w, 4 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
ba/af/3d20d0cae7b77869e75d2cb3f339
Default Alt Text
UserModes.php (987 B)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment