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


PHP wfMatchesDomainList函数代码示例

本文整理汇总了PHP中wfMatchesDomainList函数的典型用法代码示例。如果您正苦于以下问题:PHP wfMatchesDomainList函数的具体用法?PHP wfMatchesDomainList怎么用?PHP wfMatchesDomainList使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: apply

 /**
  * Adds class="external" & rel="nofollow" to external links.
  *
  * @param \DOMNode $node Link
  * @param \Title $title
  */
 public function apply(\DOMNode $node, \Title $title)
 {
     if (!$node instanceof \DOMElement) {
         return;
     }
     $node->setAttribute('class', 'external');
     global $wgNoFollowLinks, $wgNoFollowDomainExceptions;
     if ($wgNoFollowLinks && !wfMatchesDomainList($node->getAttribute('href'), $wgNoFollowDomainExceptions)) {
         $node->setAttribute('rel', 'nofollow');
     }
 }
开发者ID:TarLocesilion,项目名称:mediawiki-extensions-Flow,代码行数:17,代码来源:ExtLinkFixer.php

示例2: getExternalLinkRel

 /**
  * Get the rel attribute for a particular external link.
  *
  * @since 1.21
  * @param string|bool $url optional URL, to extract the domain from for rel =>
  *   nofollow if appropriate
  * @param $title Title optional Title, for wgNoFollowNsExceptions lookups
  * @return string|null rel attribute for $url
  */
 public static function getExternalLinkRel($url = false, $title = null)
 {
     global $wgNoFollowLinks, $wgNoFollowNsExceptions, $wgNoFollowDomainExceptions;
     $ns = $title ? $title->getNamespace() : false;
     if ($wgNoFollowLinks && !in_array($ns, $wgNoFollowNsExceptions) && !wfMatchesDomainList($url, $wgNoFollowDomainExceptions)) {
         return 'nofollow';
     }
     return null;
 }
开发者ID:Tarendai,项目名称:spring-website,代码行数:18,代码来源:Parser.php

示例3: getExternalLinkAttribs

 /**
  * Get an associative array of additional HTML attributes appropriate for a
  * particular external link.  This currently may include rel => nofollow
  * (depending on configuration, namespace, and the URL's domain) and/or a
  * target attribute (depending on configuration).
  *
  * @param $url String|bool optional URL, to extract the domain from for rel =>
  *   nofollow if appropriate
  * @return Array associative array of HTML attributes
  */
 function getExternalLinkAttribs($url = false)
 {
     $attribs = array();
     global $wgNoFollowLinks, $wgNoFollowNsExceptions, $wgNoFollowDomainExceptions;
     $ns = $this->mTitle->getNamespace();
     if ($wgNoFollowLinks && !in_array($ns, $wgNoFollowNsExceptions) && !wfMatchesDomainList($url, $wgNoFollowDomainExceptions)) {
         $attribs['rel'] = 'nofollow';
     }
     if ($this->mOptions->getExternalLinkTarget()) {
         $attribs['target'] = $this->mOptions->getExternalLinkTarget();
     }
     return $attribs;
 }
开发者ID:h4ck3rm1k3,项目名称:mediawiki,代码行数:23,代码来源:Parser.php

示例4: testWfMatchesDomainList

 /**
  * @dataProvider provideWfMatchesDomainList
  * @covers ::wfMatchesDomainList
  */
 public function testWfMatchesDomainList($url, $domains, $expected, $description)
 {
     $actual = wfMatchesDomainList($url, $domains);
     $this->assertEquals($expected, $actual, $description);
 }
开发者ID:MediaWiki-stable,项目名称:1.26.1,代码行数:9,代码来源:GlobalTest.php

示例5: addToSidebarPlain

 /**
  * Add content from plain text
  * @since 1.17
  * @param $bar array
  * @param $text string
  * @return Array
  */
 function addToSidebarPlain(&$bar, $text)
 {
     $lines = explode("\n", $text);
     $heading = '';
     foreach ($lines as $line) {
         if (strpos($line, '*') !== 0) {
             continue;
         }
         $line = rtrim($line, "\r");
         // for Windows compat
         if (strpos($line, '**') !== 0) {
             $heading = trim($line, '* ');
             if (!array_key_exists($heading, $bar)) {
                 $bar[$heading] = array();
             }
         } else {
             $line = trim($line, '* ');
             if (strpos($line, '|') !== false) {
                 // sanity check
                 $line = MessageCache::singleton()->transform($line, false, null, $this->getTitle());
                 $line = array_map('trim', explode('|', $line, 2));
                 if (count($line) !== 2) {
                     // Second sanity check, could be hit by people doing
                     // funky stuff with parserfuncs... (bug 33321)
                     continue;
                 }
                 $extraAttribs = array();
                 $msgLink = $this->msg($line[0])->inContentLanguage();
                 if ($msgLink->exists()) {
                     $link = $msgLink->text();
                     if ($link == '-') {
                         continue;
                     }
                 } else {
                     $link = $line[0];
                 }
                 $msgText = $this->msg($line[1]);
                 if ($msgText->exists()) {
                     $text = $msgText->text();
                 } else {
                     $text = $line[1];
                 }
                 if (preg_match('/^(?i:' . wfUrlProtocols() . ')/', $link)) {
                     $href = $link;
                     // Parser::getExternalLinkAttribs won't work here because of the Namespace things
                     global $wgNoFollowLinks, $wgNoFollowDomainExceptions;
                     if ($wgNoFollowLinks && !wfMatchesDomainList($href, $wgNoFollowDomainExceptions)) {
                         $extraAttribs['rel'] = 'nofollow';
                     }
                     global $wgExternalLinkTarget;
                     if ($wgExternalLinkTarget) {
                         $extraAttribs['target'] = $wgExternalLinkTarget;
                     }
                 } else {
                     $title = Title::newFromText($link);
                     if ($title) {
                         $title = $title->fixSpecialName();
                         $href = $title->getLinkURL();
                     } else {
                         $href = 'INVALID-TITLE';
                     }
                 }
                 $bar[$heading][] = array_merge(array('text' => $text, 'href' => $href, 'id' => 'n-' . Sanitizer::escapeId(strtr($line[1], ' ', '-'), 'noninitial'), 'active' => false), $extraAttribs);
             } else {
                 continue;
             }
         }
     }
     return $bar;
 }
开发者ID:Grprashanthkumar,项目名称:ColfusionWeb,代码行数:77,代码来源:Skin.php

示例6: parseButtonLink

 /**
  * Parse specific link
  *
  * @param $line string
  * @param $parser Parser current parser
  * @param $frame Frame current frame
  * @return array
  */
 static function parseButtonLink($line, $parser, $frame)
 {
     $extraAttribs = array();
     $href_implicit = false;
     $active = false;
     // semantic queries
     if (strpos($line, '{{#ask:') === 0) {
         if ($parser->getTitle() instanceof Title) {
             $semanticQuery = substr($line, 7, -2);
             $semanticHitNumber = $parser->recursiveTagParse('{{#ask:' . $semanticQuery . '|format=count}}', false);
             if (!is_numeric($semanticHitNumber) || $semanticHitNumber < 1) {
                 return array(array('text' => $semanticQuery, 'href' => 'INVALID QUERY'));
             }
             $semanticHits = $parser->recursiveTagParse('{{#ask:' . $semanticQuery . '|format=list|link=none}}', false);
             $semanticHits = explode(',', $semanticHits);
             $semanticLinks = array();
             foreach ($semanticHits as $semanticHit) {
                 $semanticLink = TweekiHooks::parseButtonLink($semanticHit, $parser, $frame);
                 $semanticLinks[] = $semanticLink[0];
             }
             return $semanticLinks;
         } else {
             $text = 'broken';
         }
     }
     $line = explode('|', $line);
     foreach ($line as &$single_line) {
         $single_line = trim($single_line);
     }
     // is the text explicitly set?
     $href = $line[0];
     if (isset($line[1]) && $line[1] != "") {
         $text = $line[1];
     } else {
         $href_implicit = true;
         $text = $line[0];
     }
     // parse text
     $msgText = wfMessage($text)->inContentLanguage();
     if ($msgText->exists()) {
         $text = $msgText->parse();
     } else {
         if ($parser->getTitle() instanceof Title) {
             $text = $parser->recursiveTagParse($text, $frame);
         } else {
             $text = 'INVALID-TITLE/PARSER-BROKEN';
         }
     }
     // parse href
     $msgLink = wfMessage($href)->inContentLanguage();
     if ($msgLink->exists()) {
         $href = $msgLink->parse();
     } else {
         if ($parser->getTitle() instanceof Title) {
             $href = $parser->replaceVariables($href, $frame);
         } else {
             $href = 'INVALID-HREF/PARSER-BROKEN';
         }
     }
     if (preg_match('/^(?i:' . wfUrlProtocols() . ')/', $href)) {
         // Parser::getExternalLinkAttribs won't work here because of the Namespace things
         global $wgNoFollowLinks, $wgNoFollowDomainExceptions;
         if ($wgNoFollowLinks && !wfMatchesDomainList($href, $wgNoFollowDomainExceptions)) {
             $extraAttribs['rel'] = 'nofollow';
         }
         global $wgExternalLinkTarget;
         if ($wgExternalLinkTarget) {
             $extraAttribs['target'] = $wgExternalLinkTarget;
         }
     } else {
         $title = Title::newFromText($href);
         if ($title) {
             if ($title->equals($parser->getTitle())) {
                 $active = true;
             }
             $title = $title->fixSpecialName();
             $href = $title->getLinkURL();
         } else {
             $href = 'INVALID-TITLE:' . $href;
         }
     }
     if (isset($line[2]) && $line[2] != "") {
         $extraAttribs['class'] = $line[2];
     }
     $link = array_merge(array('html' => $text, 'href' => $href, 'href_implicit' => $href_implicit, 'id' => 'n-' . Sanitizer::escapeId(strtr($line[0], ' ', '-'), 'noninitial'), 'active' => $active), $extraAttribs);
     return array($link);
 }
开发者ID:bashtage,项目名称:Tweeki,代码行数:95,代码来源:Tweeki.hooks.php


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