WBB_Connect 3.0
WBB_Connect 3 ist die Neuentwicklung von WBB_Connect 2.0. Die Version 3 wurde wiedereinmal komplett neu geschrieben und um einiges verbessert.
Zudem hat sich der Funktionsumfang mehr als verdoppelt! Mit nun mehr als 70 Funktionen lässt sich das Forum noch besser verwalten.
WBB_Connect arbeitet nun nicht mehr mit Callbacks. Es kann wieder wie in den Versionen 1.X die Werte direkt zurückgeben! Trotzdem wird die WBB_Connect API im Forum verwendet um alle Abläufe WBB konform zu gestalten.
Wird nun z.B. der Name einer Person geändert, so geschieht das sofort - Als würde es direkt im Browser gemacht werden.
Weitere Gründe WBB_Connect 3.0 zu benutzen sind:
- Es ist noch einfacher geworden. Nahezu jeder kann es ohne große Vorkenntnisse direkt ins Script einbauen und verwenden
- Es ist nicht mehr anfällig für Fehler
- Es ist nur noch eine Include, kein Filterscript mehr
- Operationen werden bis zu 3x mal schneller ausgeführt!
- Es ist WBB 3.1.7 & 3.1.8 kompatibel
- Es arbeitet hauptsächlich mit IDs
Funktionen
-
WBB_AddUserActivityPoints
WBB_AddUserActivityPoints ( _:UserID , _:ActivityPoints )
Gibt den Benutzer die angegebenen Aktivitätspunkte. -
WBB_AddUserToGroup
WBB_AddUserToGroup ( _:UserID , _:GroupID )
Fügt dem Benutzer einer Gruppe hinzu. -
WBB_BanUser
WBB_BanUser ( _:UserID , _:Reason[ ] )
Bannt den Benutzer. -
WBB_CheckUserPassword
WBB_CheckUserPassword ( _:UserID , _:Password[ ] )
Prüft ob das angegebene Passwort das Passwort des Benutzers ist. Wenn ja gibt die Funktion true zurück. Sonst false. -
WBB_CloseThread
WBB_CloseThread ( _:ThreadID )
Schließt einen Thread. -
WBB_CreatePost
WBB_CreatePost ( _:UserID , _:ThreadID , _:Subject[ ] , _:Text[ ] , bool:Disabled = false , bool:CloseThread = false , bool:MarkAsDone = false , bool:EnableSmilies = false , bool:EnableHTML = false , bool:EnableBBCodes = false , bool:ShowSignature = false )
Erstellt einen Beitrag im angegebenen Thread im Namen des Benutzers.
Die Funktion gibt bei Erfolg die ID des erstellten Beitrags zurück. Sonst 0. -
WBB_CreateThread
WBB_CreateThread ( _:UserID , _:BoardID , _:Prefix[ ] , _:Subject[ ] , _:Text[ ] , bool:IsImportant = false , bool:Closed = false , bool:Disabled = false , bool:CloseThread = false , bool:EnableSmilies = false , bool:EnableHTML = false , bool:EnableBBCodes = false , bool:ShowSignature = false )
Erstellt ein Thema im angegebenen Board im Namen des Benutzers.
Die Funktion gibt bei Erfolg die ID des erstellten Threads zurück. Sonst 0. -
WBB_CreateUser
WBB_CreateUser ( _:Name[ ] , _:Email[ ] , _:Password[ ] )
Registriert einen neuen Benutzer. Der Benutzer muss anschließend nach der im Forum eingestellten Methode aktiviert werden.
Ist der Name schon vorhanden, gibt die Funktion "USER_ALREADY_EXISTS" zurück. Ist die E-Mail Adresse vergeben gibt die Funktion "EMAIL_ALREADY_EXISTS" zurück. -
WBB_DeletePost
WBB_DeletePost ( _:PostID )
Löscht den angegebenen Beitrag endgültig. -
WBB_DeleteThread
WBB_DeleteThread ( _:ThreadID )
Löscht den angegebenen Thread endgültig. -
WBB_DeleteUser
WBB_DeleteUser ( _:UserID )
Löscht den Benutzer endgültig. -
WBB_DisablePost
WBB_DisablePost ( _:PostID )
Deaktiviert den Beitrag. -
WBB_DisableThread
WBB_DisableThread ( _:ThreadID )
Deaktiviert den Thread. -
WBB_DisableUserAvatar
WBB_DisableUserAvatar ( _:UserID , _:Reason[ ] )
Deaktiviert den Avatar des Benutzers mit Angabe eines Grundes. -
WBB_DisableUserSignature
WBB_DisableUserSignature ( _:UserID , _:Reason[ ] )
Deaktiviert die Signatur des Benutzers mit Angabe eines Grundes. -
WBB_EnablePost
WBB_EnablePost ( _:PostID )
Aktiviert einen Beitrag. -
WBB_EnableThread
WBB_EnableThread ( _:ThreadID )
Aktiviert einen Thread. -
WBB_EnableUserAvatar
WBB_EnableUserAvatar ( _:UserID )
Aktiviert den Avatar eines Benutzers. -
WBB_EnableUserSignature
WBB_EnableUserSignature ( _:UserID )
Aktiviert die Signatur eines Benutzers. -
WBB_GetNewestUser
WBB_GetNewestUser ( )
Gibt die Benutzer ID des neuesten Mitgliedes zurück. -
WBB_GetOldUsername
WBB_GetOldUsername ( _:UserID )
Gibt den ehemaligen Benutzernamen des Benutzers zurück. -
WBB_GetPostCreator
WBB_GetPostCreator ( _:PostID )
Gibt die Benutzer ID des Benutzers zurück, der diesen Beitrag erstellt hat. -
WBB_GetProfileAge
WBB_GetProfileAge ( _:UserID )
Gibt das Alter des Forumprofils in Tagen zurück. -
WBB_GetThreadCreator
WBB_GetThreadCreator ( _:ThreadID )
Gibt die Benutzer ID des Benutzers zurück, der diesen Thread erstellt hat. -
WBB_GetUserAboutMe
WBB_GetUserAboutMe ( _:UserID )
Gibt die "Über mich" Beschreibung des Benutzers zurück. -
WBB_GetUserActivationCode
WBB_GetUserActivationCode ( _:UserID )
Gibt den Aktivierungscode des Benutzers zurück. -
WBB_GetUserActivityPoints
WBB_GetUserActivityPoints ( _:UserID )
Gibt die Aktivitätspunkte des Benutzers zurück. -
WBB_GetUserAge
WBB_GetUserAge ( _:UserID )
Gibt das Alter des Benutzers in Jahren zurück. -
WBB_GetUserAvatarDisableReason
WBB_GetUserAvatarDisableReason ( _:UserID )
Gibt den Grund für die Deaktivierung des Avatars des Benutzers zurück. -
WBB_GetUserBanReason
WBB_GetUserBanReason ( _:UserID )
Gibt den Grund für das Sperren des Benutzers zurück. -
WBB_GetUserBirthday
WBB_GetUserBirthday ( _:UserID )
Gibt den Geburtstag des Benutzers im folgenden Format zurück: "Jahr-Monat-Tag". Zum Beispiel: 1936-06-17 -
WBB_GetUserCustomOption
WBB_GetUserCustomOption ( _:UserID , _:Option[ ] )
Gibt die angegebene Option des Benutzers zurück. Zum Beispiel: "icq" oder "skype". Diese Funktion kann ebenfalls Optionen von Burning Board Plugins auslesen! -
WBB_GetUserEmail
WBB_GetUserEmail ( _:UserID )
Gibt die E-Mail Adresse des Benutzers zurück. -
WBB_GetUserGender
WBB_GetUserGender ( _:UserID )
Gibt das Geschlecht des Benutzers zurück. Die Funktion gibt "USER_GENDER_MALE" für männlich, "USER_GENDER_FEMALE" für weiblich und "USER_GENDER_NONE" für unbekannt zurück. -
WBB_GetUserGroups
WBB_GetUserGroups ( _:UserID , _:GroupIDs[ ] , const _:ArraySize )
Schreibt alle Gruppen IDs von den Gruppen, in denen sich der Benutzer befindet in das angegebene Array. Beispiel:
new GroupIDs[12];
WBB_GetUserGroups(12, GroupIDs, sizeof GroupIDs);
for(new i; i < sizeof GroupIDs; i++)
{
if(GroupIDs[i] == 0)
break;
printf("Der Benutzer ist in der Gruppe: %d", GroupIDs[i]);
} -
WBB_GetUserHobbies
WBB_GetUserHobbies ( _:UserID )
Gibt die Hobbies des Benutzers zurück. -
WBB_GetUserHomepage
WBB_GetUserHomepage ( _:UserID )
Gibt die Homepage des Benutzers zurück. -
WBB_GetUserID
WBB_GetUserID ( _:UserName[ ] )
Gibt die Benutzer ID des Benutzers zurück, der den angegebenen Namen hat. Existiert der Name nicht gibt die Funktion 0 zurück. -
WBB_GetUserLocation
WBB_GetUserLocation ( _:UserID )
Gibt den Wohnort des Benutzers zurück. -
WBB_GetUserLostPasswordKey
WBB_GetUserLostPasswordKey ( _:UserID )
Gibt den "Passwort verloren"-Schlüssel zurück. Dieser wird vom Benutzer benötigt, wenn er sein Password ändern möchte. -
WBB_GetUserName
WBB_GetUserName ( _:UserID )
Gibt den Benutzernamen des Benutzers zurück. -
WBB_GetUserOccupation
WBB_GetUserOccupation ( _:UserID )
Gibt den Beruf des Benutzers zurück. -
WBB_GetUserOutstandingPMs
WBB_GetUserOutstandingPMs ( _:UserID )
Gibt die Anzahl der Privaten Nachrichten an, die der Benutzer noch nicht gelesen und verborgen hat. -
WBB_GetUserProfileHits
WBB_GetUserProfileHits ( _:UserID )
Gibt die Anzahl der Profilaufrufe des Benutzers zurück. -
WBB_GetUserRankID
WBB_GetUserRankID ( _:UserID )
Gibt den Rang des Benutzers zurück. -
WBB_GetUserReactivationCode
WBB_GetUserReactivationCode ( _:UserID )
Gibt den Reaktivierungscode des Benutzers zurück. -
WBB_GetUserSigDisableReason
WBB_GetUserSigDisableReason ( _:UserID )
Gibt den Grund für die Deaktivierung der Signatur des Benutzers zurück. -
WBB_GetUserTitle
WBB_GetUserTitle ( _:UserID )
Gibt den Titel des Benutzers zurück. -
WBB_GetUserUnreadPMQuantity
WBB_GetUserUnreadPMQuantity ( _:UserID )
Gibt die Anzahl der ungelesenen Nachrichten des Benutzers zurück. -
WBB_Initialize
WBB_Initialize ( _:_ApiURL[ WBB_CONNECT_URL_LENGTH ] , _:_AuthKey[ ] )
Initialisiert WBB_Connect. Diese Funktion muss als erstes aufgerufen werden! zum Beispiel unter "OnGameModeInit" oder im Haupteinstiegspunkt.
War die Initialisierung erfolgreich wird true zurückgegeben. Sonst false. Weitere Informationen unter "Benutzung". -
WBB_IsUserActivated
WBB_IsUserActivated ( _:UserID )
Gibt true zurück, falls der Benutzer aktiviert ist. Sonst false. -
WBB_IsUserAvatarDisabled
WBB_IsUserAvatarDisabled ( _:UserID )
Gibt true zurück, falls der Avatar des Benutzers deaktiviert ist. Sonst false. -
WBB_IsUserBanned
WBB_IsUserBanned ( _:UserID )
Gibt true zurück, falls der Benutzer gebannt ist. Sonst false. -
WBB_IsUserInGroup
WBB_IsUserInGroup ( _:UserID , _:GroupID )
Gibt true zurück, falls der Benutzer ein Mitglied der angegebenen Gruppe ist. Sonst false. -
WBB_IsUserOnline
WBB_IsUserOnline ( _:UserID )
Gibt true zurück, falls der Benutzer im Forum online ist. Sonst false. -
WBB_IsUserSignatureDisabled
WBB_IsUserSignatureDisabled ( _:UserID )
Gibt true zurück, falls die Signatur des Benutzers deaktiviert ist. Sonst false. -
WBB_OpenThread
WBB_OpenThread ( _:ThreadID )
Öffnet den angegebenen Thread. -
WBB_RemoveUserFromGroup
WBB_RemoveUserFromGroup ( _:UserID , _:Group )
Entfernt den Benutzer aus der angebenen Gruppe. Ist der Benutzer kein Mitglied der Gruppe gibt die Funktion 0 zurück. -
WBB_RestorePost
WBB_RestorePost ( _:PostID )
Stellt den angegebenen Beitrag wieder her, falls er gelöscht wurde. -
WBB_RestoreThread
WBB_RestoreThread ( _:ThreadID )
Stellt den angegebenen Thread wieder her, falls er gelöscht wurde. -
WBB_SendPM
WBB_SendPM ( _:UserID , _:RecipientID , _:Subject[ ] , _:Text[ ] , bool:EnableSmilies = false , bool:EnableHTML = false , bool:EnableBBCodes = false , bool:ShowSignature = false )
Versendet eine Private Nachricht im Namen des angegebenen Benutzers (UserID) an den angegebenen Benutzer (RecipientID). -
WBB_SetUserBirthday
WBB_SetUserBirthday ( _:UserID , _:Day , _:Month , _:Year )
Setzt das Geburtsdatum des Benutzers. -
WBB_SetUserCustomOption
WBB_SetUserCustomOption ( _:UserID , _:Option[ ] , _:Value[ ] )
Setzt die angegebene Option des Benutzers. Zum Beispiel: "icq" oder "skype". Diese Funktion kann ebenfalls Optionen von Burning Board Plugins auslesen! -
WBB_SetUserEmail
WBB_SetUserEmail ( _:UserID , _:Email[ ] )
Ändert die E-Mail Adresse des angegebenen Benutzers. Ist die E-Mail Adresse schon vergeben wird "EMAIL_ALREADY_EXISTS" zurückgegeben. Der Benutzer muss die Änderung nach den Einstellungen im WBB aktivieren, da diese Funktion die originale Aktivierungsmethode verwendet. Ggf. Profil bearbeiten -> Benutzerkonto -> Neue E-Mail Adresse aktivieren. -
WBB_SetUserGender
WBB_SetUserGender ( _:UserID , _:Gender )
Ändert das Geschlecht des angegebenen Benutzers. Mögliche Optionen sind: "USER_GENDER_MALE" für männlich, "USER_GENDER_FEMALE" für weiblich und "USER_GENDER_NONE" für unbekannt. -
WBB_SetUserName
WBB_SetUserName ( _:UserID , _:Name[ ] )
Ändert den Namen des angegebenen Benutzers. Ist der Name schon vorhanden wird "USER_ALREADY_EXISTS" zurückgegeben. Sonst true. -
WBB_SetUserOccupation
WBB_SetUserOccupation ( _:UserID , _:Occupation[ ] )
Ändert den Beruf des angegebenen Benutzers. -
WBB_SetUserPassword
WBB_SetUserPassword ( _:UserID , _:Password[ ] )
Ändert das Password des angegebenen Benutzers. Sollte das Password nicht den Einstellungen des WBB entsprechen, wird false zurückgegeben. Sonst false. -
WBB_SetUserTitle
WBB_SetUserTitle ( _:UserID , _:Title[ ] )
Ändert den Benutzertitel des angegebenen Benutzers. -
WBB_StickThread
WBB_StickThread ( _:ThreadID )
Pinnt den angegebenen Thread an. -
WBB_TrashPost
WBB_TrashPost ( _:PostID )
Löscht den angegebenen Beitrag. -
WBB_TrashThread
WBB_TrashThread ( _:ThreadID )
Löscht den angegebenen Thread. -
WBB_UnbanUser
WBB_UnbanUser ( _:UserID )
Entbannt den angegebenen Benutzer. -
WBB_UnstickThread
WBB_UnstickThread ( _:ThreadID )
Entpinnt den angegebenen Thread.
Alle Anfragen Funktionen geben entweder den angeforderten Wert zurück, oder bei Erfolgreicher Ausführung true. Nur WBB_GetUserGroups ist eine Ausnahme.
Installation
- Installiere das SyncHTTP Plugin auf deinem Server. Lade es hier herunter und befolge die Installationsanleitung auf der Seite.
- Lade dir das Burning Board Plugin WBB_Connect herunter und installiere es in deinem Burning Board. Der Downloadlink steht weiter unten.
- Nach erfolgreicher Installation des Plugins findest du unter Optionen den Eintrag "WBB_Connect". Wähle diesen aus.
- Unter Allgemein kannst du WBB_Connect nun aktivieren. In diesem Schritt muss ein Authentifizierungsschlüssel eingegeben werden. Dieser wird benötigt um mit dem Server auf die API zu verbinden.
- Wenn du alles richtig gemacht hast, kannst du folgenden Link in deinem Browser eingeben: DEINE_DOMAIN_ZUM_FORUM/index.php?page=WBB_ConnectAPI . Es sollte folgendes Bild erscheinen:
Diese Seite wird sehr wichtig sein, falls mal etwas nicht funktionieren sollte. - Im letzten Schritt der Installation muss die Include (Downloadlink unten) deiner IDE hinzugefügt werden. In PAWNit: Unter Einstellungen -> Includes -> Include importieren. Bei Pawno muss die Include manuell in den Ordner "includes" verschoben werden. Im Script muss dann nur noch oben geschrieben werden #include <wbb_connect>
Benutzung
Um alle WBB_Connect Funktionen benutzen zu können, muss WBB_Connect initialisiert werden. Bei diesem Vorgang wird die Verbindung zur WBB_Connect API hergestellt und getestet.
Um WBB_Connect zu initialisieren wird die Funktion "WBB_Initialize" verwendet. Diese Funktion erwartet 2 Parameter: Zum einen die Adresse zu der index.php des Forums, und zum anderen der Authentifizierungsschlüssel, der in der Administration des WBBs eingestellt werden muss. Es empfiehlt sich WBB_Initialize unter OnGameModeInit aufzurufen.
Ein Beispiel zur Initialisierung von WBB_Connect:
main ()
{
if(WBB_Initialize("forum.itwist.de", "der_auth_key"))
{
printf("WBB_Connect wurde erfolgreich initialisiert!");
}
else
{
printf("Es gab einen Fehler, und WBB_Connect konnte nicht initialisiert werden.");
SendRconCommand("exit");
}
}
Sicherheit
In WBB_Connect 3 wird Sicherheit groß geschrieben. Zum einen muss WBB_Connect im Forum die Berechtigung gegeben werden um bestimmte Operationen ausführen zu können (mehr dazu unten), und zum anderen gibt es im ACP die IP-Begrenzung.
Die IP Begrenzung erlaubt nur Zugriffe von einer bestimmten IP Adresse. Alle anderen Anfragen werden abgelehnt nicht nicht bearbeitet.
Wird die IP-Begrenzung aktiviert muss die IP Adresse des SA:MP Servers eingegeben werden.
Berechtigungen
Die WBB_Connect API arbeitet mit Berechtigungen. Das ist ein wichtiges Sicherheitsfeature, da so ungewollte Fehler vermieden werden können.
Im ACP gibt es einen Tab mit dem Namen "Berechtigungen", in dem alle generellen Berechtigungen eingestellt werden können. Diese sind komplett selbsterklärend:
Zudem müssen die Berechtigungen für jede Benutzergruppe eingestellt werden. Auch diese Einstellungen sind komplett selbsterklärend und sollten unbedingt korrekt eingestellt werden!
Download
Über Feedback und Ideen freue ich mich natürlich sehr