From 5e314e8effb42b60d720de40fbf74591ae421534 Mon Sep 17 00:00:00 2001
From: Tom Needham <needham.thomas@gmail.com>
Date: Sat, 7 Apr 2012 22:00:32 +0000
Subject: [PATCH] Emit hooks for user creation

---
 lib/migrate.php | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/migrate.php b/lib/migrate.php
index 6734c805fc..2730d26a74 100644
--- a/lib/migrate.php
+++ b/lib/migrate.php
@@ -232,10 +232,19 @@ class OC_Migrate{
 					OC_Log::write( 'migration', 'User already exists', OC_Log::ERROR );
 					return json_encode( array( 'success' => false ) );	
 				}
+				$run = true;
+				OC_Hook::emit( "OC_User", "pre_createUser", array( "run" => &$run, "uid" => self::$uid, "password" => $json->hash ));
+				if( !$run ){
+					// Something stopped the user creation
+					OC_Log::write( 'migration', 'User creation failed', OC_Log::ERROR );
+					return json_encode( array( 'success' => false ) );	
+				}
 				// Create the user
 				if( !self::createUser( self::$uid, $json->hash ) ){
 					return json_encode( array( 'success' => false ) );	
 				}
+				// Emit the post_createUser hook (password is already hashed, will cause problems
+				OC_Hook::emit( "OC_User", "post_createUser", array( "uid" => self::$uid, "password" => $json->hash ));
 				// Make the new users data dir
 				$path = $datadir . '/' . self::$uid . '/files/';
 				if( !mkdir( $path, 0755, true ) ){
-- 
GitLab