From 2261a5f2e2ba2b05cdd34d0597c9ae9607e9c8c9 Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Fri, 11 Apr 2014 15:14:43 -0500
Subject: [PATCH] Fixup remote user registration by staff

  * Auto confirm remote accounts
  * Don't send out emails for remote account activation
  * Forbid password changes on remote accounts
---
 include/class.user.php | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/include/class.user.php b/include/class.user.php
index 9401429b1..65f40b103 100644
--- a/include/class.user.php
+++ b/include/class.user.php
@@ -604,7 +604,8 @@ class UserAccountModel extends VerySimpleModel {
     }
 
     function isPasswdResetEnabled() {
-        return !$this->hasStatus(UserAccountStatus::FORBID_PASSWD_RESET);
+        return !$this->hasStatus(UserAccountStatus::FORBID_PASSWD_RESET)
+            && (!$this->backend || $this->backend == 'client');
     }
 
     function getStatus() {
@@ -795,10 +796,14 @@ class UserAccount extends UserAccountModel {
             if ($vars['forbid-pwreset-flag'])
                 $account->setStatus(UserAccountStatus::FORBID_PASSWD_RESET);
         }
+        elseif ($vars['backend'] && $vars['backend'] != 'client') {
+            // Auto confirm remote accounts
+            $account->setStatus(self::CONFIRMED);
+        }
 
         $account->save(true);
 
-        if ($vars['sendemail'])
+        if (!$account->isConfirmed() && $vars['sendemail'])
             $account->sendConfirmEmail();
 
         return $account;
-- 
GitLab