+ // Prepare user map.
+ $users = $this->getUsers();
+ foreach ($users as $key=>$user_item)
+ $this->userMap[$user_item['id']] = $key + 1;
+
+ // Prepare role map.
+ $roles = $this->getRoles();
+ foreach ($roles as $key=>$role_item)
+ $this->roleMap[$role_item['id']] = $key + 1;
+
+ // Prepare client map.
+ $clients = ttTeamHelper::getAllClients($this->group_id, true);
+ foreach ($clients as $key=>$client_item)
+ $this->clientMap[$client_item['id']] = $key + 1;
+
+ // Write users.
+ fwrite($this->file, $this->indentation."<users>\n");
+ foreach ($users as $user_item) {
+ $role_id = $user_item['rank'] == 512 ? 0 : $this->roleMap[$user_item['role_id']]; // Special role_id 0 (not null) for top manager.
+ $user_part = $this->indentation.' '."<user id=\"".$this->userMap[$user_item['id']]."\"";
+ $user_part .= " name=\"".htmlentities($user_item['name'])."\"";
+ $user_part .= " login=\"".htmlentities($user_item['login'])."\"";
+ $user_part .= " password=\"".$user_item['password']."\"";
+ $user_part .= " role_id=\"".$role_id."\"";
+ $user_part .= " client_id=\"".$this->clientMap[$user_item['client_id']]."\"";
+ $user_part .= " rate=\"".$user_item['rate']."\"";
+ $user_part .= " email=\"".$user_item['email']."\"";
+ $user_part .= " status=\"".$user_item['status']."\"";
+ $user_part .= "></user>\n";
+ fwrite($this->file, $user_part);
+ }
+ fwrite($this->file, $this->indentation."</users>\n");
+