Basis – API für ein Intranet mit authentifizierten Usern USER Das

Werbung
Basis – API für ein Intranet mit authentifizierten Usern
USER
Das Modul USER organisiert alle nutzerrelevanten Daten inkl. des Backends zu einem
Authentification-Tree, wie z.B. LDAP. Diese Funktionen sind nicht public, können also nur
von internen Funktionen benutzt werden, um z.b. zu prüfen, ob ein Benutzer Berechtigung
für eine bestimmte Funktion besitzt.
USER_AUTH
Die Methode USER_AUTH erwartet username und passwort und liefert die UNIQUE_USER_ID
zurück
INT
USER_AUTH( username, password )
Die Methode USER_AUTH_DATA liefert alle Authentifizierungsdaten zu einem Benutzer
STRUCT
USER_AUTH_DATA( username, password )
Authentifizierungsdaten sind:
USER_UNIQUE_ID
USER_ROLE_ID
USER_ROOT
USER_SEX
USER_LANGUAGE
USER_INTERNAL_EMAIL
USER_PRIVATE_EMAIL
USER_STREET
USER_ZIP
USER_CITY
USER_PHONE
USER_MOBILE_PHONE
USER_FAX
USER_ICQ
ALLE WEITEREN FUNKTIONEN UND METHODEN ERWATEN ALS ERSTE ZWEI PARAMETER
ENTWEDER EINEN USERNAMEN UND PASSWORT ODER SESS UND EINE SESSION ID.
USER_GROUP
Das Modul USER_GROUP liefert Gruppenbezogene Benutzerdaten.
Die Methode USER_GROUP_BYUSER liefert alle Gruppen in denen die übergebene User-ID
Mitglied ist.
ARRAY
USER_GROUP_BYUSER( USER_ID )
Die Methode USER_GROUP_GETGROUPS liefert einen Hash mit ID und Namen aller Gruppen
HASH
USER_GROUP_GETGROUPS
Die Methode USER_GROUP_NEW legt eine neue Gruppe an und liefert die ID zurück erwartet
einen hash mit den gruppendaten. Ist der zurückgegebene wert 0 (false) ist das anlegen der
gruppe gespeichert.
INT
USER_GROUP_NEW( KEYS:name,descr,usw, VALUES:intrazopista,lslj,sfa )
Folgende werte sind zwingend vorgeschrieben:
Name
Descr (Beschreibung)
Owner
Admin
Contact
Die Methode USER_GROUP_INFORMATION liefert alle Daten einer Gruppe
STRUCT
USER_GROUP_INFORMATION( group_id )
USER_SESS
Das Modul USER_SESS verwaltet die public – Daten eines Benutzers, bietet also zum einen
eine Schnittstelle zum USER Modul, zum anderen einen Speicherplatz für Userbezogene
Daten beliebiger Anwendungen.
Die Methode USER_SESS_ID liefert die aktuelle Session – ID
CHAR
USER_SESS_ID
Die Methode USER_SESS_DATA liefert alle Elemente aus der aktuellen Session
STRUCT
USER_SESS_DATA
Diese Elemente sind alle öffentlichen Elemente aus dem Authentifizierungsbaum sowei
beliebige von Applikationen gespeicherte Datenstrukturen.
Die Methode USER_SESS_PUT speichert beliebige Datenstrukturen in der Session und liefert
true oder false zurück
INT
USER_SESS_PUT( \%data )
DB
Die Klasse DB verwaltet alle Datenbankzugriffe cached und verifiziert sie.
Dabei sind zwei verschiedene Datenbanken zu unterscheiden. Einmal die Systemdatenbank
(MySQL oder ZDB) zu anderen irgendeine beliebige Datenbank.
Die Methode DB_SYS_QUERY erwartet einen SQL – QUERY und liefert eine Referenz
(Statementhandle) auf sein Ergebnis zurück.
HANDLE
DB_SYS_QUERY( „SELECT....“ )
Die Methode DB_FETCH_ARRAY erwartet ein Statementhandle und gibt einen Datensatz als
Array zurück. Im Schleifenkontext wird dann ein Datensatz nach dem anderen ausgegeben.
ARRAY
DB_FETCH_ARRAY( HANDLE )
Die Methode DB_FETCH_HASH erwartet ein Statementhandle und gibt einen Datensatz als
Hash zurück. Im Schleifenkontext wird dann ein Datensatz nach dem anderen
zurückgeliefert.
HASH
DB_FETCH_HASH
Die Methode DB_EXT_CONNECT erwartet 4 Parameter: Datenbankhost, Username, Passwort,
Datenbankname und verbindet mit der Datenbank. Liefert bei gelingen ein Hanlde auf die
Datenbank bei Mißerfolg false.
INT | HANDLE
DB_EXT_CONNECT( HOST, USER, PASS, NAME )
Die Methode DB_EXT_CLOSE erwartet ein Datenbankhandle und schließt die Verbindung
INT
DB_EXT_CLOSE( HANDLE )
CONVERT
Das Modul CONVERT stellt Standard-Convertierungsschnittstellen zur Verfügung.
Die Methode CONVERT_CSV2EXCEL wandelt CSV Datenquellen in Excel-Files und erwartet 2
Parameter: Pfad zum CSV – File und Pfad zum zu erstellenden Excel-File, liefert, je nach
Gelingen true oder false.
INT
CONVERT_CSV2EXCEL( „/data/csv/file.csv“, „/data/excel/file.xls“ )
Alle weiteren CONVERT – Methoden funktionieren entsprechend:
CONVERT_WORD2PDF
CONVERT_EXCEL2CSV
CONVERT_PDF2WORD
CONVERT_HTML2PDF
CONVERT_PDF2HTML
CONVERT_XML2VCARD
CONVERT_VCARD2XML
Usw.
MEDIA
Das Modul MEDIA verwaltet Mediaobjekte für jede Application
Die Methode MEDIA_NEW legt ein neues Mediaobjekt an, liefert bei Gelingen die id des
media - objektes sonst false und erwartet folgende Parameter mediapath, mediatitle,
mediadescr
INT
MEDIA_NEW( mediapath, mediatitle, mediadescr )
Die Methode MEDIA_UPLOAD erwartet einen Verweis auf ein Server – Environment – Objekt,
sowie ein Ziel, liefert bei Gelingen die id des media – objektes, sonst false zurück. Included
also MEDIA_NEW funktioniert auch sonst wie MEDIA_NEW
INT
MEDIA_UPLOAD( ENV, mediapath, mediatitle, mediadescr )
Das Mediaobjekt arbeitet intern mit einem Zeigerzähler, der die Verwendung in der
media2obj – table beinhaltet
Die Methode MEDIA_CLOSE2OBJ legt eine Media – Objekt – Referenz an, erwartet eine
Media- und eine Objekt – ID, sowie einen Objekttyp. Der Objekttyp beinhaltet das
Objektziel.
INT
MEDIA_CLOSE2OBJ( media_id, obj_id, media_typ )
Die Methode MEDIA_DELETE löst eine Verbindung von einem Mediaobjekt zu einem Objekt,
liefert true / false bei Erfolg / Mißerfolg.
INT
MEDIA_DELETE( media_id, obj_id, objtyp )
Die Methode MEDIA_KILL löscht eine Mediaobjekt und löst alle Verbindungen zu Objekten
INT
MEDIA_KILL( media_id )
ENVIRONMENT
Das Modul ENVIRONMENT stellt das Server-Environment automatisch zur Verfügung
ENV::VARIABLE
API für eine Kalenderapplikation
Eine Kalenderapplikation wird in zwei Basis-Elemente unterteilt:
-
ZEIT
TERMIN
Alle weiteren Module können extern organisiert werden.
TIME
Das Basismodul für den Kalender ist TIME.
Die Methode TIME_NOW liefert die aktuelle Zeit als UNIX Timestamp
UNIXTIME
TIME_NOW
Die Methode TIME_DE erwartet einen Unix-Timestamp und liefert ein deutsches
Datumsformat zurück
DATE_DE
TIME_DE( unix_timestamp )
Entsprechend für US, EN, JP, FR
Die Methode TIME_LOCALTIME erwartet einen Unix-Timestamp und liefert folgendes Array:
Sec, Min, Hour, Day, Month, Year, DayOfMonth, WeekOfMonth, WeekOfYear, DayOfYear,
Summertime
ARRAY
TIME_LOCALTIME( Unix_Timestamp )
DATE
Termine werden mit dem Modul DATE verwaltet
Die Methode DATE_NEW erzeugt einen neuen Termin. Zwingende Parameter: Title, Start,
End, Owner
INT
DATE_NEW( title, start, end, owner )
Weitere Parameter:
ARRAY::INTERVAL
Eine Liste mit beliebigen timestamps
DATEGROUP
Eine Termin – Gruppen – ID zum zusammenfassen verschiedene Termine zu einer einzigen
Gruppe
DATEUSERGROUP
Wenn ein Termin zu einer Gruppe zuzuordnen ist.
DESCR
Ein beliebiger Text
Herunterladen