Lpc Manpages

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!