Beiträge: 125
Themen: 27
Registriert seit: 28.03.2011
14.01.2012, 23:33
(Dieser Beitrag wurde zuletzt bearbeitet: 14.01.2012, 23:33 von K-Help4You.)
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?
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }
Beiträge: 1.450
Themen: 155
Registriert seit: 18.03.2006
14.01.2012, 23:49
(Dieser Beitrag wurde zuletzt bearbeitet: 14.01.2012, 23:51 von Jan.)
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.
Beiträge: 125
Themen: 27
Registriert seit: 28.03.2011
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 ) }
Beiträge: 638
Themen: 92
Registriert seit: 31.08.2010
MyBB-Version: 1.8.11
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?
Kann eigentlich nur an den cookie einstellungen liegen...
Mach mal das was stefan gesagt hat.
Beiträge: 638
Themen: 92
Registriert seit: 31.08.2010
MyBB-Version: 1.8.11
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?
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.
Beiträge: 638
Themen: 92
Registriert seit: 31.08.2010
MyBB-Version: 1.8.11
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?
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