class-wpml-tp-translation-collection.php
1.19 KB
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
52
53
54
55
<?php
use WPML\FP\Fns;
use function WPML\FP\invoke;
class WPML_TP_Translation_Collection implements IteratorAggregate {
/** @var WPML_TP_Translation[] */
private $translations;
/** @var string */
private $source_language;
/** @var string */
private $target_language;
/**
* @param WPML_TP_Translation[] $translations
* @param string $source_language
* @param string $target_language
*/
public function __construct( array $translations, $source_language, $target_language ) {
$this->translations = $translations;
$this->source_language = $source_language;
$this->target_language = $target_language;
}
/**
* @return string
*/
public function get_source_language() {
return $this->source_language;
}
/**
* @return string
*/
public function get_target_language() {
return $this->target_language;
}
public function getIterator() {
return new ArrayIterator( $this->translations );
}
/**
* @return array
*/
public function to_array() {
return [
'source_language' => $this->source_language,
'target_language' => $this->target_language,
'translations' => Fns::map( invoke( 'to_array' ), $this->translations ),
];
}
}