Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc//lfun/access_rights

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!


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.