QueryUIDsForWizard()
********************


FUNKTION
========

   varargs string* QueryUIDsForWizard(string wizname, int recursive);


DEFINIERT IN
============

   /secure/master/userinfo.c


ARGUMENTE
=========

   wizname
     Der Magier, fuer den man die UIDs ermitteln will, fuer die er
     zustaendig ist.
   recursive (optional)
     Gibt an, ob QueryUIDsForWizard() (indirekt) rekursiv aufgerufen wurde.
     Sollte normalerweise nicht per Hand gesetzt werden.


BESCHREIBUNG
============

   Die Funktion ermittelt die UIDs, fuer die dieser Magier zustaendig ist.
   Dabei wird impliziert beruecksichtigt, wenn der Magier RM einer Region
   oder Gildenmagier einer Gilde ist, ebenso wie Verzeichnisse in den
   Regionen oder in /p/service.
   Ausserdem wird nachgeschaut, fuer welche UIDs dieser Magier explizit
   eingetragen worden ist.
   Wenn z.B. Magier A auch fuer alle UIDs von Magier B zustaendig sein
   sollte, liefert die Funktion auch die UIDs von B zurueck.


RUeCKGABEWERT
=============

   Zurueckgeliefert wird ein Array von Strings, jedes Element ist eine UID.
   Sollte fuer einen Namen keine UID ermittelbar sein, ist das Arrays leer.


BEISPIELE
=========

   string *uids = master()->QueryUIDsForWizard("ennox");
   // uids enthaelt nun:
   // ({"ennox","d.anfaenger.ennox","d.schattenwelt.ennox",
   //   "p.service.ennox","GUILD.chaos","p.chaos"})


SIEHE AUCH
==========

   QueryWizardsForUID(),
               AddWizardForUID(), RemoveWizardFromUID()

16.12.2007, Zesstra
