@@ -120,9 +120,9 @@ public function getNextUIDNumber($UnitySQL)
120120 $ max_uid = $ UnitySQL ->getSiteVar ('MAX_UID ' );
121121 $ new_uid = $ max_uid + 1 ;
122122
123- while ($ this ->UIDNumInUse ($ new_uid )) {
124- $ new_uid ++;
125- }
123+ while ($ this ->UIDNumInUse ($ new_uid )) {
124+ $ new_uid ++;
125+ }
126126
127127 $ UnitySQL ->updateSiteVar ('MAX_UID ' , $ new_uid );
128128
@@ -134,12 +134,8 @@ public function getNextPiGIDNumber($UnitySQL)
134134 $ max_pigid = $ UnitySQL ->getSiteVar ('MAX_PIGID ' );
135135 $ new_pigid = $ max_pigid + 1 ;
136136
137- $ pi_groups = $ this ->pi_groupOU ->getChildrenArray (true );
138-
139- foreach ($ pi_groups as $ group ) {
140- if ($ group ["gidnumber " ][0 ] == $ new_pigid ) {
141- $ new_pigid ++;
142- }
137+ while ($ this ->PiGIDNumInUse ($ new_pigid )) {
138+ $ new_pigid ++;
143139 }
144140
145141 $ UnitySQL ->updateSiteVar ('MAX_PIGID ' , $ new_pigid );
@@ -152,12 +148,8 @@ public function getNextOrgGIDNumber($UnitySQL)
152148 $ max_gid = $ UnitySQL ->getSiteVar ('MAX_GID ' );
153149 $ new_gid = $ max_gid + 1 ;
154150
155- $ groups = $ this ->org_groupOU ->getChildrenArray (true );
156-
157- foreach ($ groups as $ group ) {
158- if ($ group ["gidnumber " ][0 ] == $ new_gid ) {
159- $ new_gid ++;
160- }
151+ while ($ this ->GIDNumInUse ($ new_gid )) {
152+ $ new_gid ++;
161153 }
162154
163155 $ UnitySQL ->updateSiteVar ('MAX_GID ' , $ new_gid );
@@ -177,11 +169,23 @@ private function UIDNumInUse($id)
177169 return false ;
178170 }
179171
172+ private function PiGIDNumInUse ($ id )
173+ {
174+ $ pi_groups = $ this ->pi_groupOU ->getChildrenArray (true );
175+ foreach ($ pi_groups as $ pi_group ) {
176+ if ($ pi_group ["gidnumber " ][0 ] == $ id ) {
177+ return true ;
178+ }
179+ }
180+
181+ return false ;
182+ }
183+
180184 private function GIDNumInUse ($ id )
181185 {
182- $ users = $ this ->groupOU ->getChildrenArray (true );
183- foreach ($ users as $ user ) {
184- if ($ user ["gidnumber " ][0 ] == $ id ) {
186+ $ groups = $ this ->groupOU ->getChildrenArray (true );
187+ foreach ($ groups as $ group ) {
188+ if ($ group ["gidnumber " ][0 ] == $ id ) {
185189 return true ;
186190 }
187191 }
0 commit comments