Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Moderatoren Anzeige
#1
Hallo ihr lieben,
ich habe im September 2010, nach dem Upgrade auf MyBB 1.6.0 eine Zeile im Script geändert, so das Moderatoren nur noch dort farbig angezeigt werden, wo sie auch die Berechtigung zum moderieren haben. Dies hat alles ohne Probleme funktioniert, als ich jetzt jedoch auf MyBB 1.6.1 geupgradet habe, wurde der Code ja automatisch gelöscht, da das ganze Script erneuert wurde. Ich hatte natürlich daran gedacht und habe ihn vorher gespeichert. Als ich ihn dann wieder einfügen wollte hatte es zwar eine reaktion, jedoch die falsche. Anstatt das Moderatoren nur noch dort angezeigt werden, wo sie Berechtigung zum moderieren haben, werden sie weterhin global als Modeator farbig dagestellt.

Hier ist mal der Code, welchen ich im Script ersetzt habe:
PHP-Code:
$post['username_formatted'] = format_name($post['username'], $post['usergroup'], $post['displaygroup']); 
Der Code ist im Script /inc/function_post.php
Line: 229


Und hier der Code, mit welchem ich den obirgen Code ersetzt habe:
PHP-Code:
    $allowed_coloered_groups = array('4''gruppe2''gruppe3'); // 4 => Admin
      
if(defined('THIS_SCRIPT') && THIS_SCRIPT == 'showthread.php' && !in_array($post['usergroup'], $allowed_coloered_groups)) {
// Prueft ob das Script 'showthread.php' ist - das Setzt myBB in Zeile 13 von 'showthread.php' und ob die Gruppe vom User NICHT bei den erlaubten Gruppe ist.
         
$post['username_formatted'] = $post['username']; // Username so lassen
      
} else { // Ansonsten Namen farbig darstellen
         
$post['username_formatted'] = format_name($post['username'], $post['usergroup'], $post['displaygroup']);
      } 

In diesem Code musste ich das gruppe2 und gruppe3 durch die GruppenID's austauschen, welche farbig sichbar sind. Die habe ich auch getan.


Wo liegt nun das Problem?
Zitieren
#2
Ich glaube nicht, dass an der Codestelle irgendwas geändert wurde. Dein Code sollte genau so funktkionieren wie vorher.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Wieso glaubst du das? Ich habs ja hochgeladen, und funktioniert hatte der Code bei MyBB 1.6.0 ja auch schon so.
Zitieren
#4
Also, die Datei ist schonmal richtig. Ich würde das so machen.
Finde:
PHP-Code:
    // Get the usergroup
    
if($post['userusername'])
    {
        if(!
$post['displaygroup'])
        {
            
$post['displaygroup'] = $post['usergroup'];
        } 

Darunter einfügen:
PHP-Code:
        if($post['usergroup'] == "6" && is_moderator($post['fid'], ""$post['uid']) == "0")
        {
            
$post['displaygroup'] = "2";
        } 
Zitieren
#5
Also soll ich den Code, welchen ich einfügre gegen den Originalen wieder ersetzen und dann dies zusätzlich, oder soll ich meinen Code darin lassen und deins nur an entsprechender Stelle hinzufügen? Smile
Zitieren
#6
Bitte das Original wiederherstellen und dann meinen Code einbringen. Sorry für die unklare Darstellung.
Zitieren
#7
Also, wenn ich keinen Fehler gemacht habe hats nur zum Teil funktioniert. Manche User werden jetzt noch Global als Moderator angezeigt, andere werden nur noch in denen, in denen sie auch Moderator sind als Moderator angezeigt.

Frohe Weihnachten im übrigen noch. ;D
Zitieren