27 private $publishers = null; |
27 private $publishers = null; |
28 private $mediaArray = null; |
28 private $mediaArray = null; |
29 private $transcript = false; |
29 private $transcript = false; |
30 private $contributors = null; |
30 private $contributors = null; |
31 private $subjects = null; |
31 private $subjects = null; |
|
32 private $types = null; |
32 private $geoInfo = false; |
33 private $geoInfo = false; |
33 |
34 |
34 protected function clearMemoizationCache() { |
35 protected function clearMemoizationCache() { |
35 parent::clearMemoizationCache(); |
36 parent::clearMemoizationCache(); |
36 $this->publishers = null; |
37 $this->publishers = null; |
37 $this->mediaArray = null; |
38 $this->mediaArray = null; |
38 $this->contributors = null; |
39 $this->contributors = null; |
39 $this->subjects = null; |
40 $this->subjects = null; |
|
41 $this->types = null; |
40 $this->transcript = false; |
42 $this->transcript = false; |
41 $this->geoInfo = false; |
43 $this->geoInfo = false; |
42 } |
44 } |
43 |
45 |
44 protected function additionalDeltaLists() { |
46 protected function additionalDeltaLists() { |
93 } |
95 } |
94 return $this->mediaArray; |
96 return $this->mediaArray; |
95 } |
97 } |
96 |
98 |
97 public function getTypes() { |
99 public function getTypes() { |
98 return $this->getProvidedCHO()->all('dc11:type'); |
100 if(is_null($this->types)) { |
|
101 $this->types = $this->getProvidedCHO()->all('dc11:type'); |
|
102 } |
|
103 return $this->types; |
99 } |
104 } |
100 |
105 |
101 public function getDiscourseTypes() { |
106 public function getDiscourseTypes() { |
102 return array_values(array_filter($this->getTypes(), function($v) { |
107 return array_values(array_filter($this->getTypes(), function($v) { |
103 return $v instanceof Resource |
108 return $v instanceof Resource |
348 |
353 |
349 $subjects = array_map( |
354 $subjects = array_map( |
350 function($s) { return Utils::processLiteralResourceOrString($s); }, |
355 function($s) { return Utils::processLiteralResourceOrString($s); }, |
351 $this->getSubjects() |
356 $this->getSubjects() |
352 ); |
357 ); |
|
358 $types = array_map( |
|
359 function($s) { return Utils::processLiteralResourceOrString($s); }, |
|
360 $this->getTypes() |
|
361 ); |
353 |
362 |
354 $res = array_merge($res, [ |
363 $res = array_merge($res, [ |
355 'publishers' => $publishers, |
364 'publishers' => $publishers, |
356 'contributors' => $contributors, |
365 'contributors' => $contributors, |
357 'subjects' => $subjects, |
366 'subjects' => $subjects, |
|
367 'types' => $types, |
358 'transcript' => $transcript, |
368 'transcript' => $transcript, |
359 'mediaArray'=> $mediaArray, |
369 'mediaArray'=> $mediaArray, |
360 'geoInfo' => $geoInfo |
370 'geoInfo' => $geoInfo |
361 ]); |
371 ]); |
362 |
372 |