本文整理汇总了PHP中SpecialPage::getRedirectParams方法的典型用法代码示例。如果您正苦于以下问题:PHP SpecialPage::getRedirectParams方法的具体用法?PHP SpecialPage::getRedirectParams怎么用?PHP SpecialPage::getRedirectParams使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SpecialPage
的用法示例。
在下文中一共展示了SpecialPage::getRedirectParams方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: executePath
/**
* Execute a special page path.
* The path may contain parameters, e.g. Special:Name/Params
* Extracts the special page name and call the execute method, passing the parameters
*
* Returns a title object if the page is redirected, false if there was no such special
* page, and true if it was successful.
*
* @param $title a title object
* @param $including output is being captured for use in {{special:whatever}}
*/
static function executePath(&$title, $including = false)
{
global $wgOut, $wgTitle;
$fname = 'SpecialPage::executePath';
wfProfileIn($fname);
$bits = split("/", $title->getDBkey(), 2);
$name = $bits[0];
if (!isset($bits[1])) {
// bug 2087
$par = NULL;
} else {
$par = $bits[1];
}
$page = SpecialPage::getPage($name);
if (is_null($page)) {
if ($including) {
wfProfileOut($fname);
return false;
} else {
$redir = SpecialPage::getRedirect($name);
if (isset($redir)) {
if ($par) {
$redir = Title::makeTitle($redir->getNamespace(), $redir->getText() . '/' . $par);
}
$params = SpecialPage::getRedirectParams($name);
if ($params) {
$url = $redir->getFullUrl($params);
} else {
$url = $redir->getFullUrl();
}
$wgOut->redirect($url);
$retVal = $redir;
$wgOut->redirect($url);
$retVal = $redir;
} else {
$wgOut->setArticleRelated(false);
$wgOut->setRobotpolicy('noindex,nofollow');
$wgOut->setStatusCode(404);
$wgOut->showErrorPage('nosuchspecialpage', 'nospecialpagetext');
$retVal = false;
}
}
} else {
if ($including && !$page->includable()) {
wfProfileOut($fname);
return false;
} elseif (!$including) {
if ($par !== NULL) {
$wgTitle = Title::makeTitle(NS_SPECIAL, $name);
} else {
$wgTitle = $title;
}
}
$page->including($including);
$profName = 'Special:' . $page->getName();
wfProfileIn($profName);
$page->execute($par);
wfProfileOut($profName);
$retVal = true;
}
wfProfileOut($fname);
return $retVal;
}