SiteLinkLinker::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 3
rs 10
c 0
b 0
f 0
ccs 0
cts 3
cp 0
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
namespace Wikibase\Api\Service;
4
5
use Mediawiki\DataModel\EditInfo;
6
use Wikibase\Api\WikibaseApi;
7
use Wikibase\DataModel\SiteLink;
8
9
/**
10
 * @access private
11
 *
12
 * @author Addshore
13
 */
14
class SiteLinkLinker {
15
16
	/**
17
	 * @var WikibaseApi
18
	 */
19
	private $api;
20
21
	/**
22
	 * @param WikibaseApi $api
23
	 */
24
	public function __construct( WikibaseApi $api ) {
25
		$this->api = $api;
26
	}
27
28
	/**
29
	 * @since 0.2
30
	 * @param SiteLink $toSiteLink
31
	 * @param SiteLink $fromSiteLink
32
	 * @param EditInfo|null $editInfo
33
	 *
34
	 * @return bool
35
	 */
36
	public function link( SiteLink $toSiteLink, SiteLink $fromSiteLink, EditInfo $editInfo = null ) {
37
		$params = [
38
			'tosite' => $toSiteLink->getSiteId(),
39
			'totitle' => $toSiteLink->getPageName(),
40
			'fromsite' => $fromSiteLink->getSiteId(),
41
			'fromtitle' => $fromSiteLink->getPageName(),
42
		];
43
44
		$this->api->postRequest( 'wblinktitles', $params, $editInfo );
45
		return true;
46
	}
47
48
}
49