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


PHP MWNamespace::isTalk方法代码示例

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


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

示例1: getIconType

 public static function getIconType($item)
 {
     wfProfileIn(__METHOD__);
     $type = false;
     if (MWNamespace::isTalk($item['namespace'])) {
         wfProfileOut(__METHOD__);
         return self::FEED_TALK_ICON;
     }
     if (defined('NS_BLOG_ARTICLE_TALK') && $item['namespace'] == NS_BLOG_ARTICLE_TALK) {
         wfProfileOut(__METHOD__);
         return self::FEED_COMMENT_ICON;
     }
     //video namespace
     if ($item['namespace'] == 400) {
         wfProfileOut(__METHOD__);
         return self::FEED_FILM_ICON;
     }
     switch ($item['type']) {
         case 'upload':
             $type = self::FEED_PHOTO_ICON;
             break;
         default:
             $type = $item['new'] == '1' ? self::FEED_SUN_ICON : self::FEED_PENCIL_ICON;
     }
     wfProfileOut(__METHOD__);
     return $type;
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:27,代码来源:UserContributionsRenderer.php

示例2: get

 public function get($limit = 10, User $user = null)
 {
     wfProfileIn(__METHOD__);
     global $wgUser;
     if (!$user instanceof User) {
         $user = $wgUser;
     }
     $result = array();
     $params = array();
     $params['action'] = 'query';
     $params['list'] = 'usercontribs';
     $params['ucuser'] = $user->getName();
     $params['ucprop'] = 'ids|title|timestamp|flags|comment|wikiamode';
     $params['uclimit'] = $limit;
     $api = new ApiMain(new FauxRequest($params));
     $api->execute();
     $res =& $api->GetResultData();
     $i = -1;
     foreach ($res['query']['usercontribs'] as &$entry) {
         $titleObj = Title::newFromText($entry['title']);
         $result[++$i] = array('url' => $titleObj->getLocalURL(), 'title' => $titleObj->getText(), 'timestamp' => $entry['timestamp'], 'namespace' => $entry['ns'], 'type' => 'edit', 'new' => $entry['rev_parent_id'] == 0 ? '1' : '0', 'diff' => empty($entry['rev_parent_id']) ? '' : $titleObj->getLocalURL('diff=' . $entry['revid'] . '&oldid=' . $entry['rev_parent_id']));
         if (MWNamespace::isTalk($entry['ns']) || in_array($entry['ns'], array(400, NS_USER, NS_TEMPLATE, NS_MEDIAWIKI))) {
             $title = $titleObj->getPrefixedText();
             if (defined('ARTICLECOMMENT_PREFIX') && strpos($title, '/') !== false && strpos(end(explode('/', $title)), ARTICLECOMMENT_PREFIX) === 0) {
                 $result[$i]['title'] = end(explode(':', reset(explode('/', $title, 2)), 2));
             } else {
                 $result[$i]['title'] = $title;
             }
         }
         if (defined('NS_BLOG_ARTICLE_TALK') && $entry['ns'] == NS_BLOG_ARTICLE_TALK) {
             $result[$i]['title'] = wfMsg('myhome-namespace-blog') . ':' . $result[$i]['title'];
         }
         if ($entry['ns'] == NS_FILE) {
             list(, $title) = explode(':', $entry['title'], 2);
             $title = str_replace(' ', '_', $title);
             $tsUnix = wfTimestamp(TS_UNIX, $entry['timestamp']);
             $tsMin = wfTimestamp(TS_MW, $tsUnix - 5);
             $tsMax = wfTimestamp(TS_MW, $tsUnix + 5);
             //get type of file operations
             $dbr = wfGetDB(DB_SLAVE);
             $type = $dbr->selectField(array('logging'), array('log_type'), array('log_type' => 'upload', 'log_namespace' => $entry['ns'], 'log_title' => $title, "log_timestamp BETWEEN {$tsMin} AND {$tsMax}"), __METHOD__);
             if ($type !== false) {
                 $result[$i]['type'] = 'upload';
                 $result[$i]['diff'] = '';
             }
         }
     }
     wfProfileOut(__METHOD__);
     return $result;
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:50,代码来源:UserContribsProviderService.class.php

示例3: testIsTalk

 /**
  * Reverse of testIsMain().
  * Please update testIsMain() if you change assertions below
  */
 public function testIsTalk()
 {
     // Special namespaces
     $this->assertFalse(MWNamespace::isTalk(NS_MEDIA));
     $this->assertFalse(MWNamespace::isTalk(NS_SPECIAL));
     // Subject pages
     $this->assertFalse(MWNamespace::isTalk(NS_MAIN));
     $this->assertFalse(MWNamespace::isTalk(NS_USER));
     $this->assertFalse(MWNamespace::isTalk(100));
     # user defined
     // Talk pages
     $this->assertTrue(MWNamespace::isTalk(NS_TALK));
     $this->assertTrue(MWNamespace::isTalk(NS_USER_TALK));
     $this->assertTrue(MWNamespace::isTalk(101));
     # user defined
 }
开发者ID:eFFemeer,项目名称:seizamcore,代码行数:20,代码来源:MWNamespaceTest.php

示例4: wfPolyglotInitializeArticleMaybeRedirect

function wfPolyglotInitializeArticleMaybeRedirect(&$title, &$request, &$ignoreRedirect, &$target, &$article)
{
    global $wgPolyglotExcemptNamespaces, $wgPolyglotExcemptTalkPages, $wgPolyglotFollowRedirects;
    global $wgLang, $wgContLang;
    $ns = $title->getNamespace();
    if ($ns < 0 || in_array($ns, $wgPolyglotExcemptNamespaces) || $wgPolyglotExcemptTalkPages && MWNamespace::isTalk($ns)) {
        return true;
    }
    $dbkey = $title->getDBkey();
    $force = false;
    //TODO: when user-defined language links start working (see below),
    //      we need to look at the langlinks table here.
    if (!$title->exists() && strlen($dbkey) > 1) {
        $escContLang = preg_quote($wgContLang->getCode(), '!');
        if (preg_match('!/$!', $dbkey)) {
            $force = true;
            $remove = 1;
        } elseif (preg_match("!/{$escContLang}\$!", $dbkey)) {
            $force = true;
            $remove = strlen($wgContLang->getCode()) + 1;
        }
    }
    if ($force) {
        $t = Title::makeTitle($ns, substr($dbkey, 0, strlen($dbkey) - $remove));
    } else {
        $lang = $wgLang->getCode();
        $t = Title::makeTitle($ns, $dbkey . '/' . $lang);
    }
    if (!$t->exists()) {
        return true;
    }
    if ($wgPolyglotFollowRedirects && !$force) {
        $page = WikiPage::factory($t);
        if ($page->isRedirect()) {
            $rt = $page->getRedirectTarget();
            if ($rt && $rt->exists()) {
                //TODO: make "redirected from" show $source, not $title, if we followed a redirect internally.
                //     there seems to be no clean way to do that, though.
                //$source = $t;
                $t = $rt;
            }
        }
    }
    $target = $t;
    return true;
}
开发者ID:eFFemeer,项目名称:seizamcore,代码行数:46,代码来源:PolyglotS.php

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

示例6: build

 public function build()
 {
     global $wgSitename, $wgContLanguageCode;
     $article = $this->Agent->getArticle();
     $model = MwRdf::Model();
     $rdf = MwRdf::Vocabulary('rdf');
     $dc = MwRdf::Vocabulary('dc');
     $dctype = MwRdf::Vocabulary('dctype');
     $artres = $this->Agent->titleResource();
     $model->addStatement(MwRdf::Statement($artres, $dc->title, MwRdf::LiteralNode($this->Agent->getTitle()->getText())));
     $model->addStatement(MwRdf::Statement($artres, $dc->publisher, MwRdf::PageOrString(wfMsg('aboutpage'), $wgSitename)));
     $model->addStatement(MwRdf::Statement($artres, $dc->language, MwRdf::Language($wgContLanguageCode)));
     $model->addStatement(MwRdf::Statement($artres, $dc->type, $dctype->Text));
     $model->addStatement(MwRdf::Statement($artres, $dc->format, MwRdf::MediaType('text/html')));
     if ($this->Agent->getTimestampResource()) {
         $model->addStatement(MwRdf::Statement($artres, $dc->date, $this->Agent->getTimestampResource()));
     }
     if (MWNamespace::isTalk($this->Agent->getTitle()->getNamespace())) {
         $model->addStatement(MwRdf::Statement($artres, $dc->subject, $this->Agent->subjectResource()));
     } else {
         $talk = MwRdf::ModelingAgent($this->Agent->getTitle()->getTalkPage());
         $model->addStatement(MwRdf::Statement($talk->titleResource(), $dc->subject, $artres));
     }
     # 'Creator' is responsible for this version
     $creator = MwRdf::PersonToResource($article->getUser());
     $model->addStatement(MwRdf::Statement($artres, $dc->creator, $creator));
     # 'Contributors' are all other version authors
     $contributors = $article->getContributors();
     foreach ($contributors as $user_parts) {
         $contributor = MwRdf::PersonToResource($user_parts[0], $user_parts[1], $user_parts[2]);
         $model->addStatement(MwRdf::Statement($artres, $dc->contributor, $contributor));
     }
     # Rights notification
     global $wgRightsPage, $wgRightsUrl, $wgRightsText;
     $rights = MwRdf::RightsResource();
     if ($rights) {
         $model->addStatement(MwRdf::Statement($artres, $dc->rights, $rights));
     }
     return $model;
 }
开发者ID:schwarer2006,项目名称:wikia,代码行数:40,代码来源:DCmes.php

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

示例8: getIconType

 public static function getIconType($row)
 {
     if (!isset($row['type'])) {
         return false;
     }
     wfProfileIn(__METHOD__);
     $type = false;
     switch ($row['type']) {
         case 'new':
             switch ($row['ns']) {
                 // blog post
                 case 500:
                     $type = self::FEED_SUN_ICON;
                     break;
                     // blog comment
                 // blog comment
                 case 501:
                     // wall comment
                 // wall comment
                 case 1001:
                     $type = self::FEED_COMMENT_ICON;
                     break;
                     // content NS
                 // content NS
                 default:
                     if (empty($row['articleComment'])) {
                         $type = MWNamespace::isTalk($row['ns']) ? self::FEED_TALK_ICON : self::FEED_SUN_ICON;
                     } else {
                         $type = self::FEED_COMMENT_ICON;
                     }
             }
             break;
         case 'edit':
             // edit done from editor
             if (empty($row['viewMode'])) {
                 // talk pages
                 if (isset($row['ns']) && MWNamespace::isTalk($row['ns'])) {
                     if (empty($row['articleComment'])) {
                         $type = self::FEED_TALK_ICON;
                     } else {
                         $type = self::FEED_COMMENT_ICON;
                     }
                 } else {
                     $type = self::FEED_PENCIL_ICON;
                 }
             } else {
                 // category added
                 if (!empty($row['CategorySelect'])) {
                     $type = self::FEED_CATEGORY_ICON;
                 } elseif (!empty($row['new_categories'])) {
                     $type = self::FEED_PENCIL_ICON;
                 } elseif (!empty($row['new_images'])) {
                     $type = self::FEED_PHOTO_ICON;
                 } else {
                     $type = self::FEED_FILM_ICON;
                 }
             }
             break;
         case 'delete':
             $type = self::FEED_DELETE_ICON;
             break;
         case 'move':
         case 'redirect':
             $type = self::FEED_MOVE_ICON;
             break;
         case 'upload':
             $type = self::FEED_PHOTO_ICON;
             break;
     }
     wfProfileOut(__METHOD__);
     return $type;
 }
开发者ID:schwarer2006,项目名称:wikia,代码行数:72,代码来源:FeedRenderer.php

示例9: findEpisode

 protected function findEpisode($seriesName, $episodeName, $lang, $quality = self::DEFAULT_QUALITY)
 {
     // TODO: this is a workaround to not alter schema of main index too much
     // once the next gen search is implemented such workarounds would not be needed hopefully
     // this replaces american right apostrophe with normal one
     $episodeName = str_replace("’", "'", $episodeName);
     $seriesService = $this->getWikiSeriesService();
     $seriesService->setLang($lang);
     $wikis = $seriesService->query($seriesName);
     if (!empty($wikis)) {
         $episodeService = $this->getEpisodeService();
         $episodeService->setLang($lang)->setSeries($seriesName)->setQuality($quality);
         $result = null;
         foreach ($wikis as $wiki) {
             $episodeService->setWikiId($wiki['id']);
             $namespaces = WikiFactory::getVarValueByName(self::WG_CONTENT_NAMESPACES_KEY, $wiki['id']);
             $episodeService->setNamespace($namespaces);
             $result = $episodeService->query($episodeName);
             if ($result === null) {
                 $result = $this->getTitle($episodeName, $wiki['id']);
             }
             if ($result === null) {
                 $namespaceNames = WikiFactory::getVarValueByName(self::WG_EXTRA_LOCAL_NAMESPACES_KEY, $wiki['id']);
                 if (is_array($namespaces)) {
                     foreach ($namespaces as $ns) {
                         if (!MWNamespace::isTalk($ns) && isset($namespaceNames[$ns])) {
                             $result = $episodeService->query($namespaceNames[$ns] . ":" . $episodeName);
                             if ($result !== null) {
                                 break;
                             }
                         }
                     }
                 }
             }
             if ($result !== null) {
                 if ($quality == null || $result['quality'] !== null && $result['quality'] >= $quality) {
                     return $result;
                 }
             }
         }
     }
     return false;
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:43,代码来源:TvApiController.class.php

示例10: runPreferencePlugin

 /**
  * Sets parameters for more complex options in preferences
  * @param string $sAdapterName Name of the adapter, e.g. MW
  * @param BsConfig $oVariable Instance of variable
  * @return array Preferences options
  */
 public function runPreferencePlugin($sAdapterName, $oVariable)
 {
     wfProfileIn('BS::' . __METHOD__);
     $aPrefs = array();
     switch ($oVariable->getName()) {
         case 'disableNS':
             global $wgContLang;
             $aExcludeNmsps = BsConfig::get('MW::VisualEditor::defaultNoContextNS');
             foreach ($wgContLang->getNamespaces() as $sNamespace) {
                 $iNsIndex = $wgContLang->getNsIndex($sNamespace);
                 if (!MWNamespace::isTalk($iNsIndex)) {
                     continue;
                 }
                 $aExcludeNmsps[] = $iNsIndex;
             }
             $aPrefs['type'] = 'multiselectex';
             $aPrefs['options'] = BsNamespaceHelper::getNamespacesForSelectOptions($aExcludeNmsps);
             break;
         default:
     }
     wfProfileOut('BS::' . __METHOD__);
     return $aPrefs;
 }
开发者ID:hfroese,项目名称:mediawiki-extensions-BlueSpiceExtensions,代码行数:29,代码来源:VisualEditor.class.php

示例11: getWatchlistInfo

 /**
  * Get a list of titles on a user's watchlist, excluding talk pages,
  * and return as a two-dimensional array with namespace and title.
  *
  * @return array
  */
 protected function getWatchlistInfo()
 {
     $titles = [];
     $watchedItems = MediaWikiServices::getInstance()->getWatchedItemStore()->getWatchedItemsForUser($this->getUser(), ['sort' => WatchedItemStore::SORT_ASC]);
     $lb = new LinkBatch();
     foreach ($watchedItems as $watchedItem) {
         $namespace = $watchedItem->getLinkTarget()->getNamespace();
         $dbKey = $watchedItem->getLinkTarget()->getDBkey();
         $lb->add($namespace, $dbKey);
         if (!MWNamespace::isTalk($namespace)) {
             $titles[$namespace][$dbKey] = 1;
         }
     }
     $lb->execute();
     return $titles;
 }
开发者ID:paladox,项目名称:mediawiki,代码行数:22,代码来源:SpecialEditWatchlist.php

示例12: wfPolyglotParserAfterTidy

function wfPolyglotParserAfterTidy(&$parser, &$text)
{
    global $wgPolyglotLanguages, $wfPolyglotExcemptNamespaces, $wfPolyglotExcemptTalkPages;
    global $wgContLang;
    if (!$wgPolyglotLanguages) {
        return true;
    }
    if (!$parser->mOptions->getInterwikiMagic()) {
        return true;
    }
    $n = $parser->mTitle->getDBkey();
    $ns = $parser->mTitle->getNamespace();
    $contln = $wgContLang->getCode();
    $userlinks = $parser->mOutput->getLanguageLinks();
    $links = array();
    $pagelang = null;
    //TODO: if we followed a redirect, analyze the redirect's title too.
    //      at least if wgPolyglotFollowRedirects is true
    if ($ns >= 0 && !in_array($ns, $wfPolyglotExcemptNamespaces) && (!$wfPolyglotExcemptTalkPages || !MWNamespace::isTalk($ns))) {
        $ll = wfPolyglotGetLanguages($parser->mTitle);
        if ($ll) {
            $links = array_merge($links, $ll);
        }
        if (preg_match('!(.+)/(\\w[-\\w]*\\w)$!', $n, $m)) {
            $pagelang = $m[2];
            $t = Title::makeTitle($ns, $m[1]);
            if (!isset($links[$contln]) && $t->exists()) {
                $links[$contln] = $t->getFullText() . '/';
            }
            $ll = wfPolyglotGetLanguages($t);
            if ($ll) {
                unset($ll[$pagelang]);
                $links = array_merge($links, $ll);
            }
        }
    }
    //TODO: would be nice to handle "normal" interwiki-links here.
    //      but we would have to hack into Title::getInterwikiLink, otherwise
    //      the links are not recognized.
    /*
    foreach ($userlinks as $link) {
    	$m = explode(':', $link, 2);
    	if (sizeof($m)<2) continue;
    
    	$links[$m[0]] = $m[1];
    }
    */
    if ($pagelang) {
        unset($links[$pagelang]);
    }
    //print_r($links);
    $fakelinks = array();
    foreach ($links as $lang => $t) {
        $fakelinks[] = $lang . ':' . $t;
    }
    $parser->mOutput->setLanguageLinks($fakelinks);
    return true;
}
开发者ID:Tjorriemorrie,项目名称:app,代码行数:58,代码来源:Polyglot.php

示例13: pass

 /**
  * @param object $page
  * @return bool
  */
 function pass($page)
 {
     return !MWNamespace::isTalk($page->page_namespace);
 }
开发者ID:Habatchii,项目名称:wikibase-for-mediawiki,代码行数:8,代码来源:Export.php

示例14: execute


//.........这里部分代码省略.........
                    $pbDateFlag = true;
                }
            }
        }
        $heading = '';
        if (!$sk->suppressH1Tag()) {
            if ($wgTitle->getNamespace() == NS_MAIN && $wgTitle->exists() && $action == "view") {
                if (Microdata::showRecipeTags() && Microdata::showhRecipeTags()) {
                    $itemprop_name1 = " fn'";
                    $itemprop_name2 = "";
                } else {
                    $itemprop_name1 = "' itemprop='name'";
                    $itemprop_name2 = " itemprop='url'";
                }
                $heading = "<h1 class='firstHeading" . $itemprop_name1 . "><a href=\"" . $wgTitle->getFullURL() . "\"" . $itemprop_name2 . ">" . wfMessage('howto', $this->data['title'])->text() . "</a></h1>";
            } else {
                if ($wgTitle->getNamespace() == NS_USER && UserPagePolicy::isGoodUserPage($wgTitle->getDBKey()) || $wgTitle->getNamespace() == NS_USER_TALK) {
                    $heading = "<h1 class=\"firstHeading\" >" . $this->data['title'] . "</h1>  " . $pbDate;
                    if ($avatar) {
                        $heading = $avatar . "<div id='avatarNameWrap'>" . $heading . "</div><div style='clear: both;'> </div>";
                    }
                } else {
                    if ($this->data['title'] && strtolower(substr($wgTitle->getText(), 0, 9)) != 'userlogin') {
                        $heading = "<h1 class='firstHeading'>" . $this->data['title'] . "</h1>";
                    }
                }
            }
        }
        // get the breadcrumbs / category links at the top of the page
        $catLinksTop = $sk->getCategoryLinks(true);
        wfRunHooks('getBreadCrumbs', array(&$catLinksTop));
        $mainPageObj = Title::newMainPage();
        $isPrintable = false;
        if (MWNamespace::isTalk($wgTitle->getNamespace()) && $action == "view") {
            $isPrintable = $wgRequest->getVal("printable") == "yes";
        }
        // QWER links for everyone on all pages
        //$helplink = Linker::link(Title::makeTitle(NS_PROJECT_TALK, 'Help-Team'), wfMessage('help')->text());
        $logoutlink = Linker::link(Title::makeTitle(NS_SPECIAL, 'Userlogout'), wfMessage('logout')->text());
        $rsslink = "<a href='" . $wgServer . "/feed.rss'>" . wfMessage('rss')->text() . "</a>";
        $rplink = Linker::link(Title::makeTitle(NS_SPECIAL, "Randompage"), wfMessage('randompage')->text());
        if ($wgTitle->getNamespace() == NS_MAIN && !$isMainPage && $wgTitle->userCan('edit')) {
            $links[] = array(Title::makeTitle(NS_SPECIAL, "Recentchangeslinked")->getFullURL() . "/" . $wgTitle->getPrefixedURL(), wfMessage('recentchangeslinked')->text());
        }
        //Editing Tools
        $uploadlink = "";
        $freephotoslink = "";
        $uploadlink = Linker::link(Title::makeTitle(NS_SPECIAL, "Upload"), wfMessage('upload')->text());
        $freephotoslink = Linker::link(Title::makeTitle(NS_SPECIAL, "ImportFreeImages"), wfMessage('imageimport')->text());
        $relatedchangeslink = "";
        if ($isArticlePage) {
            $relatedchangeslink = "<li> <a href='" . Title::makeTitle(NS_SPECIAL, "Recentchangeslinked")->getFullURL() . "/" . $wgTitle->getPrefixedURL() . "'>" . wfMessage('recentchangeslinked')->text() . "</a></li>";
        }
        //search
        $searchTitle = Title::makeTitle(NS_SPECIAL, "LSearch");
        $otherLanguageLinks = array();
        $translationData = array();
        if ($this->data['language_urls']) {
            foreach ($this->data['language_urls'] as $lang) {
                if ($lang['code'] == $wgLanguageCode) {
                    continue;
                }
                $otherLanguageLinks[$lang['code']] = $lang['href'];
                $langMsg = $sk->getInterWikiCTA($lang['code'], $lang['text'], $lang['href']);
                if (!$langMsg) {
                    continue;
开发者ID:biribogos,项目名称:wikihow-src,代码行数:67,代码来源:WikiHowSkin.php

示例15: getDefaultWikitextNS

 /**
  * Returns the ID of a namespace that defaults to Wikitext.
  *
  * @throws MWException If there is none.
  * @return int The ID of the wikitext Namespace
  * @since 1.21
  */
 protected function getDefaultWikitextNS()
 {
     global $wgNamespaceContentModels;
     static $wikitextNS = null;
     // this is not going to change
     if ($wikitextNS !== null) {
         return $wikitextNS;
     }
     // quickly short out on most common case:
     if (!isset($wgNamespaceContentModels[NS_MAIN])) {
         return NS_MAIN;
     }
     // NOTE: prefer content namespaces
     $namespaces = array_unique(array_merge(MWNamespace::getContentNamespaces(), array(NS_MAIN, NS_HELP, NS_PROJECT), MWNamespace::getValidNamespaces()));
     $namespaces = array_diff($namespaces, array(NS_FILE, NS_CATEGORY, NS_MEDIAWIKI, NS_USER));
     $talk = array_filter($namespaces, function ($ns) {
         return MWNamespace::isTalk($ns);
     });
     // prefer non-talk pages
     $namespaces = array_diff($namespaces, $talk);
     $namespaces = array_merge($namespaces, $talk);
     // check default content model of each namespace
     foreach ($namespaces as $ns) {
         if (!isset($wgNamespaceContentModels[$ns]) || $wgNamespaceContentModels[$ns] === CONTENT_MODEL_WIKITEXT) {
             $wikitextNS = $ns;
             return $wikitextNS;
         }
     }
     // give up
     // @todo Inside a test, we could skip the test as incomplete.
     //        But frequently, this is used in fixture setup.
     throw new MWException("No namespace defaults to wikitext!");
 }
开发者ID:admonkey,项目名称:mediawiki,代码行数:40,代码来源:MediaWikiTestCase.php


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