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');
+    }
+}