aboutsummaryrefslogtreecommitdiff
path: root/engine/lib
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib')
-rw-r--r--engine/lib/export.php26
-rw-r--r--engine/lib/extender.php6
-rw-r--r--engine/lib/relationships.php2
3 files changed, 28 insertions, 6 deletions
diff --git a/engine/lib/export.php b/engine/lib/export.php
index fe9d2b2da..e819264f6 100644
--- a/engine/lib/export.php
+++ b/engine/lib/export.php
@@ -62,6 +62,32 @@
class ImportException extends DataFormatException {}
/**
+ * Get a UUID from a given object.
+ *
+ * @param $object The object either an ElggEntity, ElggRelationship or ElggExtender
+ * @return the UUID or false
+ */
+ function get_uuid_from_object($object)
+ {
+ if ($object instanceof ElggEntity)
+ return guid_to_uuid($object->guid);
+ else if ($object instanceof ElggExtender) {
+ $type = $object->type;
+ if ($type == 'volatile')
+ $uuid = guid_to_uuid($object->entity_guid). $type . "/{$object->name}/";
+ else
+ $uuid = guid_to_uuid($object->entity_guid). $type . "/{$object->id}/";
+
+ return $uuid;
+ } else if ($object instanceof ElggRelationship) {
+ return guid_to_uuid($object->guid_one) . "relationship/{$object->id}/";
+ }
+
+
+ return false;
+ }
+
+ /**
* Generate a UUID from a given GUID.
*
* @param int $guid The GUID of an object.
diff --git a/engine/lib/extender.php b/engine/lib/extender.php
index f1077b454..988899409 100644
--- a/engine/lib/extender.php
+++ b/engine/lib/extender.php
@@ -129,11 +129,7 @@
*/
public function export()
{
- $type = $this->attributes['type'];
- if ($type == 'volatile')
- $uuid = guid_to_uuid($this->entity_guid). $type . "/{$this->name}/";
- else
- $uuid = guid_to_uuid($this->entity_guid). $type . "/{$this->id}/";
+ $uuid = get_uuid_from_object($this);
$meta = new ODDMetadata($uuid, guid_to_uuid($this->entity_guid), $this->attributes['name'], $this->attributes['value'], $type, guid_to_uuid($this->owner_guid));
$meta->setAttribute('published', date("r", $this->time_created));
diff --git a/engine/lib/relationships.php b/engine/lib/relationships.php
index f43a46c54..61234695d 100644
--- a/engine/lib/relationships.php
+++ b/engine/lib/relationships.php
@@ -127,7 +127,7 @@
*/
public function export()
{
- $uuid = guid_to_uuid($this->guid_one) . "relationship/{$this->id}/";
+ $uuid = get_uuid_from_object($this);
$relationship = new ODDRelationship(
guid_to_uuid($this->guid_one),
$this->relationship,