Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.39 veröffentlicht (02.06.25)


Benutzer, die gerade dieses Thema anschauen: 1 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.