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


PHP SpecialPage::getPage方法代码示例

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


在下文中一共展示了SpecialPage::getPage方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: feedTitle

 function feedTitle()
 {
     global $wgLanguageCode, $wgSitename;
     $page = SpecialPage::getPage($this->getName());
     $desc = $page->getDescription();
     return "{$wgSitename} - {$desc} [{$wgLanguageCode}]";
 }
开发者ID:GodelDesign,项目名称:Godel,代码行数:7,代码来源:QueryPage.php

示例2: performAction


//.........这里部分代码省略.........
     // Workaround for bug #20966: inability of IE to provide an action dependent
     // on which submit button is clicked.
     if ($action === 'historysubmit') {
         if ($request->getBool('revisiondelete')) {
             $action = 'revisiondelete';
         } else {
             $action = 'view';
         }
     }
     switch ($action) {
         case 'view':
             $output->setSquidMaxage($this->getVal('SquidMaxage'));
             $article->view();
             break;
         case 'raw':
             // includes JS/CSS
             wfProfileIn(__METHOD__ . '-raw');
             $raw = new RawPage($article);
             $raw->view();
             wfProfileOut(__METHOD__ . '-raw');
             break;
         case 'watch':
         case 'unwatch':
         case 'delete':
         case 'revert':
         case 'rollback':
         case 'protect':
         case 'unprotect':
         case 'info':
         case 'markpatrolled':
         case 'render':
         case 'deletetrackback':
         case 'purge':
             $article->{$action}();
             break;
         case 'print':
             $article->view();
             break;
         case 'dublincore':
             if (!$this->getVal('EnableDublinCoreRdf')) {
                 wfHttpError(403, 'Forbidden', wfMsg('nodublincore'));
             } else {
                 $rdf = new DublinCoreRdf($article);
                 $rdf->show();
             }
             break;
         case 'creativecommons':
             if (!$this->getVal('EnableCreativeCommonsRdf')) {
                 wfHttpError(403, 'Forbidden', wfMsg('nocreativecommons'));
             } else {
                 $rdf = new CreativeCommonsRdf($article);
                 $rdf->show();
             }
             break;
         case 'credits':
             Credits::showPage($article);
             break;
         case 'submit':
             if (session_id() == '') {
                 /* Send a cookie so anons get talk message notifications */
                 wfSetupSession();
             }
             /* Continue... */
         /* Continue... */
         case 'edit':
         case 'editredlink':
             if (wfRunHooks('CustomEditor', array($article, $user))) {
                 $internal = $request->getVal('internaledit');
                 $external = $request->getVal('externaledit');
                 $section = $request->getVal('section');
                 $oldid = $request->getVal('oldid');
                 if (!$this->getVal('UseExternalEditor') || $action == 'submit' || $internal || $section || $oldid || !$user->getOption('externaleditor') && !$external) {
                     $editor = new EditPage($article);
                     $editor->submit();
                 } elseif ($this->getVal('UseExternalEditor') && ($external || $user->getOption('externaleditor'))) {
                     $mode = $request->getVal('mode');
                     $extedit = new ExternalEdit($article, $mode);
                     $extedit->edit();
                 }
             }
             break;
         case 'history':
             if ($request->getFullRequestURL() == $title->getInternalURL('action=history')) {
                 $output->setSquidMaxage($this->getVal('SquidMaxage'));
             }
             $history = new HistoryPage($article);
             $history->history();
             break;
         case 'revisiondelete':
             // For show/hide submission from history page
             $special = SpecialPage::getPage('Revisiondelete');
             $special->execute('');
             break;
         default:
             if (wfRunHooks('UnknownAction', array($action, $article))) {
                 $output->showErrorPage('nosuchaction', 'nosuchactiontext');
             }
     }
     wfProfileOut(__METHOD__);
 }
开发者ID:GodelDesign,项目名称:Godel,代码行数:101,代码来源:Wiki.php

示例3: getSpecialPage

 /**
  * Compatibility helper function.
  * Since 1.18 SpecialPageFactory::getPage should be used.
  * SpecialPage::getPage is deprecated in 1.18.
  *
  * @since 2.3.3
  *
  * @param string $pageName
  *
  * @return SpecialPage|null
  */
 public static function getSpecialPage($pageName)
 {
     $hasFactory = class_exists('SpecialPageFactory') && method_exists('SpecialPageFactory', 'getPage');
     return $hasFactory ? SpecialPageFactory::getPage($pageName) : SpecialPage::getPage($pageName);
 }
开发者ID:seedbank,项目名称:old-repo,代码行数:16,代码来源:SF_Utils.php

示例4: wfDie

    wfDie();
}
$wgOut->disable();
$dbw = wfGetDB(DB_MASTER);
foreach ($wgQueryPages as $page) {
    @(list($class, $special, $limit) = $page);
    # --list : just show the name of pages
    if (@$options['list']) {
        print "{$special}\n";
        continue;
    }
    if (!isset($options['override']) && $wgDisableQueryPageUpdate && in_array($special, $wgDisableQueryPageUpdate)) {
        printf("%-30s disabled\n", $special);
        continue;
    }
    $specialObj = SpecialPage::getPage($special);
    if (!$specialObj) {
        print "No such special page: {$special}\n";
        exit;
    }
    if (!class_exists($class)) {
        $file = $specialObj->getFile();
        require_once $file;
    }
    $queryPage = new $class();
    if (!isset($options['only']) or $options['only'] == $queryPage->getName()) {
        printf('%-30s ', $special);
        if ($queryPage->isExpensive()) {
            $t1 = explode(' ', microtime());
            # Do the query
            $num = $queryPage->recache($limit === null ? $wgQueryCacheLimit : $limit);
开发者ID:BackupTheBerlios,项目名称:shoutwiki-svn,代码行数:31,代码来源:updateSpecialPages.php

示例5: refreshSpecial

 /**
  * This actually refreshes the special pages
  * Will need to be modified further
  */
 function refreshSpecial()
 {
     global $wgRequest, $wgQueryPages, $wgOut;
     $dbw = wfGetDB(DB_MASTER);
     $to_refresh = $wgRequest->getArray('wpSpecial');
     $total = array('pages' => 0, 'rows' => 0, 'elapsed' => 0, 'total_elapsed' => 0);
     foreach ($wgQueryPages as $page) {
         @(list($class, $special, $limit) = $page);
         if (!in_array($special, $to_refresh)) {
             continue;
         }
         $specialObj = SpecialPage::getPage($special);
         if (!$specialObj) {
             $wgOut->addWikiText(wfMsg('refreshspecial-no-page') . ": {$special}\n");
             exit;
         }
         $file = $specialObj->getFile();
         if ($file) {
             require_once $file;
         }
         $queryPage = new $class();
         $message = '';
         if (!isset($options['only']) or $options['only'] == $queryPage->getName()) {
             $wgOut->addHTML("<b>{$special}</b>: ");
             if ($queryPage->isExpensive()) {
                 $t1 = explode(' ', microtime());
                 # Do the query
                 $num = $queryPage->recache($limit === null ? REFRESHSPECIAL_ROW_LIMIT : $limit);
                 $t2 = explode(' ', microtime());
                 if ($num === false) {
                     $wgOut->addHTML(wfMsg('refreshspecial-db-error') . '<br />');
                 } else {
                     $message = wfMsgExt('refreshspecial-page-result', array('escape', 'parsemag'), $num) . '&#160;';
                     $elapsed = $t2[0] - $t1[0] + ($t2[1] - $t1[1]);
                     $total['elapsed'] += $elapsed;
                     $total['rows'] += $num;
                     $total['pages']++;
                     $ftime = $this->computeTime($elapsed);
                     $this->formatTimeMessage($ftime, $message);
                     $wgOut->addHTML("{$message}<br />");
                 }
                 $t1 = explode(' ', microtime());
                 # Reopen any connections that have closed
                 if (!wfGetLB()->pingAll()) {
                     $wgOut->addHTML('<br />');
                     do {
                         $wgOut->addHTML(wfMsg('refreshspecial-reconnecting') . '<br />');
                         sleep(REFRESHSPECIAL_RECONNECTION_SLEEP);
                     } while (!wfGetLB()->pingAll());
                     $wgOut->addHTML(wfMsg('refreshspecial-reconnected') . '<br /><br />');
                 } else {
                     # Commit the results
                     $dbw->commit();
                 }
                 # Wait for the slave to catch up
                 $slaveDB = wfGetDB(DB_SLAVE, array('QueryPage::recache', 'vslow'));
                 while (wfGetLB()->safeGetLag($slaveDB) > REFRESHSPECIAL_SLAVE_LAG_LIMIT) {
                     $wgOut->addHTML(wfMsg('refreshspecial-slave-lagged') . '<br />');
                     sleep(REFRESHSPECIAL_SLAVE_LAG_SLEEP);
                 }
                 $t2 = explode(' ', microtime());
                 $elapsed_total = $t2[0] - $t1[0] + ($t2[1] - $t1[1]);
                 $total['total_elapsed'] += $elapsed + $elapsed_total;
             } else {
                 $wgOut->addHTML(wfMsg('refreshspecial-skipped') . '<br />');
             }
         }
     }
     /* display all stats */
     $elapsed_message = '';
     $total_elapsed_message = '';
     $this->formatTimeMessage($this->computeTime($total['elapsed']), $elapsed_message);
     $this->formatTimeMessage($this->computeTime($total['total_elapsed']), $total_elapsed_message);
     $wgOut->addHTML('<br />' . wfMsgExt('refreshspecial-total-display', array('escape', 'parsemag'), $total['pages'], $total['rows'], $elapsed_message, $total_elapsed_message));
     $wgOut->addHTML('</ul></form>');
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:80,代码来源:RefreshSpecial.body.php

示例6: feedTitle

 protected function feedTitle()
 {
     global $wgContLanguageCode, $wgSitename;
     $page = SpecialPage::getPage('Contributions');
     $desc = $page->getDescription();
     return "{$wgSitename} - {$desc} [{$wgContLanguageCode}]";
 }
开发者ID:rocLv,项目名称:conference,代码行数:7,代码来源:SpecialContributions.php

示例7: 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

示例8: 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

示例9: execute

 public function execute()
 {
     global $IP, $wgOut, $wgSpecialPageCacheUpdates, $wgQueryPages, $wgQueryCacheLimit, $wgDisableQueryPageUpdate;
     $wgOut->disable();
     $dbw = wfGetDB(DB_MASTER);
     foreach ($wgSpecialPageCacheUpdates as $special => $call) {
         if (!is_callable($call)) {
             $this->error("Uncallable function {$call}!");
             continue;
         }
         $t1 = explode(' ', microtime());
         call_user_func($call, $dbw);
         $t2 = explode(' ', microtime());
         $this->output(sprintf('%-30s ', $special));
         $elapsed = $t2[0] - $t1[0] + ($t2[1] - $t1[1]);
         $hours = intval($elapsed / 3600);
         $minutes = intval($elapsed % 3600 / 60);
         $seconds = $elapsed - $hours * 3600 - $minutes * 60;
         if ($hours) {
             $this->output($hours . 'h ');
         }
         if ($minutes) {
             $this->output($minutes . 'm ');
         }
         $this->output(sprintf("completed in %.2fs\n", $seconds));
         # Wait for the slave to catch up
         wfWaitForSlaves(5);
     }
     // This is needed to initialise $wgQueryPages
     require_once "{$IP}/includes/QueryPage.php";
     foreach ($wgQueryPages as $page) {
         @(list($class, $special, $limit) = $page);
         # --list : just show the name of pages
         if ($this->hasOption('list')) {
             $this->output("{$special}\n");
             continue;
         }
         if (!$this->hasOption('override') && $wgDisableQueryPageUpdate && in_array($special, $wgDisableQueryPageUpdate)) {
             $this->output(sprintf("%-30s disabled\n", $special));
             continue;
         }
         $specialObj = SpecialPage::getPage($special);
         if (!$specialObj) {
             $this->output("No such special page: {$special}\n");
             exit;
         }
         if (!class_exists($class)) {
             $file = $specialObj->getFile();
             require_once $file;
         }
         $queryPage = new $class();
         if (!$this->hasOption('only') || $this->getOption('only') == $queryPage->getName()) {
             $this->output(sprintf('%-30s ', $special));
             if ($queryPage->isExpensive()) {
                 $t1 = explode(' ', microtime());
                 # Do the query
                 $num = $queryPage->recache($limit === null ? $wgQueryCacheLimit : $limit);
                 $t2 = explode(' ', microtime());
                 if ($num === false) {
                     $this->output("FAILED: database error\n");
                 } else {
                     $this->output("got {$num} rows in ");
                     $elapsed = $t2[0] - $t1[0] + ($t2[1] - $t1[1]);
                     $hours = intval($elapsed / 3600);
                     $minutes = intval($elapsed % 3600 / 60);
                     $seconds = $elapsed - $hours * 3600 - $minutes * 60;
                     if ($hours) {
                         $this->output($hours . 'h ');
                     }
                     if ($minutes) {
                         $this->output($minutes . 'm ');
                     }
                     $this->output(sprintf("%.2fs\n", $seconds));
                 }
                 # Reopen any connections that have closed
                 if (!wfGetLB()->pingAll()) {
                     $this->output("\n");
                     do {
                         $this->error("Connection failed, reconnecting in 10 seconds...");
                         sleep(10);
                     } while (!wfGetLB()->pingAll());
                     $this->output("Reconnected\n\n");
                 } else {
                     # Commit the results
                     $dbw->commit();
                 }
                 # Wait for the slave to catch up
                 wfWaitForSlaves(5);
             } else {
                 $this->output("cheap, skipped\n");
             }
         }
     }
 }
开发者ID:rocLv,项目名称:conference,代码行数:94,代码来源:updateSpecialPages.php

示例10: displayACLForm

 /**
  * What we should do if the permission action is clicked.
  * @param OutputPage $output
  * @param Article $article
  * @param Title $title
  * @param User $user
  * @param WebRequest $request
  * @Param MediaWiki $wiki
  */
 static function displayACLForm($output, $article, $title, $user, $request, $wiki)
 {
     global $wgParser;
     if ($request->getVal('action') != self::$ACTION) {
         return true;
     }
     $text = "";
     $owner = MWUtil::pageOwner($title, true);
     $text .= "Page owner is '''" . $owner->getName() . "'''.";
     ACL::loadUserGroups();
     $ownergroups = ACL::getUserGroups($owner);
     $ogroups = " Owner belongs to these user groups:";
     if ($ownergroups) {
         foreach ($ownergroups as $g) {
             $ogroups .= $g['name'] . ",";
         }
     } else {
         $ogroups = " Owner does not belong to any user group";
     }
     $text .= $ogroups . "\n\n";
     $permissionpage = ACL_ACL . ":" . $article->getID();
     $permissiontitle = Title::newFromText($permissionpage);
     $ns = $title->getNSText();
     if (!$ns) {
         $ns = "Main";
     }
     $sp = SpecialPage::getPage("FormEdit");
     $sp_url = $sp->getTitle()->getLocalURL();
     $sp_url .= "?form=" . self::$FORM . "&target={$permissionpage}&ACL Page Permission[PageId]={$article->getID()}&ACL Page Permission[PageName]={$title->getDBkey()}&ACL Page Permission[Namespace]={$ns}";
     if ($permissiontitle->exists()) {
         $text .= "[[{$permissionpage}|View Page Permission]]\n\n----\n";
         $output->addWikiText($text);
         $output->addHTML("<a href='{$sp_url}'>Edit permission for this page</a>");
     } else {
         $text .= "No page specific Permission is set.";
         $output->addWikiText($text);
         $output->addHTML("<a href='{$sp_url}'>Set permission for this page</a>");
     }
     return false;
 }
开发者ID:kghbln,项目名称:semanticaccesscontrol,代码行数:49,代码来源:PermissionTab.php

示例11: newFromSpecialPage

 static function newFromSpecialPage($page_name)
 {
     $item = new ALItem();
     $item->label = $page_name;
     $page = SpecialPage::getPage($page_name);
     global $wgUser;
     $item->text = $wgUser->getSkin()->linkKnown($page->getTitle(), $page->getDescription());
     return $item;
 }
开发者ID:realsoc,项目名称:mediawiki-extensions,代码行数:9,代码来源:AdminLinks_body.php


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