public static function createUser($credential, $profile, $role = "Member") { $password = $credential->password; $credential->salt = SecurityUtils::generateSalt($credential->email_id); $credential->activation_code = SecurityUtils::generateRandomString(10); $credential->registered_ip = SecurityUtils::getRealIp(); $credential->password = SecurityUtils::encryptPassword($credential->password, $credential->salt); $credential->password_confirm = $credential->password; if ($credential->save()) { $profile->user_id = $credential->id; if ($profile->save()) { $assignment = new Assignments(); $assignment->itemname = $role; $assignment->userid = $credential->id; $assignment->data = 's:0:"";'; $assignment->save(); return array('credential' => $credential, 'profile' => $profile); } else { $credential->delete(); $credential->setIsNewRecord(true); return false; } } else { $credential->password = $password; $credential->password_confirm = $password; return false; } }