Version 1
[yaffs-website] / vendor / zendframework / zend-feed / src / Reader / Extension / CreativeCommons / Feed.php
diff --git a/vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php b/vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php
new file mode 100644 (file)
index 0000000..8532a88
--- /dev/null
@@ -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');
+    }
+}