Seite 1 von 2

Hab meine Smilies zerschossen :-(

Verfasst: 08.10.2003 10:13
von Karry
Hi ihr,

irgendwas hab ich an meinen Smilies zerschossen. Also in der Liste sieht man sie, klickt man dann einen an und schickt das Posting ab, dann kommt aber nur der Text, aber keine Grafik.

Jetzt hab ich hier schon über ne halbe Stunde gesucht, finde aber keine Lösung, nur das es an der smilies_list oder der posting_body liegen könnte, hier mal die entsprechenden Quelltexte:
<table><tr>
<td align="left" valign="middle" class="nav" width="100%"><span class="nav">&nbsp;&nbsp;&nbsp;<a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
</tr></table>

<table class="forumline" align="center" width="100%">
<tr>
<td class="{CLASS_1}" align="center" width="25%"><strong>{L_IMAGE}<hr></strong></td>
<td class="{CLASS_2}" align="center" width="25%"><strong>{L_CODE}<hr></strong></td>
<td class="{CLASS_1}" align="center" width="25%"><strong>{L_IMAGE}<hr></strong></td>
<td class="{CLASS_2}" align="center" width="25%"><strong>{L_CODE}<hr></strong></td>

<!-- BEGIN smilies -->
{smilies.START}
<td class="{CLASS_1}" align="center" width="25%">{smilies.URL}</td>
<td class="{CLASS_2}" align="center" width="25%">{smilies.CODE}</td>
{smilies.END}
<!-- END smilies -->

</table>
und die body_post:
<table width="100" border="0" cellspacing="0" cellpadding="5">
<tr align="center">
<td colspan="{S_SMILIES_COLSPAN}" class="gensmall"><b>{L_EMOTICONS}</b></td>
</tr>
<!-- BEGIN smilies_row -->
<tr align="center" valign="middle">
<!-- BEGIN smilies_col -->
<td><a href="javascript:emoticon('{smilies_row.smilies_col.SMILEY_CODE}')"><img src="{smilies_row.smilies_col.SMILEY_IMG}" border="0" alt="{smilies_row.smilies_col.SMILEY_DESC}" title="{smilies_row.smilies_col.SMILEY_DESC}" /></a></td>
<!-- END smilies_col -->
</tr>
<!-- END smilies_row -->
<!-- BEGIN switch_smilies_extra -->
<tr align="center">
<td colspan="{S_SMILIES_COLSPAN}"><span class="nav"><a href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_phpbbsmilies', 'HEIGHT=300,resizable=yes,scrollbars=yes,WIDTH=250');return false;" target="_phpbbsmilies" class="nav">{L_MORE_SMILIES}</a></span></td>
</tr>
<!-- END switch_smilies_extra -->
Könnt ihr den Fehler da erkennen oder liegt der doch woanders?

Viele Grüsse
Karry

Verfasst: 08.10.2003 10:28
von Dave
Zeig mal bitte den link zu deinem Forum ;)

Und was hast du als letztes gemacht am Forum?

Verfasst: 08.10.2003 10:34
von Karry
http://www.lotten.de/phpbb

Also das ist noch das alte Design. Wir sind am umbauen und ich hab das Last Crusade Style eingebaut, ist aber noch nicht online. Durch die grösse der Smileys war bei dem LastCrusade Style das Forum leider zu breit, deswegen hab ich in der .pak Datei die Standardsmileys wieder nach oben geholt. Tja und seitdem ging nix mehr. Ich hab schon die gesamten Smileys erstmal runtergehauen, weil ich dachte es liegt daran und ein pak von phpbb.com draufgezogen, aber das geht auch nicht... :-(

Verfasst: 08.10.2003 10:37
von Dave
Gibt es irgendwo ne möglichkeit das selbst mal zu sehen? :o

Also Beitrag schreiben? :-?

Verfasst: 08.10.2003 10:40
von Karry
Im "Kummerkasten" kannste posten, der ist für unregistrierte frei.. :-)

Verfasst: 08.10.2003 10:47
von Dave
Zeig mir mal bitte deine bbcode.php und bbcode.tpl als text Datei

Verfasst: 08.10.2003 10:50
von Karry

Verfasst: 08.10.2003 10:54
von Dave
öffne bbcode.php:

Suche:

Code: Alles auswählen

// 
// Smilies code ... would this be better tagged on to the end of bbcode.php? 
// Probably so and I'll move it before B2 
// 
function smilies_pass($message) 
{ 
static $orig, $repl; 

if (!isset($orig)) 
{ 
global $db, $board_config; 
$orig = $repl = array(); 

$sql = 'SELECT code, smile_url FROM ' . SMILIES_TABLE; 
if( !$result = $db->sql_query($sql) ) 
{ 
message_die(GENERAL_ERROR, "Couldn't obtain smilies data", "", __LINE__, __FILE__, $sql); 
} 
$smilies = $db->sql_fetchrowset($result); 

usort($smilies, 'smiley_sort'); 
for($i = 0; $i < count($smilies); $i++) 
{ 
$orig[] = "/(?<=.\W|\W.|^\W)" . phpbb_preg_quote($smilies[$i]['code'], "/") . "(?=.\W|\W.|\W$)/"; 
$repl[] = '<img src="'. $board_config['smilies_path'] . '/' . $smilies[$i]['smile_url'] . '" alt="' . $smilies[$i]['smile_url'] . '" border="0" />'; 
} 
} 

if (count($orig)) 
{ 
$message = preg_replace($orig, $repl, ' ' . $message . ' '); 
$message = substr($message, 1, -1); 
} 
return $message; 
} 

function smiley_sort($a, $b) 
{ 
if ( strlen($a['code']) == strlen($b['code']) ) 
{ 
return 0; 
} 

return ( strlen($a['code']) > strlen($b['code']) ) ? -1 : 1; 
} 
ersetze mit:

Code: Alles auswählen

//
// Smilies code ... would this be better tagged on to the end of bbcode.php?
// Probably so and I'll move it before B2
//
function smilies_pass($message)
{
	static $orig, $repl;

	if (!isset($orig))
	{
		global $db, $board_config;
		$orig = $repl = array();

		$sql = 'SELECT * FROM ' . SMILIES_TABLE;
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Couldn't obtain smilies data", "", __LINE__, __FILE__, $sql);
		}
		$smilies = $db->sql_fetchrowset($result);

		if (count($smilies))
		{
			usort($smilies, 'smiley_sort');
		}

		for ($i = 0; $i < count($smilies); $i++)
		{
			$orig[] = "/(?<=.\W|\W.|^\W)" . phpbb_preg_quote($smilies[$i]['code'], "/") . "(?=.\W|\W.|\W$)/";
			$repl[] = '<img src="'. $board_config['smilies_path'] . '/' . $smilies[$i]['smile_url'] . '" alt="' . $smilies[$i]['emoticon'] . '" border="0" />';
		}
	}

	if (count($orig))
	{
		$message = preg_replace($orig, $repl, ' ' . $message . ' ');
		$message = substr($message, 1, -1);
	}
	
	return $message;
}

function smiley_sort($a, $b)
{
	if ( strlen($a['code']) == strlen($b['code']) )
	{
		return 0;
	}

	return ( strlen($a['code']) > strlen($b['code']) ) ? -1 : 1;
}

Ich hoffe es klappt :roll:

Verfasst: 08.10.2003 11:00
von Karry
Nein klappt leider nicht :-(

Verfasst: 08.10.2003 11:01
von Dave
Smilies sind aus

Schalte doch mal die Smilies im Adminbereich an :D :D :D