diff options
| author | icewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-04-01 14:04:05 +0000 | 
|---|---|---|
| committer | icewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-04-01 14:04:05 +0000 | 
| commit | 1cd6da51170f2ed79d647fa5391f2bc3b072fc96 (patch) | |
| tree | 95e6b7e68b2598f46ec6f075c129e96a1d3b22e7 /engine | |
| parent | b640dc452ae9d67c02662997f6c5b6e0d900e4b9 (diff) | |
| download | elgg-1cd6da51170f2ed79d647fa5391f2bc3b072fc96.tar.gz elgg-1cd6da51170f2ed79d647fa5391f2bc3b072fc96.tar.bz2  | |
Marcus Povey <marcus@dushka.co.uk>
* Moved import to ElggEntity
git-svn-id: https://code.elgg.org/elgg/trunk@304 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/lib/entities.php | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/engine/lib/entities.php b/engine/lib/entities.php index 8784e9af4..9ddb4c9f1 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -763,6 +763,37 @@  		return $returnvalue;  	} +	/** +	 * Import an entity. +	 * This function checks the passed XML doc (as array) to see if it is a user, if so it constructs a new  +	 * elgg user and returns "true" to inform the importer that it's been handled. +	 */ +	function import_entity_plugin_hook($hook, $entity_type, $returnvalue, $params) +	{ +		$name = $params['name']; +		$element = $params['element']; +		 +		$tmp = NULL; +		 +		switch ($name) +		{ +			case 'ElggUser' : $tmp = new ElggUser(); break; +			case 'ElggSite' : $tmp = new ElggSite(); break; +			case 'ElggConnection' : $tmp = new ElggConnection(); break; +			case 'ElggObject' : $tmp = new ElggObject(); break; +		} +		 +		if ($tmp) +		{ +			$tmp->import($element); +			 +			return $tmp; +		} +	} +	 +	/** Register the import hook */ +	register_plugin_hook("import", "all", "import_user_plugin_hook", 0); +	  	/** Register the hook, ensuring entities are serialised first */  	register_plugin_hook("export", "all", "export_entity_plugin_hook", 0);  | 
