Chris@0: getData('section'); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Get the entry department Chris@0: * Chris@0: * @return string|null Chris@0: */ Chris@0: public function getDepartment() Chris@0: { Chris@0: return $this->getData('department'); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Get the entry hit_parade Chris@0: * Chris@0: * @return array Chris@0: */ Chris@0: public function getHitParade() Chris@0: { Chris@0: $name = 'hit_parade'; Chris@0: Chris@0: if (isset($this->data[$name])) { Chris@0: return $this->data[$name]; Chris@0: } Chris@0: Chris@0: $stringParade = $this->getData($name); Chris@0: $hitParade = []; Chris@0: Chris@12: if (! empty($stringParade)) { Chris@0: $stringParade = explode(',', $stringParade); Chris@0: Chris@0: foreach ($stringParade as $hit) { Chris@0: $hitParade[] = $hit + 0; //cast to integer Chris@0: } Chris@0: } Chris@0: Chris@0: $this->data[$name] = $hitParade; Chris@0: return $hitParade; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Get the entry comments Chris@0: * Chris@0: * @return int Chris@0: */ Chris@0: public function getCommentCount() Chris@0: { Chris@0: $name = 'comments'; Chris@0: Chris@0: if (isset($this->data[$name])) { Chris@0: return $this->data[$name]; Chris@0: } Chris@0: Chris@0: $comments = $this->getData($name, 'string'); Chris@0: Chris@12: if (! $comments) { Chris@0: $this->data[$name] = null; Chris@0: return $this->data[$name]; Chris@0: } Chris@0: Chris@0: return $comments; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Get the entry data specified by name Chris@0: * @param string $name Chris@0: * @param string $type Chris@0: * Chris@0: * @return mixed|null Chris@0: */ Chris@0: protected function getData($name, $type = 'string') Chris@0: { Chris@0: if (array_key_exists($name, $this->data)) { Chris@0: return $this->data[$name]; Chris@0: } Chris@0: Chris@0: $data = $this->xpath->evaluate($type . '(' . $this->getXpathPrefix() . '/slash10:' . $name . ')'); Chris@0: Chris@12: if (! $data) { Chris@0: $data = null; Chris@0: } Chris@0: Chris@0: $this->data[$name] = $data; Chris@0: Chris@0: return $data; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Register Slash namespaces Chris@0: * Chris@0: * @return void Chris@0: */ Chris@0: protected function registerNamespaces() Chris@0: { Chris@0: $this->xpath->registerNamespace('slash10', 'http://purl.org/rss/1.0/modules/slash/'); Chris@0: } Chris@0: }