Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4144127
UsersToRenameDatabaseUpdates.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
UsersToRenameDatabaseUpdates.php
View Options
<?php
namespace
MediaWiki\Extension\CentralAuth\UsersToRename
;
use
Wikimedia\Rdbms\IDatabase
;
use
Wikimedia\Rdbms\IResultWrapper
;
class
UsersToRenameDatabaseUpdates
{
/**
* Notified via talk page
*/
public
const
NOTIFIED
=
4
;
/**
* A redirect, temporarily skipped
*/
private
const
REDIRECT
=
5
;
/**
* Renamed!
*/
private
const
RENAMED
=
8
;
private
IDatabase
$db
;
public
function
__construct
(
IDatabase
$db
)
{
$this
->
db
=
$db
;
}
/**
* @param string $name
* @param string $wiki
* @param int $status
*/
protected
function
updateStatus
(
$name
,
$wiki
,
$status
)
{
$this
->
db
->
newUpdateQueryBuilder
()
->
update
(
'users_to_rename'
)
->
set
(
[
'utr_status'
=>
$status
]
)
->
where
(
[
'utr_wiki'
=>
$wiki
,
'utr_name'
=>
$name
]
)
->
caller
(
__METHOD__
)
->
execute
();
}
/**
* @param string $name
* @param string $wiki
*/
public
function
markNotified
(
$name
,
$wiki
)
{
$this
->
updateStatus
(
$name
,
$wiki
,
self
::
NOTIFIED
);
}
/**
* @param string $name
* @param string $wiki
*/
public
function
markRenamed
(
$name
,
$wiki
)
{
$this
->
updateStatus
(
$name
,
$wiki
,
self
::
RENAMED
);
}
/**
* @param string $name
* @param string $wiki
*/
public
function
markRedirectSkipped
(
$name
,
$wiki
)
{
$this
->
updateStatus
(
$name
,
$wiki
,
self
::
REDIRECT
);
}
/**
* @param string $name
* @param string $wiki
*/
public
function
remove
(
$name
,
$wiki
)
{
$this
->
db
->
newDeleteQueryBuilder
()
->
deleteFrom
(
'users_to_rename'
)
->
where
(
[
'utr_wiki'
=>
$wiki
,
'utr_name'
=>
$name
]
)
->
caller
(
__METHOD__
)
->
execute
();
}
/**
* @param string $name
* @param string $wiki
*/
public
function
insert
(
$name
,
$wiki
)
{
$this
->
batchInsert
(
[
[
'name'
=>
$name
,
'wiki'
=>
$wiki
]
]
);
}
/**
* Batch insert rows
*
* @param array[] $info Array with array members that have 'name' and 'wiki' keys
*/
public
function
batchInsert
(
array
$info
)
{
if
(
!
$info
)
{
return
;
}
$rows
=
[];
foreach
(
$info
as
$row
)
{
$rows
[]
=
[
'utr_name'
=>
$row
[
'name'
],
'utr_wiki'
=>
$row
[
'wiki'
],
];
}
$this
->
db
->
newInsertQueryBuilder
()
->
insertInto
(
'users_to_rename'
)
->
ignore
()
->
rows
(
$rows
)
->
caller
(
__METHOD__
)
->
execute
();
}
/**
* @param string $wiki
* @param int $status
* @param int $limit
*
* @return IResultWrapper
*/
public
function
findUsers
(
$wiki
,
$status
,
$limit
)
{
// @todo this shouldn't return prefixed field names
return
$this
->
db
->
newSelectQueryBuilder
()
->
select
(
[
'utr_name'
,
'utr_wiki'
]
)
->
from
(
'users_to_rename'
)
->
where
(
[
'utr_status'
=>
$status
,
'utr_wiki'
=>
$wiki
]
)
->
limit
(
$limit
)
->
caller
(
__METHOD__
)
->
fetchResultSet
();
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Aug 19 2026, 17:06 (4 w, 5 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
cd/31/f8ea816648eec5560f18b3e86fda
Default Alt Text
UsersToRenameDatabaseUpdates.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment