From 9caa09ee888d7884e22cc46089e6e0fb6579732c Mon Sep 17 00:00:00 2001 From: icewing Date: Tue, 20 May 2008 11:38:25 +0000 Subject: Marcus Povey * Committed abortive Atom wrapper... we need to support different import/export git-svn-id: https://code.elgg.org/elgg/trunk@657 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/atom.php | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 engine/lib/atom.php (limited to 'engine/lib/atom.php') diff --git a/engine/lib/atom.php b/engine/lib/atom.php new file mode 100644 index 000000000..684ae0946 --- /dev/null +++ b/engine/lib/atom.php @@ -0,0 +1,170 @@ +\n"; + $wrapped .= "".urlencode(current_page_url())."\n"; + $wrapped .= "".date(DATE_ATOM)."\n"; + $wrapped .= "".$_SESSION['user']->name."\n"; + $wrapped .= "OpenDD-over-Atom feed\n"; + + // Itterate + foreach ($element as $e) + { + $wrapper = $factory->getElementWrapper($e); + $wrapped .= $wrapper->wrap($e); + } + + // Tail + $wrapped .= "\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 .= "\n"; + + $wrapped .= "".$element->getAttribute('uuid')."?view=atom"."\n"; + $wrapped .= "".date(DATE_ATOM)."\n"; + $wrapped .= "Entity\n"; + $wrapped .= "".$_SESSION['user']->name."\n"; + + $wrapped .= "\n"; + $wrapped .= "$element\n"; + $wrapped .= "\n"; + + $wrapped .= "\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 .= "\n"; + + $wrapped .= "".$element->getAttribute('uuid')."?view=atom"."\n"; + $wrapped .= "".date(DATE_ATOM)."\n"; + $wrapped .= "Entity\n"; + $wrapped .= "".$_SESSION['user']->name."\n"; + + $wrapped .= "\n"; + $wrapped .= "$element\n"; + $wrapped .= "\n"; + + $wrapped .= "\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 .= "\n"; + + $wrapped .= "\n"; + $wrapped .= "".date(DATE_ATOM)."\n"; + $wrapped .= "Entity\n"; + $wrapped .= "".$_SESSION['user']->name."\n"; + + $wrapped .= "\n"; + $wrapped .= "$element\n"; + $wrapped .= "\n"; + + $wrapped .= "\n"; + + return $wrapped; + } + } +?> \ No newline at end of file -- cgit v1.2.3