Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 6 Gast/Gäste
Benutzergruppen
#11
$query = $db->query("SELECT * FROM ".TABLE_PREFIX."usergroups WHERE gid IN ('".$mybb->user['additionalgroups']."') AND gid !='".$mybb->user['usergroup']."' ORDER BY title ASC");

while($addgroups = $db->fetch_array($query))
{
$addgroup = $addgroups['title'];
echo "".$addgroup."<br/>";
}

versuch es mal so bei dir und sag mir ob es bei dir immer noch geht.

Kann sein das sich unsere Einstellungen von php unterscheiden Wink
#12
Hast du mittlerweile Fortschritte gemacht? Toungue

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#13
nein ich habe zur zeit ein anderes projekt am hals und schaffe dieses gerade aus zeitgründen auch nicht!
#14
Michael schrieb:Ausgabe der sekundären Benutzergruppen

Öffne die Datei inc/functions_post.php und suche nach:
PHP-Code:
eval("\$postbit = \"".$templates->get("postbit")."\";"); 
Davor einfügen:
PHP-Code:
$query $db->query("SELECT * FROM ".TABLE_PREFIX."usergroups WHERE gid IN (".$mybb->user['additionalgroups'].") AND gid !='".$mybb->user['usergroup']."' ORDER BY title ASC");

    while(
$addgroups $db->fetch_array($query))
        {
        
$addgroup $addgroups['title'];
        echo 
"".$addgroup."<br/>";
        } 
Dadurch werden die sekundären Benutzergruppen ausgegeben, das müsste jetzt noch ins postbit-Template eingebaut werden. Wink
Der Code hat folgenden Einfluss bei mir, ohne dass ich etwas bei den Templates gemacht habe:
  • Einige Schriften sind stark vergrößert
  • Die sekundäre Gruppe wird 2mal über dem Header angezeigt. (Frage von Admin und Antwort von User mit sekundärer Gruppe)
Vielleicht hilft es euch.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#15
Ich habe jetzt
PHP-Code:
echo "".$addgroup."<br/>"
entfernt und $addgroup in das Template eingebaut. Jetzt wird bei jedem Beitrag meine sekundäre Gruppe angezeigt. Wie werden den die primären Gruppen abgefragt? Und wo?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#16
Ich habs nicht getestet, aber veruche es so:
PHP-Code:
$query $db->query("SELECT * FROM ".TABLE_PREFIX."usergroups WHERE gid ='".$mybb->user['usergroup']."' ORDER BY title ASC");

    while(
$primarygroup $db->fetch_array($query))
        {
        
$user_primarygroup $primarygroup['title'];
        echo 
"".$user_primarygroup."<br/>";
        } 
Im MyBB-Code wird die Benutzergruppe abgefragt in der datei functions_post.php im Ordner "inc" ab Zeile 424 unter
PHP-Code:
// Get the usergroup 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#17
Michael schrieb:Ich habs nicht getestet, aber veruche es so:
PHP-Code:
$query $db->query("SELECT * FROM ".TABLE_PREFIX."usergroups WHERE gid ='".$mybb->user['usergroup']."' ORDER BY title ASC");

    while(
$primarygroup $db->fetch_array($query))
        {
        
$user_primarygroup $primarygroup['title'];
        echo 
"".$user_primarygroup."<br/>";
        } 
Im MyBB-Code wird die Benutzergruppe abgefragt in der datei functions_post.php im Ordner "inc" ab Zeile 424 unter
PHP-Code:
// Get the usergroup 
Der Code hat folgenden Einfluss bei mir, ohne dass ich etwas bei den Templates gemacht habe:
  • Einige Schriften sind stark vergrößert
  • Die primäre Gruppe wird über dem Header angezeigt.
Dann habe ich
PHP-Code:
echo "".$user_primarygroup."<br/>"
entfernt und $user_primarygroup in das Template eingebaut. Jetzt wird bei jedem Beitrag meine primäre Gruppe angezeigt. Wenn ich
mich über einen Test-Benutzer einlogge, wird seine Gruppe angezeigt.

Bei den primären Guppen läuft das so:
PHP-Code:
    // Get the usergroup
    
if($post['userusername'])
    {
        if(!
$post['displaygroup'])
        {
            
$post['displaygroup'] = $post['usergroup'];
        }
        
$usergroup $groupscache[$post['displaygroup']];
    }
    else
    {
        
$usergroup $groupscache[1];
    } 
Kann man das nicht genau so machen?
In der global.php steht:
PHP-Code:
$groupscache $cache->read("usergroups"); 
Das cache-Zeug in der inc/class_datacache sieht so aus:
PHP-Code:
        // Get usergroups
        
$query $db->query("SELECT * FROM ".TABLE_PREFIX."usergroups");
        while(
$usergroup $db->fetch_array($query))
        {
            
$gid $usergroup['gid'];
            foreach(
$usergroup as $key => $val)
            {
                if(!
in_array($key$fpermfields))
                {
                    unset(
$usergroup[$key]);
                }
            }
            
$usergroupcache[$gid] = $usergroup;
        } 
Ich glaube, dass
PHP-Code:
$mybb->user 
den aktuellen user abruft, aber man braucht ja den Autor des Posts. Aber das in der inc/class_datacache verstehe ich nicht.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#18
Du willst doch die Gruppen neben den Posts ausgeben!? Die sekundäre Gruppe wird jetzt angezeigt und die primäre Gruppe wird sowieso schon angezeigt. Warum änderst du nicht einfach das Template?

Admin-CP -> Templates -> Ändern/Entfernen -> Post Bit Templates -> Ausklappen -> postbit -> Bearbeiten

$usergroup[title] steht für die Benutzergruppe.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#19
Wäre doch ein schönes Plugin??:question:
MyBBoard.de jetzt auf YouTube!
Fehlender Plan wird durch Wahnsinn ersetzt!!Toungue
Gruß Krafdi    www.krafdi.de
#20
Michael schrieb:Du willst doch die Gruppen neben den Posts ausgeben!?
Ja!
Mein Code (etwas umständlich):
PHP-Code:
    $autorusername $post['username'];
    
$query $db->query("SELECT additionalgroups FROM ".TABLE_PREFIX."users WHERE username = '$autorusername'");
    
$groupid $db->fetch_array($query);

    
$addgroupid $groupid['additionalgroups'];
    
$query $db->query("SELECT title FROM ".TABLE_PREFIX."usergroups WHERE gid = '$addgroupid'");
    
$addgroups $db->fetch_array($query);
    
$addgroup $addgroups['title']; 
Ich habe $mybb->user['usergroup'] durch den Namen des Autors ersetzt.
Ins Template habe ich jetzt $addgroup eingebaut. Jetzt wird, wenn es mehrere sekundären Gruppen gibt nur eine angezeigt. (das Komma macht Probleme) Sonst funktioniert er.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.