access_rights() =============== FUNKTION -------- :: int access_rights(string euid, string file); DEFINIERT IN ------------ :: access_rights.c (muss man selber schreiben) PARAMETER --------- :: euid Die euid desjenigen, der auf das Verzeichnis schreiben will file Name der Datei, auf die zugegriffen werden soll BESCHREIBUNG ------------ :: access_rights() wird immer dann aufgerufen, wenn jemand, der nicht sowieso schon schreibberechtigt ist, in die Datei/das Verzeichnis file schreiben oder loeschen will. Anhand von euid kann man dann entscheiden, ob der Schreibzugriff erlaubt wird oder nicht. RUECKGABEWERT ------------- :: 0, wenn der Zugriff verweigert wird, 1, wenn der Zugriff erlaubt wird. BEISPIELE --------- :: /* /d/inseln/wargon/access_rights.c */ int access_rights(string euid, string file) { string dir, rest; // Catweazle darf auf alles zugreifen (*argl* ;^) if (euid == "catweazle") return 1; // Rechte auf einzelne Verzeichnisse ermitteln: if (sscanf(file, "%s/%s", dir, rest) != 2) rest = file; // Jof und Boing duerfen an Tarko Reub rumpfuschen: if (dir == "tarko" && (euid == "jof" || euid == "boing")) return 1; // Anthea darf die Karten von Aurora und der Piratenhoehle bearbeiten: if (dir == "MAPS" && member( ({"Aurora", "Piratenhoehle" }), rest) >= 0 && euid == "anthea") return 1; // alle anderen duerfen nicht! return 0; } BEMERKUNGEN ----------- :: file ist immer relativ zu dem Verzeichnis, in dem das access_rights.c liegt! Will also jemand auf /d/inseln/wargon/tarko/macros.h schreiben, wird file "tarko/macros.h" uebergeben. In Verzeichnissen von Magiern mit einem Level >= ELDER_LVL wird das access_rights.c NICHT ausgewertet (da damit andere Magier zB. an Erzmagierrechte gelangen koennten). Es wird immer nur EIN access_rights.c ausgewertet, naemlich das in der tiefsten Verzeichnisebene. Man kann sowohl in seinen Regionsverzeichnissen als auch in seinen Homeverzeichnissen access_rights.c-Dateien anlegen. GANZ WICHTIG!!! Fuer die Dateien, die evtl. von anderen angelegt werden, ist man immer noch selbst verantwortlich! Wenn jemand also ein Gebiet bei Dir an- schliesst, muss es erst von den verantwortlichen Regionsmagiern abgesegnet sein!