diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/lib/atom.php | 170 | ||||
-rw-r--r-- | engine/lib/export.php | 4 | ||||
-rw-r--r-- | engine/lib/opendd.php | 47 |
3 files changed, 4 insertions, 217 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"; } |