MediaWiki master
|
Utilities for formatting and querying the externallinks table. More...
Static Public Member Functions | |
static | getIndexedUrlsNonReversed ( $urls) |
Converts a set of URLs to be able to compare them with existing indexes. | |
static | getProtocolPrefix ( $protocol) |
static | getQueryConditions ( $filterEntry, array $options=[]) |
Return conditions for the externallinks table from a given filter entry. | |
static | keepOneWildcard ( $arr) |
Filters an array returned by makeLikeArray(), removing everything past first pattern placeholder. | |
static | makeIndexes ( $url, $reverseDomain=true) |
Convert given URL to format for the externallinks table. | |
static | makeLikeArray ( $filterEntry, $protocol='http://') |
Make an array to be used for calls to Database::buildLike(), which will match the specified string. | |
static | matchEntry (Content $content, $filterEntry, $protocol='http://') |
Check whether $content contains a link to $filterEntry. | |
static | prepareProtocols () |
static | reverseIndexes ( $domainIndex) |
Utilities for formatting and querying the externallinks table.
This is primarily used by \MediaWiki\Deferred\LinksUpdate\ExternalLinksTable for managing the storage layer, and by SpecialLinkSearch and ApiQueryExtLinksUsage as query interface.
For spam removal and anti-spam meausures based on this, see also:
Definition at line 45 of file LinkFilter.php.
|
static |
Converts a set of URLs to be able to compare them with existing indexes.
string[] | $urls | List of URLs to be indexed |
Definition at line 248 of file LinkFilter.php.
References $url, and MediaWiki\ExternalLinks\LinkFilter\makeIndexes().
|
static |
Definition at line 391 of file LinkFilter.php.
References MediaWiki\MediaWikiServices\getInstance(), and MediaWiki\MainConfigNames\UrlProtocols.
|
static |
Return conditions for the externallinks table from a given filter entry.
There are several ways you can query:
*.domain.com - Matches domain.com and www.domain.com domain.com - Matches domain.com or domain.com/ but not www.domain.com *.domain.com/x - Matches domain.com/xy or www.domain.com/xy. Also probably matches domain.com/foobar/xy due to limitations of LIKE syntax. domain.com/x - Matches domain.com/xy but not www.domain.com/xy 192.0.2.* - Matches any IP in 192.0.2.0/24. Can also have a path appended. [2001:db8::*] - Matches any IP in 2001:db8::/112. Can also have a path appended. [2001:db8:*] - Matches any IP in 2001:db8::/32. Can also have a path appended. foo@domain.com - With protocol 'mailto:', matches the email address foo@domain.com. *@domain.com - With protocol 'mailto:', matches any email address at domain.com, but not subdomains like foo@mail.domain.com
Asterisks in any other location are considered invalid.
string | $filterEntry | Filter entry, as described above |
array | $options | Options are: |
Definition at line 332 of file LinkFilter.php.
References MediaWiki\MainConfigNames\ExternalLinksDomainGaps, MediaWiki\MediaWikiServices\getInstance(), MediaWiki\ExternalLinks\LinkFilter\keepOneWildcard(), and MediaWiki\ExternalLinks\LinkFilter\makeLikeArray().
|
static |
Filters an array returned by makeLikeArray(), removing everything past first pattern placeholder.
array | $arr | Array to filter |
Definition at line 517 of file LinkFilter.php.
Referenced by MediaWiki\ExternalLinks\LinkFilter\getQueryConditions().
|
static |
Convert given URL to format for the externallinks table.
string | $url | |
bool | $reverseDomain |
Definition at line 180 of file LinkFilter.php.
References $url, and MediaWiki\MediaWikiServices\getInstance().
Referenced by MediaWiki\ExternalLinks\LinkFilter\getIndexedUrlsNonReversed().
|
static |
Make an array to be used for calls to Database::buildLike(), which will match the specified string.
This function does the same as LinkFilter::makeIndexes(), except it also takes care of adding wildcards
string | $filterEntry | Filter entry, |
string | $protocol | Protocol (default http://) |
Definition at line 434 of file LinkFilter.php.
References MediaWiki\MediaWikiServices\getInstance().
Referenced by MediaWiki\ExternalLinks\LinkFilter\getQueryConditions().
|
static |
Check whether $content contains a link to $filterEntry.
Content | $content | Content to check |
string | $filterEntry | Domainparts, see makeRegex() for more details |
string | $protocol | 'http://' or 'https://' |
Definition at line 54 of file LinkFilter.php.
|
static |
Definition at line 409 of file LinkFilter.php.
References MediaWiki\MediaWikiServices\getInstance(), and MediaWiki\MainConfigNames\UrlProtocols.
|
static |
Definition at line 262 of file LinkFilter.php.
References MediaWiki\MediaWikiServices\getInstance().
Referenced by MediaWiki\ExternalLinks\ExternalLinksLookup\getExternalLinksForPage().