summaryrefslogtreecommitdiff
path: root/includes/api/ApiQueryInfo.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/api/ApiQueryInfo.php')
-rw-r--r--includes/api/ApiQueryInfo.php19
1 files changed, 11 insertions, 8 deletions
diff --git a/includes/api/ApiQueryInfo.php b/includes/api/ApiQueryInfo.php
index 66178d4f..b05c75c3 100644
--- a/includes/api/ApiQueryInfo.php
+++ b/includes/api/ApiQueryInfo.php
@@ -37,7 +37,7 @@ class ApiQueryInfo extends ApiQueryBase {
$fld_notificationtimestamp = false,
$fld_preload = false, $fld_displaytitle = false;
- private $params, $titles, $missing, $everything, $pageCounter;
+ private $params, $titles, $missing, $everything;
private $pageRestrictions, $pageIsRedir, $pageIsNew, $pageTouched,
$pageLatest, $pageLength;
@@ -799,6 +799,7 @@ class ApiQueryInfo extends ApiQueryBase {
}
public function getCacheMode( $params ) {
+ // Other props depend on something about the current user
$publicProps = array(
'protection',
'talkid',
@@ -807,13 +808,15 @@ class ApiQueryInfo extends ApiQueryBase {
'preload',
'displaytitle',
);
- if ( !is_null( $params['prop'] ) ) {
- foreach ( $params['prop'] as $prop ) {
- if ( !in_array( $prop, $publicProps ) ) {
- return 'private';
- }
- }
+ if ( array_diff( (array)$params['prop'], $publicProps ) ) {
+ return 'private';
}
+
+ // testactions also depends on the current user
+ if ( $params['testactions'] ) {
+ return 'private';
+ }
+
if ( !is_null( $params['token'] ) ) {
return 'private';
}
@@ -868,6 +871,6 @@ class ApiQueryInfo extends ApiQueryBase {
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Properties#info_.2F_in';
+ return 'https://www.mediawiki.org/wiki/API:Info';
}
}