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 "Bypass login page if no user input is required."
[lhc/web/wiklou.git]
/
includes
/
specialpage
/
RedirectSpecialPage.php
diff --git
a/includes/specialpage/RedirectSpecialPage.php
b/includes/specialpage/RedirectSpecialPage.php
index
a866ba7
..
ea7d783
100644
(file)
--- a/
includes/specialpage/RedirectSpecialPage.php
+++ b/
includes/specialpage/RedirectSpecialPage.php
@@
-28,10
+28,10
@@
*/
abstract class RedirectSpecialPage extends UnlistedSpecialPage {
// Query parameters that can be passed through redirects
*/
abstract class RedirectSpecialPage extends UnlistedSpecialPage {
// Query parameters that can be passed through redirects
- protected $mAllowedRedirectParams =
array()
;
+ protected $mAllowedRedirectParams =
[]
;
// Query parameters added by redirects
// Query parameters added by redirects
- protected $mAddedRedirectParams =
array()
;
+ protected $mAddedRedirectParams =
[]
;
/**
* @param string|null $subpage
/**
* @param string|null $subpage
@@
-70,13
+70,15
@@
abstract class RedirectSpecialPage extends UnlistedSpecialPage {
* Return part of the request string for a special redirect page
* This allows passing, e.g. action=history to Special:Mypage, etc.
*
* Return part of the request string for a special redirect page
* This allows passing, e.g. action=history to Special:Mypage, etc.
*
- * @return
string
+ * @return
array|bool
*/
public function getRedirectQuery() {
*/
public function getRedirectQuery() {
- $params =
array()
;
+ $params =
[]
;
$request = $this->getRequest();
$request = $this->getRequest();
- foreach ( $this->mAllowedRedirectParams as $arg ) {
+ foreach ( array_merge( $this->mAllowedRedirectParams,
+ [ 'uselang', 'useskin', 'debug' ] // parameters which can be passed to all pages
+ ) as $arg ) {
if ( $request->getVal( $arg, null ) !== null ) {
$params[$arg] = $request->getVal( $arg );
} elseif ( $request->getArray( $arg, null ) !== null ) {
if ( $request->getVal( $arg, null ) !== null ) {
$params[$arg] = $request->getVal( $arg );
} elseif ( $request->getArray( $arg, null ) !== null ) {
@@
-92,6
+94,18
@@
abstract class RedirectSpecialPage extends UnlistedSpecialPage {
? $params
: false;
}
? $params
: false;
}
+
+ /**
+ * Indicate if the target of this redirect can be used to identify
+ * a particular user of this wiki (e.g., if the redirect is to the
+ * user page of a User). See T109724.
+ *
+ * @since 1.27
+ * @return bool
+ */
+ public function personallyIdentifiableTarget() {
+ return false;
+ }
}
/**
}
/**
@@
-106,7
+120,7
@@
abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
function __construct(
$name, $redirName, $redirSubpage = false,
function __construct(
$name, $redirName, $redirSubpage = false,
- $allowedRedirectParams =
array(), $addedRedirectParams = array()
+ $allowedRedirectParams =
[], $addedRedirectParams = []
) {
parent::__construct( $name );
$this->redirName = $redirName;
) {
parent::__construct( $name );
$this->redirName = $redirName;
@@
-147,11
+161,11
@@
abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
* - limit, offset: Useful for linking to history of one's own user page or
* user talk page. For example, this would be a link to "the last edit to your
* user talk page in the year 2010":
* - limit, offset: Useful for linking to history of one's own user page or
* user talk page. For example, this would be a link to "the last edit to your
* user talk page in the year 2010":
- * http://en.wikipedia.org/wiki/Special:MyPage?offset=20110000000000&limit=1&action=history
+ * http
s
://en.wikipedia.org/wiki/Special:MyPage?offset=20110000000000&limit=1&action=history
*
* - feed: would allow linking to the current user's RSS feed for their user
* talk page:
*
* - feed: would allow linking to the current user's RSS feed for their user
* talk page:
- * http://en.wikipedia.org/w/index.php?title=Special:MyTalk&action=history&feed=rss
+ * http
s
://en.wikipedia.org/w/index.php?title=Special:MyTalk&action=history&feed=rss
*
* - preloadtitle: Can be used to provide a default section title for a
* preloaded new comment on one's own talk page.
*
* - preloadtitle: Can be used to provide a default section title for a
* preloaded new comment on one's own talk page.
@@
-166,7
+180,7
@@
abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
* - redlink: Affects the message the user sees if their talk page/user talk
* page does not currently exist. Avoids confusion for newbies with no user
* pages over why they got a "permission error" following this link:
* - redlink: Affects the message the user sees if their talk page/user talk
* page does not currently exist. Avoids confusion for newbies with no user
* pages over why they got a "permission error" following this link:
- * http://en.wikipedia.org/w/index.php?title=Special:MyPage&redlink=1
+ * http
s
://en.wikipedia.org/w/index.php?title=Special:MyPage&redlink=1
*
* - debug: determines whether the debug parameter is passed to load.php,
* which disables reformatting and allows scripts to be debugged. Useful
*
* - debug: determines whether the debug parameter is passed to load.php,
* which disables reformatting and allows scripts to be debugged. Useful
@@
-194,7
+208,7
@@
abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
abstract class RedirectSpecialArticle extends RedirectSpecialPage {
function __construct( $name ) {
parent::__construct( $name );
abstract class RedirectSpecialArticle extends RedirectSpecialPage {
function __construct( $name ) {
parent::__construct( $name );
- $redirectParams =
array(
+ $redirectParams =
[
'action',
'redirect', 'rdfrom',
# Options for preloaded edits
'action',
'redirect', 'rdfrom',
# Options for preloaded edits
@@
-205,12
+219,12
@@
abstract class RedirectSpecialArticle extends RedirectSpecialPage {
'section', 'oldid', 'diff', 'dir',
'limit', 'offset', 'feed',
# Misc options
'section', 'oldid', 'diff', 'dir',
'limit', 'offset', 'feed',
# Misc options
- 'redlink',
'debug',
+ 'redlink',
# Options for action=raw; missing ctype can break JS or CSS in some browsers
'ctype', 'maxage', 'smaxage',
# Options for action=raw; missing ctype can break JS or CSS in some browsers
'ctype', 'maxage', 'smaxage',
-
)
;
+
]
;
- Hooks::run( "RedirectSpecialArticleRedirectParams",
array( &$redirectParams )
);
+ Hooks::run( "RedirectSpecialArticleRedirectParams",
[ &$redirectParams ]
);
$this->mAllowedRedirectParams = $redirectParams;
}
}
$this->mAllowedRedirectParams = $redirectParams;
}
}