Anzeige des Forumstyp - Guestposting erlaubt(nicht erlaubt)

Begonnen von MikePapa, 10 Mai 2002, 22:08:39

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

MikePapa

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!

Micro

Mal sehen wann ich Zeit habe da mal drüberzusehen.
Hat mich nämlich auch schon gestört.

Mirko

MikePapa

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]

Micro

*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

MikePapa

Stimmt schon, aber soviele Änderungen sind das gar nicht! :-)