Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Zusätzlicher Link unter Post
#1
Hallo,

ich möchte unter jedem Post einen weiteren Code einfügen. Das ist das erste Problem.

Das zweite ist, dass dieser je nach Rechten anders sein soll.
Beispielsweise:

Bei Moderatoren soll dieser
PHP-Code:
<a href="http://www.google.de/search?q=Moderator"
lauten.
Bei Gästen soll dieser nicht erscheinen.
Bei normalen Usern soll er lauten
PHP-Code:
<a href="http://www.google.de/search?q=User"
.

Bei Administratoren beispielsweise
PHP-Code:
<a href="http://www.yahoo.de"

Kann mir jemand helfen?[/php]

//Edit: Ich meine damit, dass der Code neben den "Bearbeiten", "Zitieren"-Buttons steht.
Zitieren
#2
Füg in die Datei showthread.php möglichst weit oben folgendes ein:

PHP-Code:
switch ($mybb->user['usergroup']) {
case 
4:
$postbitlink "<a href='http://www.yahoo.de'> ";
break;
case 
2:
$postbitlink "<a href='http://www.google.de/search?q=User'>";
break;
case 
6:
$postbitlink "<a href='http://www.google.de/search?q=Moderator'>" ;
default:
$postbitlink "";


Dann kannst du im Template postbit z.B. nach
Code:
<span class="smalltext">{$post['button_edit']}{$post['button_quickdelete']}{$post['button_quote']}{$post['button_multiquote']}{$post['button_report']}</span>
die Variable {$postbitlink} einbinden.
Vantage-Forum: http://vantage-forum.de/
Zitieren
#3
Hmpf, irgendwie zeigt er mir das trotzdem nicht an.

Anfang der showtread.php:

PHP-Code:
<?php
switch ($mybb->user['usergroup']) {
case 
4:
$postbitlink "<a href='http://www.google.de'>Admin!</a> ";
break;
case 
2:
$postbitlink "<a href='http://www.google.de'>User!</a> ";
break;
case 
6:
$postbitlink "<a href='http://www.google.de'>Moderator!</a> ";
case 
3:
$postbitlink "<a href='http://www.google.de'>Supermoderator!</a> ";
break;
default:
$postbitlink "";

/**
 * MyBB 1.2
 * Copyright © 2006 MyBB Group, All Rights Reserved
 *
 * Website: http://www.mybboard.com
 * License: http://www.mybboard.com/eula.html
 *
 * $Id: showthread.php 2263 2006-09-26 09:24:25Z chris $
 */

... 
Zitieren
#4
Ein bisschen tiefer muss es dann doch sein Smile. Füg den Code mal vor
Zitat:// Show the entire thread (taking into account pagination).
ein.
Vantage-Forum: http://vantage-forum.de/
Zitieren
#5
Mag trotzdem nicht funktionieren.

Zitat:// Jump to the unread posts.
if($mybb->input['action'] == "newpost")
{
// First, figure out what time the thread or forum were last read
$query = $db->simple_select(TABLE_PREFIX."threadsread", "dateline", "uid='{$mybb->user['uid']}' AND tid='{$thread['tid']}'");
$thread_read = $db->fetch_field($query, "dateline");

// Get forum read date
$forumread = my_get_array_cookie("forumread", $fid);

// If last visit is greater than forum read, change forum read date
if($mybb->user['lastvisit'] > $forumread)
{
$forumread = $mybb->user['lastvisit'];
}
if($mybb->settings['threadreadcut'] > 0 && $mybb->user['uid'] && $thread['lastpost'] > $forumread)
{
$cutoff = time()-$mybb->settings['threadreadcut']*60*60*24;
if($thread['lastpost'] > $cutoff)
{
if($thread_read)
{
$lastread = $thread_read;
}
else
{
$lastread = 1;
}
}
}
if(!$lastread)
{
$readcookie = $threadread = my_get_array_cookie("threadread", $thread['tid']);
if($readcookie > $forumread)
{
$lastread = $readcookie;
}
else
{
$lastread = $forumread;
}
}
// Next, find the proper pid to link to.
$options = array(
"limit_start" => 0,
"limit" => 1,
"order_by" => "dateline",
"order_dir" => "asc"
);
$query = $db->simple_select(TABLE_PREFIX."posts", "pid", "tid=".$tid." AND dateline > '{$lastread}'");
$newpost = $db->fetch_array($query);
if($newpost['pid'])
{
header("Location:showthread.php?tid={$tid}&pid={$newpost['pid']}#pid{$newpost['pid']}");
}
else
{
header("Location:showthread.php?action=lastpost&tid={$tid}");
}
}

$plugins->run_hooks("showthread_start");




switch ($mybb->user['usergroup']) {
case 4:
$postbitlink = "<a href='http://www.google.de'>Admin!</a> ";
break;
case 2:
$postbitlink = "<a href='http://www.google.de'>User!</a> ";
break;
case 6:
$postbitlink = "<a href='http://www.google.de'>Moderator!</a> ";
break;
case 3:
$postbitlink = "<a href='http://www.google.de'>Supermoderator!</a> ";
break;
default:
$postbitlink = "";
}




// Show the entire thread (taking into account pagination).
if($mybb->input['action'] == "thread")
{
if($thread['firstpost'] == 0)
{
update_first_post($tid);
}
// Does this thread have a poll?
if($thread['poll'])
{
$options = array(
"limit" => 1
);
$query = $db->simple_select(TABLE_PREFIX."polls", "*", "pid='".$thread['poll']."'");
$poll = $db->fetch_array($query);
$poll['timeout'] = $poll['timeout']*60*60*24;
$expiretime = $poll['dateline'] + $poll['timeout'];
$now = time();

// If the poll or the thread is closed or if the poll is expired, show the results.
if($poll['closed'] == "yes" || $thread['closed'] == "yes" || ($expiretime < $now && $poll['timeout'] > 0))
{
$showresults = 1;
}
Zitieren
#6
Das müsste eigentlich funktionieren. Wie genau hast du die Variable denn eingebunden? Poste mal am besten einen Ausschnitt aus dem Template.
Den Code den du geposts hast habe ich etwas verkürzt, da scrollt man sich ja tot Smile.
Vantage-Forum: http://vantage-forum.de/
Zitieren
#7
Themplate: postbit

Code:
<tr>
<td class="{$altbg}" width="15%" valign="top" style="white-space: nowrap; text-align: center;"><a name="pid{$post['pid']}" id="pid{$post['pid']}"></a>
{$post['user_details']}
</td>
<td class="{$altbg}" width="85%" valign="top">
<table width="100%">
<tr><td>{$post['posturl']}{$post['icon']}<span class="smalltext"><strong> {$post['subject']}</strong></span>
<br />
<div id="pid_{$post['pid']}">
<p>
{$post['message']}
</p>
</div>
{$post['attachments']}
{$post['signature']}
<div style="text-align: right; vertical-align: bottom;">
{$post['editedmsg']}
{$post['iplogged']}
</div>
</td></tr>
</table>
</td>
</tr>
<tr>
<td class="{$altbg}" height="18" style="white-space: nowrap; text-align: center;"><span class="smalltext">{$post['postdate']} {$post['posttime']}</span></td>
<td class="{$altbg}" width="100%" valign="middle" height="18">
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr valign="bottom">
        <td align="left" ><span class="smalltext">{$post['button_email']}{$post['button_pm']}{$post['button_www']}{$post['button_find']}</span></td>
        <td align="right"><span class="smalltext">{$post['button_edit']}{$post['button_quickdelete']}{$post['button_quote']}{$post['button_multiquote']}{$post['button_report']}{$post['fws_warnlink']} </span>{$postbitlink}</td>
    </tr>
    </table>
</td>
</tr>
{$seperator}
Zitieren
#8
Füge deinen Code in der Datei inc/functions_post.php vor dieser Zeile ein:
PHP-Code:
eval("\$postbit = \"".$templates->get("postbit")."\";"); 

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.
Zitieren
#9
Warum wird denn das Template nicht in der showthread.php geladen?
Vantage-Forum: http://vantage-forum.de/
Zitieren
#10
Ja, so geht's Wink

Was bewirkt denn die Zeile
PHP-Code:
eval("\$postbit = \"".$templates->get("postbit")."\";"); 
?
Zitieren