Mercurial > hg > isophonics-drupal-site
diff vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,70 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Feed\Reader\Extension\CreativeCommons; + +use Zend\Feed\Reader\Extension; + +class Feed extends Extension\AbstractFeed +{ + /** + * Get the entry license + * + * @param int $index + * @return string|null + */ + public function getLicense($index = 0) + { + $licenses = $this->getLicenses(); + + if (isset($licenses[$index])) { + return $licenses[$index]; + } + + return; + } + + /** + * Get the entry licenses + * + * @return array + */ + public function getLicenses() + { + $name = 'licenses'; + if (array_key_exists($name, $this->data)) { + return $this->data[$name]; + } + + $licenses = []; + $list = $this->xpath->evaluate('channel/cc:license'); + + if ($list->length) { + foreach ($list as $license) { + $licenses[] = $license->nodeValue; + } + + $licenses = array_unique($licenses); + } + + $this->data[$name] = $licenses; + + return $this->data[$name]; + } + + /** + * Register Creative Commons namespaces + * + * @return void + */ + protected function registerNamespaces() + { + $this->xpath->registerNamespace('cc', 'http://backend.userland.com/creativeCommonsRssModule'); + } +}