MyBB.de Forum
Benutzergruppen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.2.x und älter (https://www.mybb.de/forum/forum-27.html)
+---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-36.html)
+---- Thema: Benutzergruppen (/thread-367.html)

Seiten: Seiten: 1 2


RE: Benutzergruppen - Samu - 18.10.2005

$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


RE: Benutzergruppen - Michael - 25.10.2005

Hast du mittlerweile Fortschritte gemacht? Toungue


RE: Benutzergruppen - Samu - 25.10.2005

nein ich habe zur zeit ein anderes projekt am hals und schaffe dieses gerade aus zeitgründen auch nicht!


RE: Benutzergruppen - StefanT - 28.10.2005

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.



RE: Benutzergruppen - StefanT - 02.11.2005

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?


RE: Benutzergruppen - Michael - 02.11.2005

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 



RE: Benutzergruppen - StefanT - 03.11.2005

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.


RE: Benutzergruppen - Michael - 05.11.2005

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.


RE: Benutzergruppen - krafdi - 05.11.2005

Wäre doch ein schönes Plugin??:question:


RE: Benutzergruppen - StefanT - 06.11.2005

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.