diff options
author | icewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-05-20 11:41:23 +0000 |
---|---|---|
committer | icewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-05-20 11:41:23 +0000 |
commit | 3630cf462b13d6aafd7f62d46423dad5e92bbd9e (patch) | |
tree | 0110a088cc87370f092547f930a6f985fca04ba9 | |
parent | 9caa09ee888d7884e22cc46089e6e0fb6579732c (diff) | |
download | elgg-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.php | 170 | ||||
-rw-r--r-- | engine/lib/export.php | 4 | ||||
-rw-r--r-- | engine/lib/opendd.php | 47 | ||||
-rw-r--r-- | views/atom/export/entity.php | 17 | ||||
-rw-r--r-- | views/atom/export/metadata.php | 21 | ||||
-rw-r--r-- | views/atom/export/relationship.php | 21 | ||||
-rw-r--r-- | views/atom/pageshells/pageshell.php | 16 |
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 |