blob: e06c36184e98fddd7aecb709e840f02ebccfb680 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<?php
namespace SMW\PropertyAnnotators;
use SMW\DIProperty;
use SMW\DIWikiPage;
use SMW\MediaWiki\RedirectTargetFinder;
use SMW\PropertyAnnotator;
/**
* Handling redirect annotation
*
* @license GNU GPL v2+
* @since 1.9
*
* @author mwjames
*/
class RedirectPropertyAnnotator extends PropertyAnnotatorDecorator {
/**
* @var RedirectTargetFinder
*/
private $redirectTargetFinder;
/**
* @since 1.9
*
* @param PropertyAnnotator $propertyAnnotator
* @param RedirectTargetFinder $redirectTargetFinder
*/
public function __construct( PropertyAnnotator $propertyAnnotator, RedirectTargetFinder $redirectTargetFinder ) {
parent::__construct( $propertyAnnotator );
$this->redirectTargetFinder = $redirectTargetFinder;
}
/**
* @see PropertyAnnotatorDecorator::addPropertyValues
*/
protected function addPropertyValues() {
if ( !$this->redirectTargetFinder->hasRedirectTarget() ) {
return;
}
$this->getSemanticData()->addPropertyObjectValue(
new DIProperty( '_REDI' ),
DIWikiPage::newFromTitle( $this->redirectTargetFinder->getRedirectTarget() )
);
}
}
|