So far, this is what I found :
Goto line 510 in update.lib.php
Function update_guild() will reset the 'Active' flag.
Btw: update_guild() return a 'guild_id'.
What happens is that when the CP.lua is parsed arround line 527, the Active flag is set again for every member present in the CP.lua. These members stays in the Guild.
On line 539, remove_guild_members() is called.
remove_guild_members()
CANNOT find any removed members, BECAUSE is searches for
WHERE `guild_id` = '$guild_id' AND `active` = '0'.
This is ok,
but the error is : the leaving members have there Active flag still set to zero (this is good) AND their 'guild_id' is also '0' :shock:
remove_guild_members()
will not find any members to remove
Some has an idea where to look now ? Am I close ?
Who's setting 'guild_id' in the members table to zero ?
Also : the memberlog is Guild based :
it uses a ......WHERE `guild_id` = "'.$roster->data['guild_id'].'"'.
or, guild_id has been reset -> the leaving ones don't show up.