- for (unsigned int q = 0; q < Current->ChildCount(); q++)
- {
- ServerInstance->Logs->Log("map",DEBUG,"Hidden? %d HideULines? %d GetName %s", Current->GetChild(q)->Hidden, Utils->HideULines, Current->GetChild(q)->GetName().c_str());
- if ((Current->GetChild(q)->Hidden) || ((Utils->HideULines) && (ServerInstance->ULine(Current->GetChild(q)->GetName().c_str()))))
- {
- if (IS_OPER(user))
- {
- ShowMap(Current->GetChild(q),user,(Utils->FlatLinks && (!IS_OPER(user))) ? depth : depth+2,matrix,totusers,totservers);
- ServerInstance->Logs->Log("map",DEBUG,"Show to oper");
- }
- ServerInstance->Logs->Log("map",DEBUG,"Fall through");
- }
- else
- {
- ShowMap(Current->GetChild(q),user,(Utils->FlatLinks && (!IS_OPER(user))) ? depth : depth+2,matrix,totusers,totservers);
- ServerInstance->Logs->Log("map",DEBUG,"Show to non oper");
- }
+ line++;
+
+ if (user->IsOper() || !Utils->FlatLinks)
+ depth = depth + 2;
+ for (unsigned int q = 0; q < Current->ChildCount(); q++)
+ {
+ TreeServer* child = Current->GetChild(q);
+ if (!user->IsOper()) {
+ if (child->Hidden)
+ continue;
+ if ((Utils->HideULines) && (ServerInstance->ULine(child->GetName())))
+ continue;