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


PHP MWNamespace::getCanonicalName方法代码示例

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


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

示例1: getGroupHtml

 /**
  * Creates and returns the HTML for a single watchlist group.
  *
  * @since 0.1
  *
  * @param SWLGroup $group
  *
  * @return string
  */
 protected function getGroupHtml(SWLGroup $group)
 {
     $namespaces = $group->getNamespaces();
     foreach ($namespaces as &$ns) {
         $ns = $ns == 0 ? 'Main' : MWNamespace::getCanonicalName($ns);
     }
     return Html::rawElement('fieldset', array('id' => 'swl_group_' . $group->getId(), 'groupid' => $group->getId(), 'class' => 'swl_group', 'groupname' => $group->getName(), 'categories' => implode('|', $group->getCategories()), 'namespaces' => implode('|', $namespaces), 'properties' => implode('|', $group->getProperties()), 'concepts' => implode('|', $group->getConcepts()), 'customTexts' => implode('|', $group->getSerializedCustomTexts())), Html::element('legend', array(), $this->msg('swl-group-legend')->text()));
 }
开发者ID:nilsdornblut,项目名称:SemanticWatchlist,代码行数:17,代码来源:SpecialWatchlistConditions.php

示例2: __construct

 public function __construct()
 {
     global $wgContentStagingPrefix, $wgContentStagingNamespace, $wgContentStagingStages;
     $this->mwNamespaceIndex = isset($wgContentStagingNamespace) ? $wgContentStagingNamespace : 0;
     $this->mwNamespace = MWNamespace::getCanonicalName($this->mwNamespaceIndex) . ":";
     $this->pagePrefix = isset($wgContentStagingPrefix) ? $wgContentStagingPrefix : "CMS";
     # TODO: make the special page respect user defined names and number of stages
     $this->stages = isset($wgContentStagingStages) ? $wgContentStagingStages : array("test" => 0, "stage" => 0, "production" => 0);
     parent::__construct('ContentStaging', 'edit', true, false, 'default', false);
 }
开发者ID:addshore,项目名称:ContentStaging,代码行数:10,代码来源:SpecialContentStaging.php

示例3: execute

    /**
     * Show the special page
     * @param string|null $par
     */
    public function execute($par)
    {
        $this->setHeaders();
        $this->outputHeader();
        $out = $this->getOutput();
        $out->addModuleStyles('mediawiki.special');
        $out->wrapWikiMsg("<div class=\"mw-listgrouprights-key\">\n\$1\n</div>", 'listgrouprights-key');
        $out->addHTML(Xml::openElement('table', ['class' => 'wikitable mw-listgrouprights-table']) . '<tr>' . Xml::element('th', null, $this->msg('listgrouprights-group')->text()) . Xml::element('th', null, $this->msg('listgrouprights-rights')->text()) . '</tr>');
        $config = $this->getConfig();
        $groupPermissions = $config->get('GroupPermissions');
        $revokePermissions = $config->get('RevokePermissions');
        $addGroups = $config->get('AddGroups');
        $removeGroups = $config->get('RemoveGroups');
        $groupsAddToSelf = $config->get('GroupsAddToSelf');
        $groupsRemoveFromSelf = $config->get('GroupsRemoveFromSelf');
        $allGroups = array_unique(array_merge(array_keys($groupPermissions), array_keys($revokePermissions), array_keys($addGroups), array_keys($removeGroups), array_keys($groupsAddToSelf), array_keys($groupsRemoveFromSelf)));
        asort($allGroups);
        foreach ($allGroups as $group) {
            $permissions = isset($groupPermissions[$group]) ? $groupPermissions[$group] : [];
            $groupname = $group == '*' ? 'all' : $group;
            $msg = $this->msg('group-' . $groupname);
            $groupnameLocalized = !$msg->isBlank() ? $msg->text() : $groupname;
            $msg = $this->msg('grouppage-' . $groupname)->inContentLanguage();
            $grouppageLocalized = !$msg->isBlank() ? $msg->text() : MWNamespace::getCanonicalName(NS_PROJECT) . ':' . $groupname;
            $grouppageLocalizedTitle = Title::newFromText($grouppageLocalized);
            if ($group == '*' || !$grouppageLocalizedTitle) {
                // Do not make a link for the generic * group or group with invalid group page
                $grouppage = htmlspecialchars($groupnameLocalized);
            } else {
                $grouppage = Linker::link($grouppageLocalizedTitle, htmlspecialchars($groupnameLocalized));
            }
            if ($group === 'user') {
                // Link to Special:listusers for implicit group 'user'
                $grouplink = '<br />' . Linker::linkKnown(SpecialPage::getTitleFor('Listusers'), $this->msg('listgrouprights-members')->escaped());
            } elseif (!in_array($group, $config->get('ImplicitGroups'))) {
                $grouplink = '<br />' . Linker::linkKnown(SpecialPage::getTitleFor('Listusers'), $this->msg('listgrouprights-members')->escaped(), [], ['group' => $group]);
            } else {
                // No link to Special:listusers for other implicit groups as they are unlistable
                $grouplink = '';
            }
            $revoke = isset($revokePermissions[$group]) ? $revokePermissions[$group] : [];
            $addgroups = isset($addGroups[$group]) ? $addGroups[$group] : [];
            $removegroups = isset($removeGroups[$group]) ? $removeGroups[$group] : [];
            $addgroupsSelf = isset($groupsAddToSelf[$group]) ? $groupsAddToSelf[$group] : [];
            $removegroupsSelf = isset($groupsRemoveFromSelf[$group]) ? $groupsRemoveFromSelf[$group] : [];
            $id = $group == '*' ? false : Sanitizer::escapeId($group);
            $out->addHTML(Html::rawElement('tr', ['id' => $id], "\n\t\t\t\t<td>{$grouppage}{$grouplink}</td>\n\t\t\t\t\t<td>" . $this->formatPermissions($permissions, $revoke, $addgroups, $removegroups, $addgroupsSelf, $removegroupsSelf) . '</td>
				'));
        }
        $out->addHTML(Xml::closeElement('table'));
        $this->outputNamespaceProtectionInfo();
    }
开发者ID:claudinec,项目名称:galan-wiki,代码行数:56,代码来源:SpecialListgrouprights.php

示例4: execute

    /**
     * Show the special page
     */
    public function execute($par)
    {
        global $wgOut, $wgImplicitGroups, $wgMessageCache;
        global $wgGroupPermissions, $wgRevokePermissions, $wgAddGroups, $wgRemoveGroups;
        global $wgGroupsAddToSelf, $wgGroupsRemoveFromSelf;
        $wgMessageCache->loadAllMessages();
        $this->setHeaders();
        $this->outputHeader();
        $wgOut->addHTML(Xml::openElement('table', array('class' => 'wikitable mw-listgrouprights-table')) . '<tr>' . Xml::element('th', null, wfMsg('listgrouprights-group')) . Xml::element('th', null, wfMsg('listgrouprights-rights')) . '</tr>');
        foreach ($wgGroupPermissions as $group => $permissions) {
            $groupname = $group == '*' ? 'all' : $group;
            // Replace * with a more descriptive groupname
            $msg = wfMsg('group-' . $groupname);
            if (wfEmptyMsg('group-' . $groupname, $msg) || $msg == '') {
                $groupnameLocalized = $groupname;
            } else {
                $groupnameLocalized = $msg;
            }
            $msg = wfMsgForContent('grouppage-' . $groupname);
            if (wfEmptyMsg('grouppage-' . $groupname, $msg) || $msg == '') {
                $grouppageLocalized = MWNamespace::getCanonicalName(NS_PROJECT) . ':' . $groupname;
            } else {
                $grouppageLocalized = $msg;
            }
            if ($group == '*') {
                // Do not make a link for the generic * group
                $grouppage = htmlspecialchars($groupnameLocalized);
            } else {
                $grouppage = $this->skin->link(Title::newFromText($grouppageLocalized), htmlspecialchars($groupnameLocalized));
            }
            if ($group === 'user') {
                // Link to Special:listusers for implicit group 'user'
                $grouplink = '<br />' . $this->skin->link(SpecialPage::getTitleFor('Listusers'), wfMsgHtml('listgrouprights-members'), array(), array(), array('known', 'noclasses'));
            } elseif (!in_array($group, $wgImplicitGroups)) {
                $grouplink = '<br />' . $this->skin->link(SpecialPage::getTitleFor('Listusers'), wfMsgHtml('listgrouprights-members'), array(), array('group' => $group), array('known', 'noclasses'));
            } else {
                // No link to Special:listusers for other implicit groups as they are unlistable
                $grouplink = '';
            }
            $revoke = isset($wgRevokePermissions[$group]) ? $wgRevokePermissions[$group] : array();
            $addgroups = isset($wgAddGroups[$group]) ? $wgAddGroups[$group] : array();
            $removegroups = isset($wgRemoveGroups[$group]) ? $wgRemoveGroups[$group] : array();
            $addgroupsSelf = isset($wgGroupsAddToSelf[$group]) ? $wgGroupsAddToSelf[$group] : array();
            $removegroupsSelf = isset($wgGroupsRemoveFromSelf[$group]) ? $wgGroupsRemoveFromSelf[$group] : array();
            $wgOut->addHTML('<tr>
					<td>' . $grouppage . $grouplink . '</td>
					<td>' . self::formatPermissions($permissions, $revoke, $addgroups, $removegroups, $addgroupsSelf, $removegroupsSelf) . '</td>
				</tr>');
        }
        $wgOut->addHTML(Xml::closeElement('table') . "\n<br /><hr />\n");
        $wgOut->wrapWikiMsg("<div class=\"mw-listgrouprights-key\">\n\$1\n</div>", 'listgrouprights-key');
    }
开发者ID:rocLv,项目名称:conference,代码行数:55,代码来源:SpecialListgrouprights.php

示例5: getNamespaceName

 public function getNamespaceName($ns)
 {
     $ns = intval($ns);
     if (!$ns) {
         $name = "Main";
     } else {
         $name = MWNamespace::getCanonicalName($ns);
         if (empty($name)) {
             $name = "Namespace-{$ns}";
         }
     }
     return $name;
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:13,代码来源:count_namespaces_per_wikia.php

示例6: select

 function select($table, $fields, $conds = '', $fname = 'DatabaseBase::select', $options = array())
 {
     $row = array();
     $title = false;
     if (isset($conds['page_title'])) {
         $title = $conds['page_title'];
         if ($conds['page_namespace'] && MWNamespace::getCanonicalName($conds['page_namespace'])) {
             $title = MWNamespace::getCanonicalName($conds['page_namespace']) . ':' . $title;
         }
     }
     if ($title && ($table == 'page' || is_array($table) && in_array('page', $table))) {
         if (preg_match('/Template:Pp-/i', $title)) {
             return false;
         }
         $textid = CachedStorage::fetchIdByTitle($title);
         if (!$textid) {
             $content = DumpReader::load_article($title);
             if (!$content) {
                 wfDebug('no content for ' . $title);
                 return false;
             }
             $textid = CachedStorage::set($title, $content);
         }
     } elseif (isset($conds['rev_id'])) {
         $textid = $conds['rev_id'];
     }
     if (!isset($textid)) {
         return $this->resultObject(array());
     }
     if ($table == 'page') {
         // Given a page_title, get the id of text content.  For efficiency,
         //	we fetch the text and store it by ID to access in case 2.
         $row = array_fill_keys($fields, '');
         $row['page_id'] = $textid;
         $row['page_title'] = $title;
         $row['page_latest'] = $textid;
     } elseif ($table == array('page', 'revision')) {
         // Redundantly return textid which is cache key to article wml.
         $fields[] = 'rev_user';
         $fields[] = 'rev_user_text';
         $row = array_fill_keys($fields, '');
         $row['rev_id'] = $textid;
         $row['rev_text_id'] = $textid;
     } else {
         print_r($table);
         print_r($conds);
     }
     return $this->resultObject($row);
 }
开发者ID:realsoc,项目名称:mediawiki-extensions,代码行数:49,代码来源:DatabaseBz2.php

示例7: getFilePrefixRegex

 /**
  * @param $contLang \Language
  * Used as local cache for getting string to remove
  */
 private function getFilePrefixRegex($contLang)
 {
     $langCode = $contLang->getCode();
     if (empty($this->filePrefixRegex[$langCode])) {
         $fileNamespaces = [\MWNamespace::getCanonicalName(NS_FILE), $contLang->getNamespaces()[NS_FILE]];
         $aliases = $contLang->getNamespaceAliases();
         foreach ($aliases as $alias => $namespaceId) {
             if ($namespaceId == NS_FILE) {
                 $fileNamespaces[] = $alias;
             }
         }
         $this->filePrefixRegex[$langCode] = '^(' . implode('|', $fileNamespaces) . '):';
     }
     return $this->filePrefixRegex[$langCode];
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:19,代码来源:ImageFilenameSanitizer.php

示例8: execute

    /**
     * Show the special page
     */
    public function execute($par)
    {
        global $wgOut, $wgImplicitGroups, $wgMessageCache;
        global $wgGroupPermissions, $wgAddGroups, $wgRemoveGroups;
        $wgMessageCache->loadAllMessages();
        $this->setHeaders();
        $this->outputHeader();
        $wgOut->addHTML(Xml::openElement('table', array('class' => 'mw-listgrouprights-table')) . '<tr>' . Xml::element('th', null, wfMsg('listgrouprights-group')) . Xml::element('th', null, wfMsg('listgrouprights-rights')) . '</tr>');
        foreach ($wgGroupPermissions as $group => $permissions) {
            $groupname = $group == '*' ? 'all' : htmlspecialchars($group);
            // Replace * with a more descriptive groupname
            $msg = wfMsg('group-' . $groupname);
            if (wfEmptyMsg('group-' . $groupname, $msg) || $msg == '') {
                $groupnameLocalized = $groupname;
            } else {
                $groupnameLocalized = $msg;
            }
            $msg = wfMsgForContent('grouppage-' . $groupname);
            if (wfEmptyMsg('grouppage-' . $groupname, $msg) || $msg == '') {
                $grouppageLocalized = MWNamespace::getCanonicalName(NS_PROJECT) . ':' . $groupname;
            } else {
                $grouppageLocalized = $msg;
            }
            if ($group == '*') {
                // Do not make a link for the generic * group
                $grouppage = $groupnameLocalized;
            } else {
                $grouppage = $this->skin->makeLink($grouppageLocalized, $groupnameLocalized);
            }
            if ($group === 'user') {
                // Link to Special:listusers for implicit group 'user'
                $grouplink = '<br />' . $this->skin->makeKnownLinkObj(SpecialPage::getTitleFor('Listusers'), wfMsgHtml('listgrouprights-members'), '');
            } elseif (!in_array($group, $wgImplicitGroups)) {
                $grouplink = '<br />' . $this->skin->makeKnownLinkObj(SpecialPage::getTitleFor('Listusers'), wfMsgHtml('listgrouprights-members'), 'group=' . $group);
            } else {
                // No link to Special:listusers for other implicit groups as they are unlistable
                $grouplink = '';
            }
            $addgroups = isset($wgAddGroups[$group]) ? $wgAddGroups[$group] : array();
            $removegroups = isset($wgRemoveGroups[$group]) ? $wgRemoveGroups[$group] : array();
            $wgOut->addHTML('<tr>
					<td>' . $grouppage . $grouplink . '</td>
					<td>' . self::formatPermissions($permissions, $addgroups, $removegroups) . '</td>
				</tr>');
        }
        $wgOut->addHTML(Xml::closeElement('table') . "\n");
    }
开发者ID:josephdye,项目名称:wikireader,代码行数:50,代码来源:SpecialListgrouprights.php

示例9: execute

    /**
     * Show the special page
     */
    public function execute($par)
    {
        global $wgImplicitGroups;
        global $wgGroupPermissions, $wgRevokePermissions, $wgAddGroups, $wgRemoveGroups;
        global $wgGroupsAddToSelf, $wgGroupsRemoveFromSelf;
        $out = $this->getOutput();
        $this->setHeaders();
        $this->outputHeader();
        $out->addModuleStyles('mediawiki.special');
        $out->addHTML(Xml::openElement('table', array('class' => 'wikitable mw-listgrouprights-table')) . '<tr>' . Xml::element('th', null, wfMsg('listgrouprights-group')) . Xml::element('th', null, wfMsg('listgrouprights-rights')) . '</tr>');
        $allGroups = array_unique(array_merge(array_keys($wgGroupPermissions), array_keys($wgRevokePermissions), array_keys($wgAddGroups), array_keys($wgRemoveGroups), array_keys($wgGroupsAddToSelf), array_keys($wgGroupsRemoveFromSelf)));
        asort($allGroups);
        foreach ($allGroups as $group) {
            $permissions = isset($wgGroupPermissions[$group]) ? $wgGroupPermissions[$group] : array();
            $groupname = $group == '*' ? 'all' : $group;
            $msg = wfMessage('group-' . $groupname);
            $groupnameLocalized = !$msg->isBlank() ? $msg->text() : $groupname;
            $msg = wfMessage('grouppage-' . $groupname)->inContentLanguage();
            $grouppageLocalized = !$msg->isBlank() ? $msg->text() : MWNamespace::getCanonicalName(NS_PROJECT) . ':' . $groupname;
            if ($group == '*') {
                // Do not make a link for the generic * group
                $grouppage = htmlspecialchars($groupnameLocalized);
            } else {
                $grouppage = Linker::link(Title::newFromText($grouppageLocalized), htmlspecialchars($groupnameLocalized));
            }
            if ($group === 'user') {
                // Link to Special:listusers for implicit group 'user'
                $grouplink = '<br />' . Linker::link(SpecialPage::getTitleFor('Listusers'), wfMsgHtml('listgrouprights-members'), array(), array(), array('known', 'noclasses'));
            } elseif (!in_array($group, $wgImplicitGroups)) {
                $grouplink = '<br />' . Linker::link(SpecialPage::getTitleFor('Listusers'), wfMsgHtml('listgrouprights-members'), array(), array('group' => $group), array('known', 'noclasses'));
            } else {
                // No link to Special:listusers for other implicit groups as they are unlistable
                $grouplink = '';
            }
            $revoke = isset($wgRevokePermissions[$group]) ? $wgRevokePermissions[$group] : array();
            $addgroups = isset($wgAddGroups[$group]) ? $wgAddGroups[$group] : array();
            $removegroups = isset($wgRemoveGroups[$group]) ? $wgRemoveGroups[$group] : array();
            $addgroupsSelf = isset($wgGroupsAddToSelf[$group]) ? $wgGroupsAddToSelf[$group] : array();
            $removegroupsSelf = isset($wgGroupsRemoveFromSelf[$group]) ? $wgGroupsRemoveFromSelf[$group] : array();
            $id = $group == '*' ? false : Sanitizer::escapeId($group);
            $out->addHTML(Html::rawElement('tr', array('id' => $id), "\n\t\t\t\t<td>{$grouppage}{$grouplink}</td>\n\t\t\t\t\t<td>" . self::formatPermissions($permissions, $revoke, $addgroups, $removegroups, $addgroupsSelf, $removegroupsSelf) . '</td>
				'));
        }
        $out->addHTML(Xml::closeElement('table') . "\n<br /><hr />\n");
        $out->wrapWikiMsg("<div class=\"mw-listgrouprights-key\">\n\$1\n</div>", 'listgrouprights-key');
    }
开发者ID:eFFemeer,项目名称:seizamcore,代码行数:49,代码来源:SpecialListgrouprights.php

示例10: createPage

 protected function createPage($page, $text, $model = null)
 {
     if (is_string($page)) {
         if (!preg_match('/:/', $page) && ($model === null || $model === CONTENT_MODEL_WIKITEXT)) {
             $ns = $this->getDefaultWikitextNS();
             $page = MWNamespace::getCanonicalName($ns) . ':' . $page;
         }
         $page = Title::newFromText($page);
     }
     if ($page instanceof Title) {
         $page = new WikiPage($page);
     }
     if ($page->exists()) {
         $page->doDeleteArticle("done");
     }
     $content = ContentHandler::makeContent($text, $page->getTitle(), $model);
     $page->doEditContent($content, "testing", EDIT_NEW);
     return $page;
 }
开发者ID:claudinec,项目名称:galan-wiki,代码行数:19,代码来源:RevisionStorageTest.php

示例11: register

 function register()
 {
     global $wgContLang, $wgNamespaceAliases, $wgNonincludableNamespaces;
     $lib = array('loadSiteStats' => array($this, 'loadSiteStats'), 'getNsIndex' => array($this, 'getNsIndex'), 'pagesInCategory' => array($this, 'pagesInCategory'), 'pagesInNamespace' => array($this, 'pagesInNamespace'), 'usersInGroup' => array($this, 'usersInGroup'));
     $info = array('siteName' => $GLOBALS['wgSitename'], 'server' => $GLOBALS['wgServer'], 'scriptPath' => $GLOBALS['wgScriptPath'], 'stylePath' => $GLOBALS['wgStylePath'], 'currentVersion' => SpecialVersion::getVersion());
     if (!self::$namespacesCache) {
         $namespaces = array();
         $namespacesByName = array();
         foreach ($wgContLang->getFormattedNamespaces() as $ns => $title) {
             $canonical = MWNamespace::getCanonicalName($ns);
             $namespaces[$ns] = array('id' => $ns, 'name' => $title, 'canonicalName' => strtr($canonical, '_', ' '), 'hasSubpages' => MWNamespace::hasSubpages($ns), 'hasGenderDistinction' => MWNamespace::hasGenderDistinction($ns), 'isCapitalized' => MWNamespace::isCapitalized($ns), 'isContent' => MWNamespace::isContent($ns), 'isIncludable' => !($wgNonincludableNamespaces && in_array($ns, $wgNonincludableNamespaces)), 'isMovable' => MWNamespace::isMovable($ns), 'isSubject' => MWNamespace::isSubject($ns), 'isTalk' => MWNamespace::isTalk($ns), 'aliases' => array());
             if ($ns >= NS_MAIN) {
                 $namespaces[$ns]['subject'] = MWNamespace::getSubject($ns);
                 $namespaces[$ns]['talk'] = MWNamespace::getTalk($ns);
                 $namespaces[$ns]['associated'] = MWNamespace::getAssociated($ns);
             } else {
                 $namespaces[$ns]['subject'] = $ns;
             }
             $namespacesByName[strtr($title, ' ', '_')] = $ns;
             if ($canonical) {
                 $namespacesByName[$canonical] = $ns;
             }
         }
         $aliases = array_merge($wgNamespaceAliases, $wgContLang->getNamespaceAliases());
         foreach ($aliases as $title => $ns) {
             if (!isset($namespacesByName[$title])) {
                 $ct = count($namespaces[$ns]['aliases']);
                 $namespaces[$ns]['aliases'][$ct + 1] = $title;
                 $namespacesByName[$title] = $ns;
             }
         }
         $namespaces[NS_MAIN]['displayName'] = wfMessage('blanknamespace')->text();
         self::$namespacesCache = $namespaces;
     }
     $info['namespaces'] = self::$namespacesCache;
     if (self::$siteStatsLoaded) {
         $stats = $this->loadSiteStats();
         $info['stats'] = $stats[0];
     }
     $this->getEngine()->registerInterface('mw.site.lua', $lib, $info);
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:41,代码来源:SiteLibrary.php

示例12: register

 function register()
 {
     global $wgContLang, $wgNamespaceAliases, $wgDisableCounters;
     $lib = array('getNsIndex' => array($this, 'getNsIndex'), 'pagesInCategory' => array($this, 'pagesInCategory'), 'pagesInNamespace' => array($this, 'pagesInNamespace'), 'usersInGroup' => array($this, 'usersInGroup'), 'interwikiMap' => array($this, 'interwikiMap'));
     $info = array('siteName' => $GLOBALS['wgSitename'], 'server' => $GLOBALS['wgServer'], 'scriptPath' => $GLOBALS['wgScriptPath'], 'stylePath' => $GLOBALS['wgStylePath'], 'currentVersion' => SpecialVersion::getVersion());
     if (!self::$namespacesCache || self::$namespacesCacheLang !== $wgContLang->getCode()) {
         $namespaces = array();
         $namespacesByName = array();
         foreach ($wgContLang->getFormattedNamespaces() as $ns => $title) {
             $canonical = MWNamespace::getCanonicalName($ns);
             $namespaces[$ns] = array('id' => $ns, 'name' => $title, 'canonicalName' => strtr($canonical, '_', ' '), 'hasSubpages' => MWNamespace::hasSubpages($ns), 'hasGenderDistinction' => MWNamespace::hasGenderDistinction($ns), 'isCapitalized' => MWNamespace::isCapitalized($ns), 'isContent' => MWNamespace::isContent($ns), 'isIncludable' => !MWNamespace::isNonincludable($ns), 'isMovable' => MWNamespace::isMovable($ns), 'isSubject' => MWNamespace::isSubject($ns), 'isTalk' => MWNamespace::isTalk($ns), 'defaultContentModel' => MWNamespace::getNamespaceContentModel($ns), 'aliases' => array());
             if ($ns >= NS_MAIN) {
                 $namespaces[$ns]['subject'] = MWNamespace::getSubject($ns);
                 $namespaces[$ns]['talk'] = MWNamespace::getTalk($ns);
                 $namespaces[$ns]['associated'] = MWNamespace::getAssociated($ns);
             } else {
                 $namespaces[$ns]['subject'] = $ns;
             }
             $namespacesByName[strtr($title, ' ', '_')] = $ns;
             if ($canonical) {
                 $namespacesByName[$canonical] = $ns;
             }
         }
         $aliases = array_merge($wgNamespaceAliases, $wgContLang->getNamespaceAliases());
         foreach ($aliases as $title => $ns) {
             if (!isset($namespacesByName[$title]) && isset($namespaces[$ns])) {
                 $ct = count($namespaces[$ns]['aliases']);
                 $namespaces[$ns]['aliases'][$ct + 1] = $title;
                 $namespacesByName[$title] = $ns;
             }
         }
         $namespaces[NS_MAIN]['displayName'] = wfMessage('blanknamespace')->inContentLanguage()->text();
         self::$namespacesCache = $namespaces;
         self::$namespacesCacheLang = $wgContLang->getCode();
     }
     $info['namespaces'] = self::$namespacesCache;
     $info['stats'] = array('pages' => (int) SiteStats::pages(), 'articles' => (int) SiteStats::articles(), 'files' => (int) SiteStats::images(), 'edits' => (int) SiteStats::edits(), 'views' => $wgDisableCounters ? null : (int) SiteStats::views(), 'users' => (int) SiteStats::users(), 'activeUsers' => (int) SiteStats::activeUsers(), 'admins' => (int) SiteStats::numberingroup('sysop'));
     return $this->getEngine()->registerInterface('mw.site.lua', $lib, $info);
 }
开发者ID:sammykumar,项目名称:TheVRForums,代码行数:39,代码来源:SiteLibrary.php

示例13: SharedHelpArticleExists

/**
 * does $title article exist @help.wikia?
 *
 * @see SharedHelpHook
 */
function SharedHelpArticleExists($title)
{
    global $wgMemc, $wgSharedDB, $wgHelpWikiId;
    wfProfileIn(__METHOD__);
    $exists = false;
    $sharedLinkKey = $wgSharedDB . ':sharedLinks:' . $wgHelpWikiId . ':' . MWNamespace::getCanonicalName($title->getNamespace()) . ':' . $title->getDBkey();
    $sharedLink = $wgMemc->get($sharedLinkKey);
    if ($sharedLink) {
        $exists = true;
    } else {
        $sharedArticleKey = $wgSharedDB . ':sharedArticles:' . $wgHelpWikiId . ':' . MWNamespace::getCanonicalName($title->getNamespace()) . ':' . $title->getDBkey() . ':' . SHAREDHELP_CACHE_VERSION;
        $sharedArticle = $wgMemc->get($sharedArticleKey);
        if (!empty($sharedArticle['timestamp'])) {
            $exists = true;
        } else {
            wfProfileIn(__METHOD__ . '::query');
            $dbr = wfGetDB(DB_SLAVE, array(), WikiFactory::IDtoDB($wgHelpWikiId));
            $res = $dbr->select('page', 'page_id', array('page_namespace' => NS_HELP, 'page_title' => $title->getDBkey()), __METHOD__);
            if ($row = $dbr->fetchObject($res)) {
                if (!empty($row->page_id)) {
                    $exists = true;
                }
            }
            wfProfileOut(__METHOD__ . '::query');
        }
        if ($exists) {
            $wgMemc->set($sharedLinkKey, true);
        }
    }
    wfProfileOut(__METHOD__);
    return $exists;
}
开发者ID:schwarer2006,项目名称:wikia,代码行数:37,代码来源:SharedHelp.php

示例14: getGroupStats

 private function getGroupStats()
 {
     global $wgGroupPermissions, $wgImplicitGroups;
     $text = '';
     foreach ($wgGroupPermissions as $group => $permissions) {
         # Skip generic * and implicit groups
         if (in_array($group, $wgImplicitGroups) || $group == '*') {
             continue;
         }
         $groupname = htmlspecialchars($group);
         $msg = $this->msg('group-' . $groupname);
         if ($msg->isBlank()) {
             $groupnameLocalized = $groupname;
         } else {
             $groupnameLocalized = $msg->text();
         }
         $msg = $this->msg('grouppage-' . $groupname)->inContentLanguage();
         if ($msg->isBlank()) {
             $grouppageLocalized = MWNamespace::getCanonicalName(NS_PROJECT) . ':' . $groupname;
         } else {
             $grouppageLocalized = $msg->text();
         }
         $linkTarget = Title::newFromText($grouppageLocalized);
         $grouppage = Linker::link($linkTarget, htmlspecialchars($groupnameLocalized));
         $grouplink = Linker::linkKnown(SpecialPage::getTitleFor('Listusers'), $this->msg('listgrouprights-members')->escaped(), array(), array('group' => $group));
         # Add a class when a usergroup contains no members to allow hiding these rows
         $classZero = '';
         $countUsers = SiteStats::numberingroup($groupname);
         if ($countUsers == 0) {
             $classZero = ' statistics-group-zero';
         }
         $text .= $this->formatRow($grouppage . ' ' . $grouplink, $this->getLanguage()->formatNum($countUsers), array('class' => 'statistics-group-' . Sanitizer::escapeClass($group) . $classZero));
     }
     return $text;
 }
开发者ID:Tarendai,项目名称:spring-website,代码行数:35,代码来源:SpecialStatistics.php

示例15: formatLinksInComment

    /**
     * Formats wiki links and media links in text; all other wiki formatting
     * is ignored
     *
     * @todo FIXME: Doesn't handle sub-links as in image thumb texts like the main parser
     * @param string $comment Text to format links in. WARNING! Since the output of this
     *	function is html, $comment must be sanitized for use as html. You probably want
     *	to pass $comment through Sanitizer::escapeHtmlAllowEntities() before calling
     *	this function.
     * @param Title|null $title An optional title object used to links to sections
     * @param bool $local Whether section links should refer to local page
     * @param string|null $wikiId Id of the wiki to link to (if not the local wiki),
     *  as used by WikiMap.
     *
     * @return string
     */
    public static function formatLinksInComment($comment, $title = null, $local = false, $wikiId = null)
    {
        return preg_replace_callback('/
				\\[\\[
				:? # ignore optional leading colon
				([^\\]|]+) # 1. link target; page names cannot include ] or |
				(?:\\|
					# 2. a pipe-separated substring; only the last is captured
					# Stop matching at | and ]] without relying on backtracking.
					((?:]?[^\\]|])*+)
				)*
				\\]\\]
				([^[]*) # 3. link trail (the text up until the next link)
			/x', function ($match) use($title, $local, $wikiId) {
            global $wgContLang;
            $medians = '(?:' . preg_quote(MWNamespace::getCanonicalName(NS_MEDIA), '/') . '|';
            $medians .= preg_quote($wgContLang->getNsText(NS_MEDIA), '/') . '):';
            $comment = $match[0];
            # fix up urlencoded title texts (copied from Parser::replaceInternalLinks)
            if (strpos($match[1], '%') !== false) {
                $match[1] = strtr(rawurldecode($match[1]), array('<' => '&lt;', '>' => '&gt;'));
            }
            # Handle link renaming [[foo|text]] will show link as "text"
            if ($match[2] != "") {
                $text = $match[2];
            } else {
                $text = $match[1];
            }
            $submatch = array();
            $thelink = null;
            if (preg_match('/^' . $medians . '(.*)$/i', $match[1], $submatch)) {
                # Media link; trail not supported.
                $linkRegexp = '/\\[\\[(.*?)\\]\\]/';
                $title = Title::makeTitleSafe(NS_FILE, $submatch[1]);
                if ($title) {
                    $thelink = Linker::makeMediaLinkObj($title, $text);
                }
            } else {
                # Other kind of link
                if (preg_match($wgContLang->linkTrail(), $match[3], $submatch)) {
                    $trail = $submatch[1];
                } else {
                    $trail = "";
                }
                $linkRegexp = '/\\[\\[(.*?)\\]\\]' . preg_quote($trail, '/') . '/';
                if (isset($match[1][0]) && $match[1][0] == ':') {
                    $match[1] = substr($match[1], 1);
                }
                list($inside, $trail) = Linker::splitTrail($trail);
                $linkText = $text;
                $linkTarget = Linker::normalizeSubpageLink($title, $match[1], $linkText);
                $target = Title::newFromText($linkTarget);
                if ($target) {
                    if ($target->getText() == '' && !$target->isExternal() && !$local && $title) {
                        $newTarget = clone $title;
                        $newTarget->setFragment('#' . $target->getFragment());
                        $target = $newTarget;
                    }
                    $thelink = Linker::makeCommentLink($target, $linkText . $inside, $wikiId) . $trail;
                }
            }
            if ($thelink) {
                // If the link is still valid, go ahead and replace it in!
                $comment = preg_replace($linkRegexp, StringUtils::escapeRegexReplacement($thelink), $comment, 1);
            }
            return $comment;
        }, $comment);
    }
开发者ID:paladox,项目名称:2,代码行数:84,代码来源:Linker.php


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