dépôts
/
lhc
/
web
/
wiklou.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge "Drop index oi_name_archive_name on table oldimage"
[lhc/web/wiklou.git]
/
includes
/
api
/
ApiQueryRecentChanges.php
diff --git
a/includes/api/ApiQueryRecentChanges.php
b/includes/api/ApiQueryRecentChanges.php
index
c4c8afb
..
26581a6
100644
(file)
--- a/
includes/api/ApiQueryRecentChanges.php
+++ b/
includes/api/ApiQueryRecentChanges.php
@@
-147,7
+147,7
@@
class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
/* Build our basic query. Namely, something along the lines of:
* SELECT * FROM recentchanges WHERE rc_timestamp > $start
/* Build our basic query. Namely, something along the lines of:
* SELECT * FROM recentchanges WHERE rc_timestamp > $start
- *
AND rc_timestamp < $end AND rc_namespace = $namespace
+ * AND rc_timestamp < $end AND rc_namespace = $namespace
*/
$this->addTables( 'recentchanges' );
$this->addTimestampWhereRange( 'rc_timestamp', $params['dir'], $params['start'], $params['end'] );
*/
$this->addTables( 'recentchanges' );
$this->addTimestampWhereRange( 'rc_timestamp', $params['dir'], $params['start'], $params['end'] );
@@
-195,7
+195,7
@@
class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
|| ( isset( $show['patrolled'] ) && isset( $show['unpatrolled'] ) )
|| ( isset( $show['!patrolled'] ) && isset( $show['unpatrolled'] ) )
) {
|| ( isset( $show['patrolled'] ) && isset( $show['unpatrolled'] ) )
|| ( isset( $show['!patrolled'] ) && isset( $show['unpatrolled'] ) )
) {
- $this->die
UsageMsg( '
show' );
+ $this->die
WithError( 'apierror-
show' );
}
// Check permissions
}
// Check permissions
@@
-204,10
+204,7
@@
class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
|| isset( $show['unpatrolled'] )
) {
if ( !$user->useRCPatrol() && !$user->useNPPatrol() ) {
|| isset( $show['unpatrolled'] )
) {
if ( !$user->useRCPatrol() && !$user->useNPPatrol() ) {
- $this->dieUsage(
- 'You need patrol or patrolmarks permission to request the patrolled flag',
- 'permissiondenied'
- );
+ $this->dieWithError( 'apierror-permissiondenied-patrolflag', 'permissiondenied' );
}
}
}
}
@@
-239,9
+236,7
@@
class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
);
}
);
}
- if ( !is_null( $params['user'] ) && !is_null( $params['excludeuser'] ) ) {
- $this->dieUsage( 'user and excludeuser cannot be used together', 'user-excludeuser' );
- }
+ $this->requireMaxOneParameter( $params, 'user', 'excludeuser' );
if ( !is_null( $params['user'] ) ) {
$this->addWhereFld( 'rc_user_text', $params['user'] );
if ( !is_null( $params['user'] ) ) {
$this->addWhereFld( 'rc_user_text', $params['user'] );
@@
-274,10
+269,7
@@
class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
$this->initProperties( $prop );
if ( $this->fld_patrolled && !$user->useRCPatrol() && !$user->useNPPatrol() ) {
$this->initProperties( $prop );
if ( $this->fld_patrolled && !$user->useRCPatrol() && !$user->useNPPatrol() ) {
- $this->dieUsage(
- 'You need patrol or patrolmarks permission to request the patrolled flag',
- 'permissiondenied'
- );
+ $this->dieWithError( 'apierror-permissiondenied-patrolflag', 'permissiondenied' );
}
/* Add fields to our query if they are specified as a needed parameter. */
}
/* Add fields to our query if they are specified as a needed parameter. */
@@
-328,7
+320,7
@@
class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
$this->addWhereFld( 'ct_tag', $params['tag'] );
}
$this->addWhereFld( 'ct_tag', $params['tag'] );
}
- // Paranoia: avoid brute force searches (
bug 17
342)
+ // Paranoia: avoid brute force searches (
T19
342)
if ( !is_null( $params['user'] ) || !is_null( $params['excludeuser'] ) ) {
if ( !$user->isAllowed( 'deletedhistory' ) ) {
$bitmask = Revision::DELETED_USER;
if ( !is_null( $params['user'] ) || !is_null( $params['excludeuser'] ) ) {
if ( !$user->isAllowed( 'deletedhistory' ) ) {
$bitmask = Revision::DELETED_USER;
@@
-361,9
+353,10
@@
class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
$this->token = $params['token'];
$this->addOption( 'LIMIT', $params['limit'] + 1 );
$this->token = $params['token'];
$this->addOption( 'LIMIT', $params['limit'] + 1 );
+ $hookData = [];
$count = 0;
/* Perform the actual query. */
$count = 0;
/* Perform the actual query. */
- $res = $this->select( __METHOD__ );
+ $res = $this->select( __METHOD__
, [], $hookData
);
$revids = [];
$titles = [];
$revids = [];
$titles = [];
@@
-391,7
+384,8
@@
class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
$vals = $this->extractRowInfo( $row );
/* Add that row's data to our final output. */
$vals = $this->extractRowInfo( $row );
/* Add that row's data to our final output. */
- $fit = $result->addValue( [ 'query', $this->getModuleName() ], null, $vals );
+ $fit = $this->processRow( $row, $vals, $hookData ) &&
+ $result->addValue( [ 'query', $this->getModuleName() ], null, $vals );
if ( !$fit ) {
$this->setContinueEnumParameter( 'continue', "$row->rc_timestamp|$row->rc_id" );
break;
if ( !$fit ) {
$this->setContinueEnumParameter( 'continue', "$row->rc_timestamp|$row->rc_id" );
break;
@@
-569,7
+563,7
@@
class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
$val = call_user_func( $tokenFunctions[$t], $row->rc_cur_id,
$title, RecentChange::newFromRow( $row ) );
if ( $val === false ) {
$val = call_user_func( $tokenFunctions[$t], $row->rc_cur_id,
$title, RecentChange::newFromRow( $row ) );
if ( $val === false ) {
- $this->
setWarning( "Action '$t' is not allowed for the current user"
);
+ $this->
addWarning( [ 'apiwarn-tokennotallowed', $t ]
);
} else {
$vals[$t . 'token'] = $val;
}
} else {
$vals[$t . 'token'] = $val;
}
@@
-623,7
+617,8
@@
class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
],
'namespace' => [
ApiBase::PARAM_ISMULTI => true,
],
'namespace' => [
ApiBase::PARAM_ISMULTI => true,
- ApiBase::PARAM_TYPE => 'namespace'
+ ApiBase::PARAM_TYPE => 'namespace',
+ ApiBase::PARAM_EXTRA_NAMESPACES => [ NS_MEDIA, NS_SPECIAL ],
],
'user' => [
ApiBase::PARAM_TYPE => 'user'
],
'user' => [
ApiBase::PARAM_TYPE => 'user'