当前位置: 首页>>代码示例>>PHP>>正文


PHP SpecialPage::getRedirect方法代码示例

本文整理汇总了PHP中SpecialPage::getRedirect方法的典型用法代码示例。如果您正苦于以下问题:PHP SpecialPage::getRedirect方法的具体用法?PHP SpecialPage::getRedirect怎么用?PHP SpecialPage::getRedirect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SpecialPage的用法示例。


在下文中一共展示了SpecialPage::getRedirect方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
 }
开发者ID:puring0815,项目名称:OpenKore,代码行数:74,代码来源:SpecialPage.php

示例2: 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}}
  */
 function executePath(&$title, $including = false)
 {
     global $wgSpecialPages, $wgOut, $wgTitle;
     $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) {
             return false;
         } else {
             $redir =& SpecialPage::getRedirect($name);
             if (isset($redir)) {
                 if (isset($par)) {
                     $wgOut->redirect($redir->getFullURL() . '/' . $par);
                 } else {
                     $wgOut->redirect($redir->getFullURL());
                 }
                 $retVal = $redir;
             } else {
                 $wgOut->setArticleRelated(false);
                 $wgOut->setRobotpolicy("noindex,follow");
                 $wgOut->errorpage("nosuchspecialpage", "nospecialpagetext");
                 $retVal = false;
             }
         }
     } else {
         if ($including && !$page->includable()) {
             return false;
         }
         if ($par !== NULL) {
             $wgTitle = Title::makeTitle(NS_SPECIAL, $name);
         } else {
             $wgTitle = $title;
         }
         $page->including($including);
         $page->execute($par);
         $retVal = true;
     }
     return $retVal;
 }
开发者ID:BackupTheBerlios,项目名称:blahtex,代码行数:57,代码来源:SpecialPage.php


注:本文中的SpecialPage::getRedirect方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。