private function createUserFromContactForm ($user, $contactId, $email, $sendEmail = true) {
		$createUser = false;
		$createPass = false;

		if ( array_var ($user, 'create-user')) {
			$createUser = true;
			if ( array_var ($user, 'create-password') || !$sendEmail) { 
				$createPass = true;
				$password =  array_var($user, 'password');
				$password_a =  array_var($user, 'password_a');
			}
			$type =  array_var($user, 'type');
			$username =  array_var($user, 'username');
		}
		if ($createUser){
			if ($createPass){
				$userData = array(
					'contact_id' => $contactId,
					'username' => $username,
					'email' => $email,
					'password' => $password,
					'password_a' => $password_a,
					'type' => $type,
					'password_generator' => 'specify',
					'send_email_notification' => $sendEmail
				);
			}else{
				$userData = array(
					'contact_id' => $contactId,
					'username' => $username,
					'email' => $email,
					'type' => $type,
					'password_generator' => 'link',
					'send_email_notification' => $sendEmail
				);
			}
			$valid =  Contacts::validateUser($contactId);
			create_user($userData, '');
		}
		
	}
 private function createUserFromContactForm($user, $contactId, $email, $sendEmail = true, $save_permissions = true)
 {
     $createUser = false;
     $createPass = false;
     if (array_var($user, 'create-user')) {
         $createUser = true;
         if (array_var($user, 'create-password') || !$sendEmail) {
             $createPass = true;
             $password = array_var($user, 'password');
             $password_a = array_var($user, 'password_a');
         }
         $type = array_var($user, 'type');
         $username = array_var($user, 'username');
     }
     if ($createUser) {
         if ($createPass) {
             $userData = array('contact_id' => $contactId, 'username' => $username, 'email' => $email, 'password' => $password, 'password_a' => $password_a, 'type' => $type, 'password_generator' => 'specify', 'send_email_notification' => $sendEmail);
         } else {
             $userData = array('contact_id' => $contactId, 'username' => $username, 'email' => $email, 'type' => $type, 'password_generator' => 'link', 'send_email_notification' => $sendEmail);
         }
         $valid = Contacts::validateUser($contactId);
         // root permissions
         if ($rp_genid = array_var($_POST, 'root_perm_genid')) {
             $rp_permissions_data = array();
             foreach ($_POST as $name => $value) {
                 if (str_starts_with($name, $rp_genid . 'rg_root_')) {
                     $rp_permissions_data[$name] = $value;
                 }
             }
         }
         create_user($userData, array_var($_REQUEST, 'permissions', ''), $rp_permissions_data, $save_permissions);
     }
     return $userData;
 }