MyBB.de Forum

Normale Version: Secondary User Group / Anderes Postbit Template
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich hab zwei Postbit Templates:

Nummer 1: Postbit / postbit_author_user
PHP-Code:
<strong><span class="largetext">{$post['profilelink']}</span></strong><br />
<
span class="smalltext">
    {
$post['usertitle']}<br />
    {
$post['userstars']}
    {
$post['groupimage']}<br />
    {
$post['useravatar']}<br />

    {
$lang->postbit_posts} {$post['postnum']}<br />
    {
$lang->postbit_group} {$usergroup['title']}<br />
    {
$lang->postbit_status} {$post['onlinestatus']}{$post['replink']}<br /><br />
</
span

Nummer 2: Postbit / postbit_author_fighter (neu erstellt)

PHP-Code:
<strong><span class="largetext">{$post['profilelink']}</span></strong><br />
<
span class="smalltext">
    {
$post['usertitle']}<br />
    {
$post['userstars']}
    {
$post['groupimage']}<br />
    {
$post['useravatar']}<br />

    {
$lang->postbit_posts} {$post['postnum']}<br />
    {
$lang->postbit_group} {$usergroup['title']}<br />
    {
$lang->postbit_status} {$post['onlinestatus']}{$post['replink']}<br /><br />

<
div align="center" style="border:1px dashed;" width="100">
<
b>Tournaments: (in work)</b><br />

  <
table border="0" cellpadding="0" cellspacing="0">
    <
tr>
      <
td><span class="smalltext">Country: </span></td>
      <
td><span class="smalltext">{$post['fid11']}</span></td>
    </
tr>
    <
tr>
      <
td><span class="smalltext">Skill: </span></td>
      <
td><span class="smalltext">{$post['fid4']}</span></td>
    </
tr>
    <
tr>
      <
td><span class="smalltext">Points: </span></td>
      <
td><span class="smalltext">{$post['fid8']}</span></td>
    </
tr>
  </
table>

</
div>
</
span

Im zweiten sind drei Custom Profile Fields mit angegeben die zwar alle User haben, aber die nicht bei allen relevant sind.

Nun die Frage wie stelle ich ein, dass bei Usern:

Primary User Group: Admins / Super Mods / Mods / Registered
Secondary Usergroup: (keine)

das postbit_author_user Template angezeigt wird und bei

Primary User Group: Admins / Super Mods / Mods / Registered
Secondary Usergroup: (fighter)

Das postbit_author_fighter Template angezeigt wird?
Dazu musst du die inc/functions_post.php bearbeiten.
das hab ich befürchtet - nur wie? Ich kann kein php

hab nur dass gefunden,
eval("\$post['user_details'] = \"".$templates->get("postbit_author_user")."\";");
und da kann ich mir nich viel zamreimen :p
Wenn du kein PHP kannst, wird es schwer sein irgendwas zu verändern.
Zu deinem Problem kann ich dir sagen, du musst eine if Abfrage machen, in der dann jeweils das entsprechende Template geladen wird.
(Dies ist kein richtiger Code)
Code:
if(user = fighter)
    eval("\$post['user_details'] = \"".$templates->get("postbit_author_fighter")."\";");
else
    eval("\$post['user_details'] = \"".$templates->get("postbit_author_fighter")."\";");
hm, kannst du denn ev wenn du zeit hast nen code schreiben der das macht? Nur der Tipp allein hilft mir ja nicht wirklich...
Sollte jetzt für die gid 11 funktionieren

Was ich getan hab:
PHP-Code:
        eval("\$post['user_details'] = \"".$templates->get("postbit_author_user")."\";"); 
ersetzt durch
PHP-Code:
        if(fighter_check_user(11)) :
        eval(
"\$post['user_details'] = \"".$templates->get("postbit_author_fighter")."\";");
        else :
        eval(
"\$post['user_details'] = \"".$templates->get("postbit_author_user")."\";");
        endif;
/**
* end of the modification
*/ 
zusätzlich folgende funktion eingebaut:
PHP-Code:
/**
* modification by janmalte
*
* load other postbit_author templates
*
* start of the modification
*/
function fighter_check_user($P_allowed false)
{
    global 
$mybb;
    
// set the acces right to false as standard
    
$access false;
    
// explode the allowed usergroups to an array
    
if($P_allowed != false) : $allowed_usergroups explode(','$P_allowed);
        else : return 
false;
            endif;
    
// get the usergroups of the user
    
$additional_usergroups $mybb->user['additionalgroups'];
    
// explode the additional usergroups of the user to an array
    
$usergroups explode(','$additional_usergroups);
    
// Add the primary usergroup of the user the the usergroups
    
$usergroups[] = $mybb->user['usergroup'];

    
// is the user logged in
    
if ($mybb->user['uid'] != '0')
    {
        
// check if the usergroups are in an array
        
if (is_array($usergroups))
        {
            
// do this for every usergroup
            
foreach ($usergroups as $usergroup)
            {
                
// check if the allowed usergroups are in an array
                
if (is_array($allowed_usergroups))
                {
                    
// do this for every allowed usergroup
                    
foreach ($allowed_usergroups as $allowed_usergroup)
                    {
                        
// if the usergroup is an allowed usergroup
                        
if ($usergroup == $allowed_usergroup)
                        {
                            
$access true;
                        }
                    }
                }
            }
        }
    }
    return 
$access;
}
/**
* end of the modification
*/ 
hm, is leider kein unterschied. Gibt zwar keine Fehler oder so, aber es wird offenbar noch das selbe template verwendet...
Hallo MH_Razen,
Ist die bei dir verwendete gid, ebenfalls gid 11?

Mfg Garlant
ja, er hat das beispiel auf mich zugeschnitten...