OK..Zur Zeit wird bei Version 3 das letzte Thema bis zum Rand geschrieben und dort gnadenlos abgeschnitten. Wenn das letzte sichtbare Wort durch ... ersetzt werden soll mach bitte das:
Code: Alles auswählen
------[ Finde]------
$j = strlen($total_users);
$leerzeichen = $j*6+237;
------[ Ersetze mit ]------
$j = strlen($total_users);
$leerzeichen = $j*6+237;
$j2 = strlen($latest_topic);
if (($j + $j2)>38)
{
$words = explode (" ", $latest_topic);
$text = '';
$latest_topic = '';
for($i=0;strlen($text) < (35 - $j);$i++) {
$text = $text . $words[$i] . " ";
}
$latest_topic = str_replace($words[$i-1],"...",$text);
}
Optimiert für myphpbb.png. Wenn ihr ein anderes Bild nutzt müsst ihr die Zahlen unter Umständen anpassen
Code: Alles auswählen
Die Zahl 38 ist die Anzahl der Buchstaben, die zwischen "Letztes Thema:" und dem Bildrand passen
Die Zahl 35 kommt durch folgendes Zustande: 38 (s.o) - 3 (das durch was das letzte Wort ersetzt werden soll; hier: ... 3 Buchstaben )
Und noch was (für allem für Boards mit vielen Mitgliedern). Zur Zeit wird der letzte Beitrag auf die gleiche Höhe gesetzt wie die Mitglieder, die online sind. Da diese Höhe von den Mitgliedern abhängig ist, kann das sein, dass der letzte Beitrag ziemlich rechts angezeigt wird. Wer will das das genau neben "Letzter Beitrag: " angezeigt wird macht das
Code: Alles auswählen
------[ Finde ]------
ImageString($im, 2, $leerzeichen, 25, "$latest_topic", $blue);
------[ Ersetze durch ]------
ImageString($im, 2, 238, 25, "$latest_topic", $blue);
###
#
# Und wenn du die obere Modifikation auch noch haben willst, machst du noch das:
------[ Finde ]------
$j = strlen($total_users);
$leerzeichen = $j*6+237;
$j2 = strlen($latest_topic);
if (($j + $j2)>38)
{
$words = explode (" ", $latest_topic);
$text = '';
$latest_topic = '';
for($i=0;strlen($text) < (35 - $j);$i++) {
$text = $text . $words[$i] . " ";
}
$latest_topic = str_replace($words[$i-1],"...",$text);
}
# Wenn das nicht so vorhanden ist, dann suche nur nach den ersten beiden Zeilen
------ [ Ersetze mit ]------
$j = strlen($total_users);
$leerzeichen = $j*6+237;
$j2 = strlen($latest_topic);
if ($j2>41)
{
$words = explode (" ", $latest_topic);
$text = '';
$latest_topic = '';
for($i=0;strlen($text) < 38;$i++) {
$text = $text . $words[$i] . " ";
}
$latest_topic = str_replace($words[$i-1],"...",$text);
}
#
###
@maribossa um die schrift in einer anderen farbe darzustellen musst du diese werte anpassen (farbe im plaintextformat angeben):
Zitat:
$tc = ImageColorAllocate ($im, 0, 0, 0);
esperitox
Es ist besser wenn du folgendes machst. Du erstellst unter dem Code da oben diesen:
Die Nullen wie esperitox schrieb anpassen. Und beim zugehörigen Code
Code: Alles auswählen
Z.B.: ImageString($im, 2, $leerzeichen, 25, "$latest_topic", $tc);
Am Ende schreibst du statt "$tc" "$farbname"