1: <?php
2:
3: namespace Scopus\Response;
4:
5: class Source
6: {
7: /** @var array */
8: protected $data;
9:
10: public function __construct(array $data)
11: {
12: $this->data = $data;
13: }
14:
15: public function getTitle()
16: {
17: $sourcetitle = isset($this->data['sourcetitle']) ? $this->data['sourcetitle'] : null;
18: return is_array($sourcetitle) ? $sourcetitle['$'] : $sourcetitle;
19: }
20:
21: public function getTitleAbbrev()
22: {
23: return isset($this->data['sourcetitle-abbrev']) ? $this->data['sourcetitle-abbrev'] : null;
24: }
25:
26: protected function getVolisspag()
27: {
28: return isset($this->data['volisspag']) ? $this->data['volisspag'] : null;
29: }
30:
31: protected function getPageRange()
32: {
33: $volisspag = $this->getVolisspag();
34: return $volisspag && isset($volisspag['pagerange']) ? $volisspag['pagerange'] : null;
35: }
36:
37: public function getStartPage()
38: {
39: $pageRange = $this->getPageRange();
40: return $pageRange && isset($pageRange['@first']) ? $pageRange['@first'] : null;
41: }
42:
43: public function getEndPage()
44: {
45: $pageRange = $this->getPageRange();
46: return $pageRange && isset($pageRange['@last']) ? $pageRange['@last'] : null;
47: }
48:
49: protected function getVoliss()
50: {
51: $volisspag = $this->getVolisspag();
52: return $volisspag && isset($volisspag['voliss']) ? $volisspag['voliss'] : null;
53: }
54:
55: public function getIssue()
56: {
57: $volIss = $this->getVoliss();
58: return $volIss && isset($volIss['@issue']) ? $volIss['@issue'] : null;
59: }
60:
61: public function getVolume()
62: {
63: $volIss = $this->getVoliss();
64: return $volIss && isset($volIss['@volume']) ? $volIss['@volume'] : null;
65: }
66: }
67: