diff options
| author | icewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-04-01 14:27:15 +0000 | 
|---|---|---|
| committer | icewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-04-01 14:27:15 +0000 | 
| commit | 8a2c85d1650321b1731c21b448a2e3f6e3155e2d (patch) | |
| tree | 8fd097ba4d0bb3852c8f55ea7acf09627b54b237 /engine | |
| parent | 9391179df8ba6ed1595de7de533f633d99d57b35 (diff) | |
| download | elgg-8a2c85d1650321b1731c21b448a2e3f6e3155e2d.tar.gz elgg-8a2c85d1650321b1731c21b448a2e3f6e3155e2d.tar.bz2  | |
Marcus Povey <marcus@dushka.co.uk>
* Some UUID functions
git-svn-id: https://code.elgg.org/elgg/trunk@309 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/lib/export.php | 35 | 
1 files changed, 31 insertions, 4 deletions
diff --git a/engine/lib/export.php b/engine/lib/export.php index 33d7946a7..024f25a63 100644 --- a/engine/lib/export.php +++ b/engine/lib/export.php @@ -75,8 +75,6 @@  		$wrapper->header->date = date("r");  		$wrapper->header->timestamp = time();  		$wrapper->header->domain = $CONFIG->wwwroot; -		$wrapper->header->guid = $guid; -		$wrapper->header->uuid = guid_to_uuid($guid);  		$wrapper->header->exported_by = guid_to_uuid($_SESSION['id']);  		// Construct data @@ -155,8 +153,6 @@  			}  		}  	} - -  	/**  	 * Import an XML serialisation of an object. @@ -172,6 +168,7 @@  		$IMPORTED_DATA = array();  		$IMPORTED_OBJECT_COUNTER = 0; +		$IMPORTED_GUID_MAP = array();  		$dom = __xml2array($xml); @@ -212,6 +209,36 @@  		return false;  	} + +	/** +	 * This function attempts to retrieve a previously imported entity via its UUID. +	 *  +	 * @param $uuid  +	 */ +	function get_entity_from_uuid($uuid) +	{ +		$uuid = sanitise_string($uuid); +		 +		$entities = get_entities_from_metadata("import_uuid", $uuid); +		if ((!$entities) || (count($entities)!=1)) +			throw new InvalidParameterException("Unexpected number of entities tagged with $uuid, previous import failed?"); +			 +		return $entities[0]; +	} +	 +	/** +	 * Tag a previously created guid with the uuid it was imported on. +	 * +	 * @param int $guid +	 * @param string $uuid +	 */ +	function add_uuid_to_guid($guid, $uuid) +	{ +		$guid = (int)$guid; +		$uuid = sanitise_string($uuid); +		 +		return create_metadata($guid, "import_uuid", $uuid); +	}  	/**  	 * This function serialises an object recursively into an XML representation.  | 
