MyBB.de Forum
Schowteam reduzieren - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: MyBB 1.8.x (https://www.mybb.de/forum/forum-87.html)
+--- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-88.html)
+--- Thema: Schowteam reduzieren (/thread-38660.html)



Schowteam reduzieren - Dana - 04.04.2023

Hi,

ich würde gerne ausschließlich Admins und (ggf) Moderatoren unter "Forenteam" anzeigen lassen. Was muss ich dafür entfernen/ändern?  

Entweder in der schowteam.php oder in den Templates - egal.


Code:
<?php
/**
* MyBB 1.8
* Copyright 2014 MyBB Group, All Rights Reserved
*
* Website: http://www.mybb.com
* License: http://www.mybb.com/about/license
*
*/

define("IN_MYBB", 1);
define('THIS_SCRIPT', 'showteam.php');

$templatelist = 'showteam,postbit_email,postbit_pm,showteam_usergroup_user,showteam_usergroup,showteam_moderators_mod,showteam_moderators,showteam_moderators_forum';
require_once "./global.php";

// Load global language phrases
$lang->load('showteam');

if($mybb->settings['enableshowteam'] == 0)
{
    error($lang->showteam_disabled);
}

add_breadcrumb($lang->nav_showteam);

$plugins->run_hooks('showteam_start');

$timecut = TIME_NOW - $mybb->settings['wolcutoff'];

$usergroups = $moderators = $users = array();

// Fetch the list of groups which are to be shown on the page
$query = $db->simple_select("usergroups", "gid, title, usertitle", "showforumteam=1", array('order_by' => 'disporder'));
while($usergroup = $db->fetch_array($query))
{
    $usergroups[$usergroup['gid']] = $usergroup;
}

if(empty($usergroups))
{
    error($lang->error_noteamstoshow);
}

// Fetch specific forum moderator details
if($usergroups[6]['gid'])
{
    $query = $db->query("
        SELECT m.*, f.name
        FROM ".TABLE_PREFIX."moderators m
        LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=m.id)
        LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=m.fid)
        WHERE f.active = 1 AND m.isgroup = 0
        ORDER BY u.username
    ");
    while($moderator = $db->fetch_array($query))
    {
        $moderators[$moderator['id']][] = $moderator;
    }
}

// Now query the users of those specific groups
$visible_groups = array_keys($usergroups);

$groups_in = implode(",", $visible_groups);
$users_in = implode(",", array_keys($moderators));

if(!$groups_in)
{
    $groups_in = 0;
}

if(!$users_in)
{
    $users_in = 0;
}

$forum_permissions = forum_permissions();
$query_part = '';

// Include additional groups if set to
if($mybb->settings['showaddlgroups'])
{
    foreach($visible_groups as $visible_group)
    {
        if($db->type == "pgsql")
        {
            $query_part .= "'$visible_group' = ANY (string_to_array(additionalgroups, ',')) OR ";
        }
        else if($db->type == "sqlite")
        {
            $query_part .= "'$visible_group' IN (additionalgroups) OR ";
        }
        else
        {
            $query_part .= "FIND_IN_SET('$visible_group', additionalgroups) OR ";
        }
    }
}

// Include group leaders if set to
if($mybb->settings['showgroupleaders'])
{
    $leaders = $leadlist = $leaderlist = array();

    $query = $db->simple_select("groupleaders", "gid, uid");
    while($leader = $db->fetch_array($query))
    {
        $leaders[$leader['uid']][] = $leader['gid'];
    }

    if(!empty($leaders))
    {
        foreach($leaders as $uid => $gid)
        {
            $leaderlist[$uid] = $gid;
            $leadlist[] = implode(",", $gid);
        }
        $leadlist = implode(",", $leadlist);

        $query = $db->simple_select("usergroups", "gid, title, namestyle", "gid IN ($leadlist)");
        $leadlist = array();

        while($leaded_group = $db->fetch_array($query))
        {
            $leaded_groups[$leaded_group['gid']] = str_replace("{username}",$leaded_group['title'], $leaded_group['namestyle']);
        }

        // Create virtual usergroup container for leaders
        $usergroups[0] = array('gid' => 0, 'title' =>  $lang->group_leaders, 'usertitle' => $lang->group_leaders);
        foreach($leaderlist as $uid => $leaded)
        {
            foreach($leaded as $gid){
                $leadlist[] = $leaded_groups[$gid];
            }
            $usergroups[0]['user_list'][$uid]['leaded'] = implode(", ",$leadlist);
            unset($leadlist);
        }

        $users_in = implode(",", array_keys(array_flip(explode(",", implode(",", array_keys($leaderlist)).",".$users_in))));
    }
}

$query = $db->simple_select("users", "uid, username, displaygroup, usergroup, additionalgroups, ignorelist, hideemail, receivepms, lastactive, lastvisit, invisible, away", $query_part."displaygroup IN ($groups_in) OR (displaygroup='0' AND usergroup IN ($groups_in)) OR uid IN ($users_in)", array('order_by' => 'username'));

while($user = $db->fetch_array($query))
{
    // If this user is a moderator
    if(isset($moderators[$user['uid']]))
    {
        $forumlist = '';
        foreach($moderators[$user['uid']] as $forum)
        {
            if($forum_permissions[$forum['fid']]['canview'] == 1)
            {
                $forum_url = get_forum_link($forum['fid']);
                eval("\$forumlist .= \"".$templates->get("showteam_moderators_forum")."\";");
            }
        }
        $user['forumlist'] = $forumlist;
        $forumlist = '';
        $usergroups[6]['user_list'][$user['uid']] = $user;
    }

    if($mybb->settings['showgroupleaders'] && isset($usergroups[0]['user_list']))
    {
        foreach($usergroups[0]['user_list'] as $uid => $userdetails)
        {
            if($user['uid'] == $uid)
            {
                $user['leaded'] = $usergroups[0]['user_list'][$uid]['leaded'];
                $usergroups[0]['user_list'][$uid] = $user;
            }
        }
    }

    if($user['displaygroup'] == '6' || $user['usergroup'] == '6')
    {
        $usergroups[6]['user_list'][$user['uid']] = $user;
    }

    // Are they also in another group which is being shown on the list?
    if($user['displaygroup'] != 0)
    {
        $group = $user['displaygroup'];
    }
    else
    {
        $group = $user['usergroup'];
    }

    if($usergroups[$group] && $group != 6)
    {
        $usergroups[$group]['user_list'][$user['uid']] = $user;
    }

    if($mybb->settings['showaddlgroups'] && $user['additionalgroups'] != '')
    {
        $adgroups = explode(',', $user['additionalgroups']);
        foreach($adgroups as $adgroup)
        {
            if(in_array($adgroup, $visible_groups))
            {
                $usergroups[$adgroup]['user_list'][$user['uid']] = $user;
            }
        }
    }
}

// Now we have all of our user details we can display them.
$grouplist = '';
foreach($usergroups as $usergroup)
{
    $usergrouprows = $modrows = '';

    // If we have no users - don't show this group
    if(!isset($usergroup['user_list']))
    {
        continue;
    }

    $bgcolor = '';
    foreach($usergroup['user_list'] as $user)
    {
        $user['username'] = format_name(htmlspecialchars_uni($user['username']), $user['usergroup'], $user['displaygroup']);
        $user['profilelink'] = get_profile_link($user['uid']);

        // For the postbit templates
        $post['uid'] = $user['uid'];
        $emailcode = $pmcode = '';
        if($user['hideemail'] != 1)
        {
            eval("\$emailcode = \"".$templates->get("postbit_email")."\";");
        }

        if($user['receivepms'] != 0 && $mybb->settings['enablepms'] != 0 && my_strpos(",".$user['ignorelist'].",", ",".$mybb->user['uid'].",") === false)
        {
            eval("\$pmcode = \"".$templates->get("postbit_pm")."\";");
        }

        // For the online image
        if($user['lastactive'] > $timecut && ($user['invisible'] == 0 || $mybb->usergroup['canviewwolinvis'] == 1) && $user['lastvisit'] != $user['lastactive'])
        {
            $status = "online";
        }
        elseif($user['away'] == 1 && $mybb->settings['allowaway'] != 0)
        {
            $status = "away";
        }
        else
        {
            $status = "offline";
        }

        if($user['invisible'] == 1 && $mybb->usergroup['canviewwolinvis'] != 1 && $user['uid'] != $mybb->user['uid'])
        {
            if($user['lastactive'])
            {
                $user['lastvisit'] = $lang->lastvisit_hidden;
            }
            else
            {
                $user['lastvisit'] = $lang->lastvisit_never;
            }
        }
        else
        {
            $user['lastvisit'] = my_date('relative', $user['lastactive']);
        }

        $bgcolor = alt_trow();

        $plugins->run_hooks('showteam_user');

        // If the current group is a moderator group
        if(($usergroup['gid'] == 0 && !empty($user['leaded'])) || ($usergroup['gid'] == 6 && !empty($user['forumlist'])))
        {
            $scopelist = $usergroup['gid'] == 0 ? $user['leaded'] : $user['forumlist'];
            eval("\$modrows .= \"".$templates->get("showteam_moderators_mod")."\";");
        }
        else
        {
            eval("\$usergrouprows .= \"".$templates->get("showteam_usergroup_user")."\";");
        }
    }

    if($modrows && in_array($usergroup['gid'], array(0,6)))
    {
        $modscope = $usergroup['gid'] == 6 ? $lang->mod_forums : $lang->mod_groups;
        eval("\$grouplist .= \"".$templates->get("showteam_moderators")."\";");
    }

    if($usergrouprows)
    {
        eval("\$grouplist .= \"".$templates->get("showteam_usergroup")."\";");
    }
}

if(empty($grouplist))
{
    error($lang->error_noteamstoshow);
}

$plugins->run_hooks("showteam_end");

eval("\$showteam = \"".$templates->get("showteam")."\";");
output_page($showteam);



Grüße
Dana


RE: Schowteam reduzieren - [ExiTuS] - 04.04.2023

Schaue im ACP in den Einstellungen zu Forum Team:
?module=config-settings&action=change&gid=30

Dort kannst du weitere Gruppen zur Anzeige deaktivieren.

[ETS]


RE: Schowteam reduzieren - Gerti - 04.04.2023

Warum auch in die Core-Datei eingreifen wenn es von Haus aus doch einfacher geht.


RE: Schowteam reduzieren - Dana - 04.04.2023

Das kann ich leider nirgends in den Untertemplates für schow-team finden, Exitus.


RE: Schowteam reduzieren - [ExiTuS] - 04.04.2023

Nicht Templates, sondern Konfiguration.
Folge einfach der o.g. URL.

[ETS]


RE: Schowteam reduzieren - Schnapsnase - 04.04.2023

Dein Problem findest du in den Einstellungen der jeweiligen Gruppe.
"auf der Forenteamseite anzeigen" oder so ähnlich... Wink


RE: Schowteam reduzieren - Dana - 04.04.2023

Jaaa, hat geklappt. :-)'
Danke.