4nforum, smilieanordnung

Begonnen von Lue, 12 Februar 2003, 11:59:10

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Lue

hallo,

wie kann ich das ansichtsdesign der smilies im 4nforum verändern?

wenn man eine nachricht postet hat man rechts neben dem eingabefenster die smilies. nun hätte ich aber gerne statt 2 reihen ..... 4 reihen.

unter http://web697.athen023.server4free.de (noch nicht offiziell) haben wir das 4nforum. wenn man nun dort einen beitrag schreiben will, hat man ja rechts neben dem eingabefeld die smilies zum anklicken. ja und dort hätte ich halte gerne nicht alle smilies untereinander ........

wer hat hier einen tip für mich?

nachdem mir bis jetzt niemand helfen konnte, setze ich eine prämie aus ;-)

50 mb kostenloser webspace, komplett mit perl/cgi, php, mysql datenbank und 1gb traffic im monat.

Lue

hallo tequlia,

danke für deine schnelle antwort. aber leider haut das nichtso hin :-(

du hast zwar rechts das das 4nform auf xforum aufbaut, aber leider habe ich nichts dergleichen gefunden.
 :quest  :cry

tequila

Na dann kann es sein, das es in den Datein direkt drinnen steht, die smilies benutzen (post.php oder wie die Datei heißt ... oder edit.php ..... keine Ahnung).

Ich wollte Dir primär auch das Vorgehen von der Smilieanordnung verständlich machen damit Du weißt, wo Du anzusetzen hast.

Suche einfach mal in Deinem Quellcode nach allen Stellen, an denen auf die Tabelle $table_smilies (so das im 4nforum noch so heißt) zugegriffen wird. Denn an irgend einer dieser Stellen MUSS etwas in dieser Art sein, d.h. damit kannst Du die möglichen Stellen schon mal eingrenzen denn ohne diese DB-Abfrage läuft es eben auch nicht.

tequila

Ich kenne das 4nforum nicht und hab leider auch keine Zeit mich damit auseinander zu setzen.

So wie es aussieht hat es als Basis aber auch das XMB bzw. XForum, daher sollte es ähnlich gehen wie beim eBoard.

Guck mal in der functions.php und such nach dieser (oder ähnlichen) Funktion (das ist die Smilies-Funktion aus dem eBoard):


function affTableSmilies()
{
  global $table_smilies, $dbxf, $smiliesrownumber, $smilieslinenumber;

  $str = "";
  $totalsmilies = $smilieslinenumber * $smiliesrownumber;
  $querysmilie = $dbxf->sql_query("SELECT * FROM $table_smilies WHERE type='smiley' limit 0, $totalsmilies");

  $str .= "<table border=\"0\" align=\"center\">";
  $l = 'on';
  $count = 1;

  while($smilie = $dbxf->sql_fetch_object($querysmilie))
  {
    if($l == 'on')
    {
 if($count == 1){$str .= "<tr>";}
 $count++;
      $str .= "<td align=center><a href=\"javascript:insertAtCaret('".$smilie->code."','')\"><img src=\""._BASEMODIMG."/".$smilie->url."\" border=\"0\"></a></td>";
    }
    else
    {
      $str .= "<td align=center><a href=\"javascript:insertAtCaret('".$smilie->code."','')\"><img src=\""._BASEMODIMG."/".$smilie->url."\" border=\"0\"></a></td></tr>";
    }

if(($l == 'on' && $count < $smiliesrownumber) || $count == 1 ) { $l = 'on'; }
    else { $l = 'off'; $count = 1;}
  }

  if($l == 'off') { $str .= "<td> </td></tr>"; }
  $str .= "</table>\n";

return $str;
}



Was macht diese Funktion?
Ganz einfach: ließt die Smilies aus der Datenbank-Tabelle aus und sortiert sie nach den angegebenen $smiliesrownumber und $smilieslinenumber.

Genau so viele Smilies (rownumber * linenumber) werden nur aus der DB ausgelesen.

Jetzt wird eben genau nach $smiliesrownumber (Anzahl der Smilies pro Zeile) die Tabelle geschlossen und eine neue Zeile angefangen, so lange, bis die $smilieslinenumber erreicht ist bzw. bis keine Smilies mehr da sind.

$smiliesrownumber und $smilieslinenumber sind Werte, die im eBoard über das Admin-Menü verfügbar sind. Diese kannst DU bei Dir einfach gegen feste Zahlenwerte austauschen da das 4nforum diese Werte Dir bestimmt nicht bereit stellt.

Denke, irgendwie so kannst Du dann auf der Beispielt-Grundlage Deine Smilies-Funktion modifizieren, das Du auch mehr als zwei Spalten angezeigt bekommst.

Aber bitte nicht schlagen, falls es doch nicht so geht. Wie gesagt, kenne das Forum nicht, denke aber durch die XForum-Basis, das dies auch für Dich der Ansatz ist.