Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Website in Forum einbinden
#11
Hi,
ich habe das selbe Vorhaben wie Juventiner. Ich habe es mit dem Code von dir, Jan, versucht, jedoch funktioniert bei mir gar nichts.

Ich weiß ehrlich gesagt nicht wo ich die Optionen einsetzen soll, also wenn er in den Nutzergruppen ist, oder wenn er nicht drin ist. An welchen Stellen im Code muss ich das entsprechende einsetzen? Bei mir funktioniert einfach gar nichts...

Könnt ihr mir helfen? Smile
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }
#12
Ok, hier nochmal eine detaillierte Anleitung.
Füge in der PHP Datei am Anfang folgenden Code ein:
PHP-Code:
// as this is a often used function in plugins
// check if it isn't already defined
if (!function_exists('isUserInGroup')) {
    
/**
     * checks if the user is in one of the allowed usergroups
     * @param string $allowedGroups the allowed usergroups; seperated with ","(COMMA) e.g.: "4,10,2"
     * @return boolean true if user is in one of the allowed usergroups
     */
    
function isUserInGroup($allowedGroups false)
    {
        global 
$mybb;

        
// set to false as default
        
$isInGroup false;

        
// explode the allowed usergroups to an array
        
$allowedUserGroups explode(','$allowedGroups);

        
// explode the additional usergroups of the user to an array
        
$usergroups explode(','$mybb->user['additionalgroups']);

        
// Add the primary usergroup of the user the the usergroups
        
$usergroups[] = $mybb->user['usergroup'];

        
// check if the user is in any of the allowed usergroups
        
foreach ($allowedUserGroups as $allowedUserGroup) {
            if (
in_array($allowedUserGroup$usergroups)) {
                
$isInGroup true;
            }
        }
        return 
$isInGroup;
    }


Jetzt kannst du mit folgenden Code prüfen ob ein Benutzer in einer bestimmten Benutzergruppe ist:
PHP-Code:
if (isUserInGroup(4)) {
    
// der Benutzer ist in der Gruppe mit der ID 4
} else {
    
// der Benutzer ist nicht in der Gruppe
    
error_no_permission();


Ich hoffe jetzt ist es verständlicher.

#13
Bzw bei mehreren user gruppen mit , trennen weswegen ich empfehle den parameter direkt als string zu übergeben Wink
Und du musst zuvor deine php seite in dein forum einbinden, was du mithilfe des codes von juventiner machst.
#14
Danke für eure Hilfe, jetzt funktioniert alles.

Der Support hier ist echt super.
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }
#15
Ich habe meine Page übrigens zu laufen bekommen mit den Codes hier, noch einmal ein super Dankeschön dafür. Ein Problem habe ich jedoch. Ich habe das LogIn Formular rausgenommen und stattdessen eine Fehlerseite eingebaut, das man sich im Forum einloggen solle.

Bei Chrome übernimmt der die Session, Firefox will aber nicht und zeigt mir die Fehlerseite an. Erst nach einem neuen möglichen LogIn geht es da auch.
Was muss ich ändern damit bei FF ohne erneuten LogIN der Inhalt und nicht die Fehlerseite angezeigt wird?
#16
Kann eigentlich nur an den cookie einstellungen liegen...
Mach mal das was stefan gesagt hat.
#17
Das komische ist ja, bei Chrome funktioniert alles....

Meine Einstellungen:
Cookie-Domain: square7.ch
Cookie-Pfad: /
Cookie-Präfix:


Noch Ideen warum Firefox das nicht so will wie ich, Chrome das aber so umsetzt? Wink
#18
Mach mal bei cookie domain .deineseite.square7.ch

Mich wundert das auch weil eigentlich firefox mehr fehler verzeiht. Wenn du den code aus post 1 benutzt sollte der eigentlich auch unter ff funktionieren da ich den da getestet habe.
#19
Hab ich nun mal eingesetzt, leider keine Veränderung. :/
Internet Explorer zeigt mir sogar die Inhalte an, ohne dass ich mich eingeloggt habe.
Liegt der Fehler im Script von Jan?
#20
Den zuerst geposteten code hab ich mir nicht angeguckt aber der zweite sollte stimmen. Aber da php server seitig arbeitet sollten php codes eigentlich auf allen browsern dasselbe ergebnis liefern... Das einzige worauf der browser einfluss hat ist die darstellung sowie auf javascript codes. Also müsste dein problem an den gespeicherten cookies liegen.

außerdem willst du die fehlerseite doch anzeigen wen der user nicht eingeloggt ist oder hab ich das jetzt falsch verstanden? Weil dann bräuchtest du jan's code nicht sondern könntest das direkt mithilfe der id überprüfen