Hallo!
Ich möchte, daß auf der Forumsstartseite angezeigt wird, welches Forum das Guestposting erlaubt. Leider scheint es doch nicht so einfach zu sein, wie ich dachte, die Datenbankabfrage und die Ausgabe hinzubekommen. Offensichtlich müssen mehrere Dateien geändert werden. ....hab jetzt ne Stunde rumprobiert, leider ohne Erfolg.
Weiß jemand, wie ich da vorgehen muß?
Gruß....
ja genau, wie bei diesem phpbb.
das fehlt mir auch noch, damit ich endlich zu jundert prozent zufrieden bin mit xforum :-)
ich habe aber gar keinen plan von php.
super wenn einer eine lösung hätte!
Mal sehen wann ich Zeit habe da mal drüberzusehen.
Hat mich nämlich auch schon gestört.
Mirko
In der index.php:
Tabellenkopf könnte beispielsweise so aussehen (_FORUMTYPE muß natürlich in der Languagedatei definiert werden):
<tr>
<td width="4%" class="header"> </td>
<td width="52%" class="header"><?=_TEXTFORUM?></td>
<td width="6%" class="header"><?=_FORUMTYPE?></td>
<td width="6%" class="header"><?=_TEXTTOPICS?></td>
<td width="6%" class="header"><?=_TEXTPOSTS?></td>
<td width="16%" class="header"><?=_TEXTLASTPOST?></td>
<td width="10%" class="header"><?=_TEXTMOD?></td>
</tr>
Die Zeile
$query = mysql_query("SELECT fid, lastpost, moderator, private, posts, threads, name, description, userlist FROM $table_forums WHERE type='forum' AND status='on' AND fup='' ORDER BY displayorder") or die(mysql_error());
ändern in
$query = mysql_query("SELECT fid, lastpost, moderator, private, guestposting, posts, threads, name, description, userlist FROM $table_forums WHERE type='forum' AND status='on' AND fup='' ORDER BY displayorder") or die(mysql_error());
Die Zeile
$strtemp .= Ligneforum($forum[lastpost], $timeoffset, $forum[moderator], $lastvisit2, $hideprivate, $status, $forum[private], $forum[posts], $forum[threads], $altbg1, $altbg2, $forum[name], $forum[fid], $forum[description], $timecode, $dateformat, $thisuser, $forum[userlist], $res[tid]);
ändern in
$strtemp .= Ligneforum($forum[lastpost], $timeoffset, $forum[moderator], $lastvisit2, $hideprivate, $status, $forum[private], $forum[guestposting], $forum[posts], $forum[threads], $altbg1, $altbg2, $forum[name], $forum[fid], $forum[description], $timecode, $dateformat, $thisuser, $forum[userlist], $res[tid]);
Die Zeile
$query = mysql_query("SELECT userlist, description, fid, lastpost, moderator, private, posts, threads, name FROM $table_forums WHERE type='forum' AND status='on' AND fup='$group[fid]' ORDER BY displayorder") or die(mysql_error());
ändern in
$query = mysql_query("SELECT userlist, description, fid, lastpost, moderator, private, guestposting, posts, threads, name FROM $table_forums WHERE type='forum' AND status='on' AND fup='$group[fid]' ORDER BY displayorder") or die(mysql_error());
Die Zeile
echo Ligneforum($forum[lastpost], $timeoffset, $forum[moderator], $lastvisit2, $hideprivate, $status, $forum[private], $forum[posts], $forum[threads], $altbg1, $altbg2, $forum[name], $forum[fid], $forum[description], $timecode, $dateformat, $thisuser, $forum[userlist], $res3);
ändern in
echo Ligneforum($forum[lastpost], $timeoffset, $forum[moderator], $lastvisit2, $hideprivate, $status, $forum[private], $forum[guestposting], $forum[posts], $forum[threads], $altbg1, $altbg2, $forum[name], $forum[fid], $forum[description], $timecode, $dateformat, $thisuser, $forum[userlist], $res3);
In der indexnav habe ich wieder den Tabellenkopf und zusätzlich folgende Zeilen geändert:
$query = mysql_query("SELECT fid, lastpost, moderator, private, guestposting, posts, threads, name, description, userlist FROM $table_forums WHERE type='forum' AND status='on' AND fup='' ORDER BY displayorder") or die(mysql_error());
$strtemp .= Ligneforum($forum[lastpost], $timeoffset, $forum[moderator], $lastvisit2, $hideprivate, $status, $forum[private], $forum[guestposting], $forum[posts], $forum[threads], $altbg1, $altbg2, $forum[name], $forum[fid], $forum[description], $timecode, $dateformat, $thisuser, $forum[userlist], $res[tid]);
$strtemp .= Ligneforum($forum[lastpost], $timeoffset, $forum[moderator], $lastvisit2, $hideprivate, $status, $forum[private], $forum[guestposting], $forum[posts], $forum[threads], $altbg1, $altbg2, $forum[name], $forum[fid], $forum[description], $timecode, $dateformat, $thisuser, $forum[userlist], $res3);
In der functions.php muß dann noch die erste Zeile der entsprechenden Funktion geändert werden:
function Ligneforum($FORUM_lastpost, $timeoffset, $FORUM_moderator, $lastvisit2, $hideprivate, $status, $FORUM_private, $FORUM_guestposting, $FORUM_posts, $FORUM_threads, $altbg1, $altbg2 , $FORUM_name, $FORUM_fid, $FORUM_description, $timecode, $dateformat, $thisuser, $FORUM_userlist,$tid)
Jetzt nur noch die Ausgabe ändern! Im nachfolgenden Beispiel wird allerdings nur ein "no" oder "yes" ausgegeben. Im Vorfeld wäre also noch eine IF-Abfrage sinnvoll, um einen sinnvollen Text auszugeben (no=nur registrierte User --- yes=für alle user):
$str=""
."<tr>"
."<td bgcolor=\"".$altbg1."\" align=\"center\" class=\"tablerow\">".$folder."</td>"
."<td bgcolor=\"".$altbg2."\" class=\"tablerow\"><font class=\"12px\"><a href=\""._BASEMOD."forumdisplay&fid=".$FORUM_fid."\">".$FORUM_name."</a></font><font class=\"11px\">".$FORUM_description."</font></td>"
."<td bgcolor=\"".$altbg1."\" align=\"center\" class=\"tablerow\"><font class=\"12px\">".$FORUM_guestposting."</font></td>"
."<td bgcolor=\"".$altbg1."\" align=\"center\" class=\"tablerow\"><font class=\"12px\">".$FORUM_threads."</font></td>"
."<td bgcolor=\"".$altbg2."\" align=\"center\" class=\"tablerow\"><font class=\"12px\">".$FORUM_posts."</font></td>"
."<td bgcolor=\"".$altbg1."\" class=\"tablerow\">"
."<table width=\"100%\"><tr><td align=\"right\"><font size=\"1\" face=\"verdana\">".$lastpost."</font></td>"
."<td valign=\"middle\" align=\"right\"><a href=\""._BASEMOD."viewthread&tid=".$tid."\"><img src=\"modules/XForum/images/lastpost.gif\" border=\"0\"></a></td></tr></table></td><td bgcolor=\"".$altbg2."\">$FORUM_moderator</td>"
."</tr>";
}
Folgende Zeile muß noch in der indexnav.php geändert werden:
if($catsonly != "on" || $gid)
{
$query = mysql_query("SELECT userlist, description, fid, lastpost, moderator, private, guestposting, posts, threads, name FROM $table_forums WHERE type='forum' AND status='on' AND fup='$group[fid]' ORDER BY displayorder") or die(mysql_error());
[Bearbeitet am: 11/5/2002 von MikePapa]
*autsch*
Am besten Du postest das Tollix. Der muss es ja am Ende auch einbauen. ;o)
Denn beim nexten Update wird genau DAS wohl nicht drinnen sein und demzufolge wieder nix mehr funktionieren.
Minimodule so anzupassen ist das eine, solche Mega Komponenten wie das Forum das andere. Im Grunde macht ihr Euch damit selbst doppelte Arbeit und schafft Euch auch den Frust, das Updates nie so funktionieren wie ihr wollt.
Mirko
Stimmt schon, aber soviele Änderungen sind das gar nicht! :-)