aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoricewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-05-20 11:41:23 +0000
committericewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-05-20 11:41:23 +0000
commit3630cf462b13d6aafd7f62d46423dad5e92bbd9e (patch)
tree0110a088cc87370f092547f930a6f985fca04ba9
parent9caa09ee888d7884e22cc46089e6e0fb6579732c (diff)
downloadelgg-3630cf462b13d6aafd7f62d46423dad5e92bbd9e.tar.gz
elgg-3630cf462b13d6aafd7f62d46423dad5e92bbd9e.tar.bz2
Marcus Povey <marcus@dushka.co.uk>
* reverted previous git-svn-id: https://code.elgg.org/elgg/trunk@658 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r--engine/lib/atom.php170
-rw-r--r--engine/lib/export.php4
-rw-r--r--engine/lib/opendd.php47
-rw-r--r--views/atom/export/entity.php17
-rw-r--r--views/atom/export/metadata.php21
-rw-r--r--views/atom/export/relationship.php21
-rw-r--r--views/atom/pageshells/pageshell.php16
7 files changed, 4 insertions, 292 deletions
diff --git a/engine/lib/atom.php b/engine/lib/atom.php
deleted file mode 100644
index 684ae0946..000000000
--- a/engine/lib/atom.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
- /**
- * OpenDD over Atom PHP Library.
- * Provides Atom wrappers for
- *
- * @package Elgg
- * @subpackage Core
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Marcus Povey
- * @version 0.1
- * @copyright Curverider Ltd 2008
- * @link http://elgg.org/
- */
-
- include_once("opendd.php");
-
- /**
- * A Wrapper Factory which Constructs a wrapper appropriate for drawing
- * ODD elements as Atom.
- */
- class ODDAtomWrapperFactory extends ODDWrapperFactory
- {
- function getElementWrapper($element)
- {
- if ($element instanceof ODDDocument)
- return new ODDAtomDocumentWrapper();
-
- if ($element instanceof ODDEntity)
- return new ODDAtomEntityWrapper();
-
- if ($element instanceof ODDMetaData)
- return new ODDAtomMetaDataWrapper();
-
- if ($element instanceof ODDRelationship)
- return new ODDAtomRelationshipWrapper();
-
- throw new DataFormatException("Element could not be wrapped.");
- }
- }
-
- /**
- * Atom document wrapper
- */
- class ODDAtomDocumentWrapper extends ODDDocumentWrapper
- {
- function wrap($element)
- {
- global $CONFIG;
-
- $wrapped = "";
-
- // Sanity check
- if (!($element instanceof ODDDocument))
- throw new DataFormatException("Element being wrapped is not an ODDDocument");
-
- // Create a factory
- $factory = new ODDAtomWrapperFactory();
-
- // Head
- $wrapped .= "<feed>\n";
- $wrapped .= "<id>".urlencode(current_page_url())."</id>\n";
- $wrapped .= "<updated>".date(DATE_ATOM)."</updated>\n";
- $wrapped .= "<author><name>".$_SESSION['user']->name."</name></author>\n";
- $wrapped .= "<title>OpenDD-over-Atom feed</title>\n";
-
- // Itterate
- foreach ($element as $e)
- {
- $wrapper = $factory->getElementWrapper($e);
- $wrapped .= $wrapper->wrap($e);
- }
-
- // Tail
- $wrapped .= "</feed>\n";
-
- return $wrapped;
- }
- }
-
- /**
- * Atom entity wrapper
- */
- class ODDAtomEntityWrapper extends ODDEntityWrapper
- {
- function wrap($element)
- {
- $wrapped = "";
-
- // Sanity check
- if (!($element instanceof ODDEntity))
- throw new DataFormatException("Element being wrapped is not an ODDEntity");
-
- $wrapped .= "<entry>\n";
-
- $wrapped .= "<id>".$element->getAttribute('uuid')."?view=atom"."</id>\n";
- $wrapped .= "<published>".date(DATE_ATOM)."</published>\n";
- $wrapped .= "<title>Entity</title>\n";
- $wrapped .= "<author><name>".$_SESSION['user']->name."</name></author>\n";
-
- $wrapped .= "<content type=\"text/xml\">\n";
- $wrapped .= "$element\n";
- $wrapped .= "</content>\n";
-
- $wrapped .= "</entry>\n";
-
- return $wrapped;
- }
-
- }
-
- /**
- * Atom metadata wrapper
- */
- class ODDAtomMetaDataWrapper extends ODDMetaDataWrapper
- {
- function wrap($element)
- {
- $wrapped = "";
-
- // Sanity check
- if (!($element instanceof ODDMetaData))
- throw new DataFormatException("Element being wrapped is not an ODDMetaData");
-
- $wrapped .= "<entry>\n";
-
- $wrapped .= "<id>".$element->getAttribute('uuid')."?view=atom"."</id>\n";
- $wrapped .= "<published>".date(DATE_ATOM)."</published>\n";
- $wrapped .= "<title>Entity</title>\n";
- $wrapped .= "<author><name>".$_SESSION['user']->name."</name></author>\n";
-
- $wrapped .= "<content type=\"text/xml\">\n";
- $wrapped .= "$element\n";
- $wrapped .= "</content>\n";
-
- $wrapped .= "</entry>\n";
-
- return $wrapped;
- }
- }
-
- /**
- * Atom Relationship wrapper.
- */
- class ODDAtomRelationshipWrapper extends ODDRelationshipWrapper
- {
- function wrap($element)
- {
- $wrapped = "";
-
- // Sanity check
- if (!($element instanceof ODDRelationship))
- throw new DataFormatException("Element being wrapped is not an ODDRelationship");
-
- $wrapped .= "<entry>\n";
-
- $wrapped .= "<id></id>\n";
- $wrapped .= "<published>".date(DATE_ATOM)."</published>\n";
- $wrapped .= "<title>Entity</title>\n";
- $wrapped .= "<author><name>".$_SESSION['user']->name."</name></author>\n";
-
- $wrapped .= "<content type=\"text/xml\">\n";
- $wrapped .= "$element\n";
- $wrapped .= "</content>\n";
-
- $wrapped .= "</entry>\n";
-
- return $wrapped;
- }
- }
-?> \ No newline at end of file
diff --git a/engine/lib/export.php b/engine/lib/export.php
index 815fc5819..4953fab91 100644
--- a/engine/lib/export.php
+++ b/engine/lib/export.php
@@ -164,7 +164,7 @@
* @param ODDWrapperFactory $wrapper Optional wrapper permitting the export process to embed ODD in other document formats.
* @return xml
*/
- function export($guid, ODDWrapperFactory $wrapper = null)
+ function export($guid)
{
$guid = (int)$guid;
@@ -179,7 +179,7 @@
$odd = new ODDDocument($to_be_serialised);
- return ODD_Export($odd, $wrapper);
+ return ODD_Export($odd);
}
/**
diff --git a/engine/lib/opendd.php b/engine/lib/opendd.php
index 96c18bbea..60707f43f 100644
--- a/engine/lib/opendd.php
+++ b/engine/lib/opendd.php
@@ -6,7 +6,7 @@
* @subpackage Core
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
* @author Marcus Povey
- * @version 0.3
+ * @version 0.2
* @copyright Curverider Ltd 2008
* @link http://elgg.org/
*/
@@ -270,46 +270,6 @@
}
/**
- * A wrapper factory is used to construct the appropriate wrappers that permit ODD documents to be embedded
- * as a payload in other formats.
- */
- abstract class ODDWrapperFactory
- {
- abstract function getElementWrapper($element);
- }
-
- /**
- * Element wrapper superclass.
- */
- abstract class ODDWrapper
- {
- /**
- * Wrap an element and return the encoded string.
- */
- abstract function wrap($element);
- }
-
- /**
- * Document wrapper superclass
- */
- abstract class ODDDocumentWrapper extends ODDWrapper { }
-
- /**
- * Entity wrapper superclass
- */
- abstract class ODDEntityWrapper extends ODDWrapper { }
-
- /**
- * Metadata wrapper superclass
- */
- abstract class ODDMetaDataWrapper extends ODDWrapper { }
-
- /**
- * Relationship wrapper superclass.
- */
- abstract class ODDRelationshipWrapper extends ODDWrapper { }
-
- /**
* Attempt to construct an ODD object out of a XmlElement or sub-elements.
*
* @param XmlElement $element The element(s)
@@ -373,11 +333,8 @@
* @param ODDDocument $document The Document.
* @param ODDWrapperFactory $wrapper Optional wrapper permitting the export process to embed ODD in other document formats.
*/
- function ODD_Export(ODDDocument $document, ODDWrapperFactory $wrapper = null)
+ function ODD_Export(ODDDocument $document)
{
- if ($wrapper)
- $document->setWrapperFactory($wrapper);
-
return "$document";
}
diff --git a/views/atom/export/entity.php b/views/atom/export/entity.php
deleted file mode 100644
index c89a73fc4..000000000
--- a/views/atom/export/entity.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
- /**
- * Elgg Entity export.
- * Displays an entity as ODD over Atom
- *
- * @package Elgg
- * @subpackage Core
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Marcus Povey
- * @copyright Curverider Ltd 2008
- * @link http://elgg.org/
- */
-
- $entity = $vars['entity'];
-
- echo export($entity->guid, new ODDAtomWrapperFactory());
-?> \ No newline at end of file
diff --git a/views/atom/export/metadata.php b/views/atom/export/metadata.php
deleted file mode 100644
index 2c943cd4d..000000000
--- a/views/atom/export/metadata.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
- /**
- * Elgg metadata export.
- * Displays a metadata item using ODD over Atom
- *
- * @package Elgg
- * @subpackage Core
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Marcus Povey
- * @copyright Curverider Ltd 2008
- * @link http://elgg.org/
- */
-
- $m = $vars['metadata'];
-
- $odd = new ODDDocument();
- $odd->addElement($m->export());
- $odd->setWrapperFactory(new ODDAtomWrapperFactory());
-
- echo $odd;
-?> \ No newline at end of file
diff --git a/views/atom/export/relationship.php b/views/atom/export/relationship.php
deleted file mode 100644
index d0ad62385..000000000
--- a/views/atom/export/relationship.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
- /**
- * Elgg relationship export.
- * Displays a relationship using ODD over Atom
- *
- * @package Elgg
- * @subpackage Core
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Marcus Povey
- * @copyright Curverider Ltd 2008
- * @link http://elgg.org/
- */
-
- $r = $vars['relationship'];
-
- $odd = new ODDDocument();
- $odd->addElement($r->export());
- $odd->setWrapperFactory(new ODDAtomWrapperFactory());
-
- echo $odd;
-?> \ No newline at end of file
diff --git a/views/atom/pageshells/pageshell.php b/views/atom/pageshells/pageshell.php
deleted file mode 100644
index f5c7a4ce0..000000000
--- a/views/atom/pageshells/pageshell.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
- /**
- * Elgg XML output pageshell
- *
- * @package Elgg
- * @subpackage Core
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Marcus Povey
- * @copyright Curverider Ltd 2008
- * @link http://elgg.org/
- *
- */
-
- header("Content-Type: text/xml");
- echo $vars['body'];
-?> \ No newline at end of file