Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1431789
PageDisplay.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
PageDisplay.php
View Options
<?php
namespace
MediaWiki\CheckUser\HookHandler
;
use
MediaWiki\Config\Config
;
use
MediaWiki\Hook\BeforeInitializeHook
;
use
MediaWiki\Output\Hook\BeforePageDisplayHook
;
use
MediaWiki\Permissions\PermissionManager
;
use
MediaWiki\User\Options\UserOptionsLookup
;
use
MediaWiki\WikiMap\WikiMap
;
class
PageDisplay
implements
BeforePageDisplayHook
,
BeforeInitializeHook
{
private
Config
$config
;
private
PermissionManager
$permissionManager
;
protected
UserOptionsLookup
$userOptionsLookup
;
/**
* @param Config $config
* @param PermissionManager $permissionManager
* @param UserOptionsLookup $userOptionsLookup
*/
public
function
__construct
(
Config
$config
,
PermissionManager
$permissionManager
,
UserOptionsLookup
$userOptionsLookup
)
{
$this
->
config
=
$config
;
$this
->
permissionManager
=
$permissionManager
;
$this
->
userOptionsLookup
=
$userOptionsLookup
;
}
/**
* @inheritDoc
*/
public
function
onBeforePageDisplay
(
$out
,
$skin
):
void
{
$action
=
$out
->
getRequest
()->
getVal
(
'action'
);
if
(
$action
!==
'history'
&&
$action
!==
'info'
&&
$out
->
getRequest
()->
getRawVal
(
'diff'
)
===
null
&&
$out
->
getRequest
()->
getRawVal
(
'oldid'
)
===
null
&&
!(
$out
->
getTitle
()
&&
(
$out
->
getTitle
()->
isSpecialPage
()
)
)
)
{
return
;
}
$user
=
$out
->
getUser
();
if
(
!
$this
->
permissionManager
->
userHasRight
(
$user
,
'checkuser-temporary-account-no-preference'
)
&&
(
!
$this
->
permissionManager
->
userHasRight
(
$user
,
'checkuser-temporary-account'
)
||
!
$this
->
userOptionsLookup
->
getOption
(
$user
,
'checkuser-temporary-account-enable'
)
)
)
{
return
;
}
// If the user is blocked
if
(
$user
->
getBlock
()
)
{
return
;
}
// Config needed for a js-added message on Special:Block
if
(
$out
->
getTitle
()->
isSpecial
(
'Block'
)
)
{
$out
->
addJSConfigVars
(
[
'wgCUDMaxAge'
=>
$this
->
config
->
get
(
'CUDMaxAge'
)
]
);
}
$out
->
addModules
(
'ext.checkUser'
);
$out
->
addModuleStyles
(
'ext.checkUser.styles'
);
$out
->
addJSConfigVars
(
[
'wgCheckUserTemporaryAccountMaxAge'
=>
$this
->
config
->
get
(
'CheckUserTemporaryAccountMaxAge'
),
]
);
}
/** @inheritDoc */
public
function
onBeforeInitialize
(
$title
,
$unused
,
$output
,
$user
,
$request
,
$mediaWikiEntryPoint
)
{
// Is there a central wiki defined for the Special:GlobalContributions feature?
// If so, redirect the user there, preserving the query parameters.
$globalContributionsCentralWikiId
=
$this
->
config
->
get
(
'CheckUserGlobalContributionsCentralWikiId'
);
if
(
$globalContributionsCentralWikiId
&&
$output
->
getTitle
()->
isSpecial
(
'GlobalContributions'
)
&&
$globalContributionsCentralWikiId
!==
WikiMap
::
getCurrentWikiId
()
)
{
$url
=
WikiMap
::
getForeignURL
(
$globalContributionsCentralWikiId
,
'Special:GlobalContributions'
,
);
$queryValues
=
$output
->
getRequest
()->
getQueryValuesOnly
();
// Don't duplicate the title, as we have this already from ::getForeignURL above
if
(
isset
(
$queryValues
[
'title'
]
)
)
{
unset
(
$queryValues
[
'title'
]
);
}
$url
=
wfAppendQuery
(
$url
,
$queryValues
);
$output
->
redirect
(
$url
);
}
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 21:04 (1 d, 17 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
24/84/72a2ce30a766c66a570a1608be99
Default Alt Text
PageDisplay.php (3 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment