|
|
@@ -42,29 +42,21 @@ class SyncUsers {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+ $usrTo = $this->_toStorage->getUser($usrLogin);
|
|
|
+ if (!$usrTo) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $synced = $this->syncExistingUser($usrLogin, $usrFrom, $usrTo);
|
|
|
+ if (!$synced) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
else {// $usrFrom && $usrTo
|
|
|
-
|
|
|
- $updateData = array();
|
|
|
- if ($usrFrom->name != $usrTo->name) $updateData['name'] = $usrFrom->name;
|
|
|
- if ($usrFrom->email != $usrTo->email) $updateData['email'] = $usrFrom->email;
|
|
|
- if ($usrFrom->phone != $usrTo->phone) $updateData['phone'] = $usrFrom->phone;
|
|
|
- if ($usrFrom->homeEmail != $usrTo->homeEmail) $updateData['homeEmail'] = $usrFrom->homeEmail;
|
|
|
- if ($usrFrom->homePhone != $usrTo->homePhone) $updateData['homePhone'] = $usrFrom->homePhone;
|
|
|
- if ($usrFrom->employeeType != $usrTo->employeeType) $updateData['employeeType'] = $usrFrom->employeeType;
|
|
|
-
|
|
|
- if ($this->_fromStorage->isPasswordChanged($usrLogin)) $updateData['password'] = $usrFrom->password;
|
|
|
-
|
|
|
- $updated = $this->_toStorage->updateUser($usrLogin, $updateData);
|
|
|
- if (!$updated) {
|
|
|
- $errors = $this->_toStorage->getRawErrorsList();
|
|
|
- foreach ($errors as $vErr) {
|
|
|
- $this->setError($vErr->code, $vErr->msg, $vErr->dbgMsg);
|
|
|
- }
|
|
|
- $this->setError(1, "TODO: update user {$usrLogin} from fromStorage to toStorage", '(' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . ')');
|
|
|
+ $synced = $this->syncExistingUser($usrLogin, $usrFrom, $usrTo);
|
|
|
+ if (!$synced) {
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
if ($syncGroups) {
|
|
|
@@ -89,6 +81,32 @@ class SyncUsers {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ public function syncExistingUser($usrLogin, ObjectUser $usrFrom, ObjectUser $usrTo) {
|
|
|
+ if (!$usrFrom) return false;
|
|
|
+ if (!$usrTo) return false;
|
|
|
+
|
|
|
+ $updateData = array();
|
|
|
+ if ($usrFrom->name != $usrTo->name) $updateData['name'] = $usrFrom->name;
|
|
|
+ if ($usrFrom->email != $usrTo->email) $updateData['email'] = $usrFrom->email;
|
|
|
+ if ($usrFrom->phone != $usrTo->phone) $updateData['phone'] = $usrFrom->phone;
|
|
|
+ if ($usrFrom->homeEmail != $usrTo->homeEmail) $updateData['homeEmail'] = $usrFrom->homeEmail;
|
|
|
+ if ($usrFrom->homePhone != $usrTo->homePhone) $updateData['homePhone'] = $usrFrom->homePhone;
|
|
|
+ if ($usrFrom->employeeType != $usrTo->employeeType) $updateData['employeeType'] = $usrFrom->employeeType;
|
|
|
+
|
|
|
+ if ($this->_fromStorage->isPasswordChanged($usrLogin)) $updateData['password'] = $usrFrom->password;
|
|
|
+
|
|
|
+ $updated = $this->_toStorage->updateUser($usrLogin, $updateData);
|
|
|
+ if (!$updated) {
|
|
|
+ $errors = $this->_toStorage->getRawErrorsList();
|
|
|
+ foreach ($errors as $vErr) {
|
|
|
+ $this->setError($vErr->code, $vErr->msg, $vErr->dbgMsg);
|
|
|
+ }
|
|
|
+ $this->setError(1, "TODO: update user {$usrLogin} from fromStorage to toStorage", '(' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . ')');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
public function getSyncUserTodoList($usrLogin, $syncGroups = false, $syncDisabled = false) {
|
|
|
$syncTodoList = array();
|
|
|
$usrFrom = $this->_fromStorage->getUser($usrLogin);
|
|
|
@@ -377,14 +395,14 @@ class SyncUsers {
|
|
|
}
|
|
|
|
|
|
$groupTo = $this->_toStorage->getGroup($groupID);
|
|
|
- $synced = $this->syncExistingGroup($groupFrom, $groupTo, $syncNestedGroups);
|
|
|
+ $synced = $this->syncExistingGroup($groupID, $groupFrom, $groupTo, $syncNestedGroups);
|
|
|
if (!$synced) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
else {// $groupFrom && $groupTo
|
|
|
- $synced = $this->syncExistingGroup($groupFrom, $groupTo, $syncNestedGroups);
|
|
|
+ $synced = $this->syncExistingGroup($groupID, $groupFrom, $groupTo, $syncNestedGroups);
|
|
|
if (!$synced) {
|
|
|
return false;
|
|
|
}
|
|
|
@@ -396,7 +414,7 @@ class SyncUsers {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- public function syncExistingGroup(ObjectGroup $groupFrom, ObjectGroup $groupTo, $syncNestedGroups = false) {
|
|
|
+ public function syncExistingGroup($groupID, ObjectGroup $groupFrom, ObjectGroup $groupTo, $syncNestedGroups = false) {
|
|
|
if (!$groupFrom) return false;
|
|
|
if (!$groupTo) return false;
|
|
|
|