0 and u.nickname is null and p.server_id = '.$serverid;
$qry = mysql_query($search_lost_players);
while($row = mysql_fetch_assoc($qry)){
$player[] = $row['user_id'];
}
if(count($player) > 0){
$delete_sql = 'DELETE FROM '.$mumbledb.'.users where user_id IN ('.join(',',$player).') and server_id = '.$serverid;
}
//echo $delete_sql.'
';
// Verbinde die Clanchannels mit den Clans
//$clan_channels_sql = 'SELECT distinct(clanname) as name from '.$mumbledb.'.channels c right join '.$ag_db.'.clan cl on c.name = cl.clanname where name is null';
$clan_channels_sql = 'SELECT distinct(clanname) as name, count(u.clan) anzahl, name is not null as existance from '.$mumbledb.'.channels c right join '.$ag_db.'.clan cl on c.name = cl.clanname left join '.$ag_db.'.user u on cl.id = u.clan group by clanname';
$qry = mysql_query($clan_channels_sql);
$insert_clan_channels = 'INSERT INTO '.$mumbledb.'.channels(server_id, channel_id, parent_id, name, inheritacl) values';
$insert_clan_groups = 'INSERT INTO '.$mumbledb.'.groups(group_id, server_id, name, channel_id, inherit, inheritable) values';
$insert_acl = 'INSERT INTO '.$mumbledb.'.acl(server_id, channel_id, priority, group_name, apply_here, apply_sub, grantpriv, revokepriv) values';
$i=1;
while($row = mysql_fetch_assoc($qry)){
$channelid = ($max_channel + $i);
$groupid = ($max_group + $i);
if($row['existance'] == 0 && $row['anzahl'] >= $min_member_count_create){
echo $row['name'].' ist gross genug!
';
if($i==1){
$insert_clan_channels .= '('.$serverid.', '.$channelid.', '.$clan_chan.', \''.$row['name'].'\',1)';
$insert_clan_groups .= '('.$groupid.', '.$serverid.', \'member\', '.$channelid.', 1, 1)';
$insert_acl .= '('.$serverid.','.$channelid.',5,\'member\',1,1,510,0), ('.$serverid.','.$channelid.',6,\'member\',0,1,1,0)';
} else{
$insert_clan_channels .= ', ('.$serverid.', '.$channelid.', '.$clan_chan.', \''.$row['name'].'\',1)';
$insert_clan_groups .= ', ('.$groupid.', '.$serverid.', \'member\', '.$channelid.', 1, 1)';
$insert_acl .= ', ('.$serverid.','.$channelid.',5,\'member\',1,1,510,0), ('.$serverid.','.$channelid.',6,\'member\',0,1,1,0)';
}
$i++;
} else if($row['existance'] == 1 && $row['anzahl'] <= $max_member_count_delete){
mysql_query('DELETE FROM '.$mumbledb.'.channels WHERE parent_id = '.$clan_chan. ' and name = \''.$row['name'].'\' and server_id = '.$serverid);
}
}
// Delete nonexistant Clan-Channels!
$search_lost_channels = 'select channel_id FROM '.$mumbledb.'.channels left join '.$ag_db.'.clan on name = clanname where clanname is null and parent_id = '.$clan_chan.' and server_id = '.$serverid;
$qry = mysql_query($search_lost_channels);
while($row = mysql_fetch_assoc($qry)){
$channels[] = $row['channel_id'];
}
if(count($channels) > 0){
$remove_clan_channel_sql = 'DELETE FROM '.$mumbledb.'.channels where channel_id IN ('.join(',',$channels).') and server_id = '.$serverid;
}
//echo $remove_clan_channel_sql.'
';
$sql_user_select = 'Select p.user_id, ch.name as ch_name, ch2.name as ch2_name, ch.parent_id as ch_parent_id, ch2.parent_id as ch2_parent_id, g.group_id as g_group_id, g2.group_id as g2_group_id from
( '.$ag_db.'.user u inner join '.$mumbledb.'.users p on
u.id = p.user_id
)
left join '.$ag_db.'.clan cl on
u.clan = cl.id
left join '.$mumbledb.'.group_members gm on
gm.user_id = p.user_id and p.server_id = gm.server_id
left join '.$mumbledb.'.groups g on
g.group_id = gm.group_id and g.server_id = p.server_id
left join '.$mumbledb.'.channels ch on
ch.channel_id = g.channel_id and p.server_id = ch.server_id
left join '.$mumbledb.'.channels ch2 on
ch2.name = cl.clanname and p.server_id = ch2.server_id
left join '.$mumbledb.'.groups g2 on
g2.channel_id = ch2.channel_id and g2.server_id = p.server_id
where not (ch.name is null && ch2.name is null) and (ch.name is null || ch.parent_id = 2) and (ch2.name is null || ch2.parent_id = 2) and (ch.name is null || ch2.name is null or ch.name != ch2.name) and p.server_id = '.$serverid;
/**
* So nun die Ausfuehrung!
*/
mysql_query($rename_sql);
if(isset($delete_sql)){
mysql_query($delete_sql);
}
if($i!=1){
// echo $insert_clan_channels.'
';
mysql_query($insert_clan_channels);
mysql_query($insert_clan_groups);
mysql_query($insert_acl);
}
// Entferne Channels von Clans die es nicht mehr gibt!
mysql_query($remove_clan_channel_sql);
// Nun die User :)
$qry = mysql_query($sql_user_select);
while($row = mysql_fetch_assoc($qry)){
// Zu Gruppe hinzufuegen oder aus gruppe entfernen?
if($row['ch_name'] == NULL){
// Hinzufuegen
$sql = 'INSERT INTO '.$mumbledb.'.group_members(group_id, server_id, user_id, addit) values('.$row['g2_group_id'].', '.$serverid.', '.$row['user_id'].',1)';
// echo $sql.'
';
mysql_query($sql);
} else if($row['ch2_name'] == NULL){
// Entfernen
$sql = 'DELETE FROM '.$mumbledb.'.group_members where group_id = '.$row['g_group_id'].' and server_id = '.$serverid.' and user_id = '.$row['user_id'];
// echo $sql.'
';
mysql_query($sql);
}
}
?>