Seite 1 von 1

Eigene Smiliebox

Verfasst: 19.01.2005 13:45
von grizzli@work
Hi,

ich habe folgenden MOD installiert linkdb und bräuchte dazu eine Smiliebox. bzw. auch für andere MODS verwendbar.
Mit Smiliebox meine ich zb die Smiliefunktion wie hier im Forum. Jedoch möchte ich die Smilies als einzelne Zeilen einfügen wie zb in Gästebüchern

Der Grund. Ich möchte bestimmte Kategorien und Beschreibungen hinzufügen

Javascript wäre vorhanden:
<script language="JavaScript">
<!--
function SmilieEinfuegen(Smilie)
{
document.Formular.Textfeld.value+=Smilie+" ";
document.Formular.Textfeld.focus();
}
//-->
</script>
Der Code für die Smilies:

Code: Alles auswählen

<a href="javascript:SmilieEinfuegen(':-)')"><img border="0" src="smilie1.gif"></a>
<a href="javascript:SmilieEinfuegen(';-)')"><img border="0" src="smilie2.gif"></a>
<a href="javascript:SmilieEinfuegen(':rolleyes:')"><img border="0" src="smilie3.gif"></a> usw
Das ganze würde schon klappen, jedoch ohne Grafik. Und genau da brauch ich Hilfe. Irgendwo muß jetzt definiert werden das zb. : - ) als Grafik in den Beiträgen angezeigt wird. Ich denke das dies mit einer php-Datei gemacht werden muß. Leider habe ich keine php-Kenntnisse.
Könnte mir einer diese Datei erstellen und erklären wie ich diese einbinden muß.

Danke
gruß
grizzli

Verfasst: 19.01.2005 16:30
von PsYkE
wie siehts denn damit aus?
includes\bbcode.php Zeile 734

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;
}
Benutzung des obigen Codes
viewtopic.php Zeile 1086

Code: Alles auswählen

	//
	// Parse smilies
	//
	if ( $board_config['allow_smilies'] )
	{
		if ( $postrow[$i]['user_allowsmile'] && $user_sig != '' )
		{
			$user_sig = smilies_pass($user_sig);
		}

		if ( $postrow[$i]['enable_smilies'] )
		{
			$message = smilies_pass($message);
		}
	}

Verfasst: 19.01.2005 17:21
von grizzlibaer
Hi PsYkE,

gerne, wenn das mit dem Javascript und HTML-Code von mir klappt?
Nur weiss ich jetzt nicht recht was ich mit diesem php-Code machen soll ??

gruß
grizzli

Verfasst: 19.01.2005 18:52
von PsYkE
grizzlibaer hat geschrieben:Hi PsYkE,

gerne, wenn das mit dem Javascript und HTML-Code von mir klappt?
Nur weiss ich jetzt nicht recht was ich mit diesem php-Code machen soll ??

gruß
grizzli
Du kannst doch ein wenig php, oder nicht?

Also, der erste Codeteil ist die Funktion, die smilies wie : c r y : in :cry: umsetzt.

Der zweite Teil ist nur ein Beispiel zu Verwendung wie in der Topicansicht.

Ich setz mich kurz hin, und pass des mal kurz auf den linkdb mod an, es werden dann nur die Smilies benutzt, die du acuh im ACP/Forum konfiguriert hast.
10 Minuten, dann werd ich ziemlich sicher fertig sein :)

So ein Müll, ich finde keinen Funktionierenden Link für den Mod :-?

Verfasst: 19.01.2005 19:08
von grizzlibaer
Das ist lieb von Dir :) - ich kann sehr sehr wenig php :( - leider auch keine eigene codes oder so erzeugen. ich kan eigene $lang variablen definieren so das ich ein und den gleichen Text in Englisch und Deutsch habe .... und einiges was man hier beigebracht hat. Aber das sind simple Sachen :)
werden dann nur die Smilies benutzt, die du acuh im ACP/Forum konfiguriert hast.
Das bedeutet aber das ich mir trotzdem meine eine Tabelle in der link_add.tpl anlegen kann?. Also mit
<table width="111" border="0" cellspacing="0" cellpadding="0">
<tr><td><a href="javascript:SmilieEinfuegen(':-)')"><img border="0" src="smilie1.gif"></a></td>
<td><a href="javascript:SmilieEinfuegen(';-)')"><img border="0" src="smilie2.gif"></a></td>
<td><a href="javascript:SmilieEinfuegen(':rolleyes:')"><img border="0" src="smilie3.gif"></a></td></tr></table>
Das ist mir echt sehr wichtig :oops:

Verfasst: 19.01.2005 20:47
von PsYkE
Da braucht man kein php :P

Ich hab den Mod zuvor noch nie gesehen, und ich hab gedacht, du möchtest, dass smilies angezeigt werden, wie hier im Forum, und dass in dem Mod gar keine smilies eingebaut sind.

hab mir den OCde durchgeschaut, und smilies sind bereits eingebaut.

Damit Smilies als Grafiken angezeigt werden, Musst du in den Admin bereich, und dort die jew. Smilie Bilder und Smilie-Kombinationen einfügen.

Das Parsen der smilie codes wie : l o l : zu :lol: wird bei dem Linkdb mod automatisch gemacht

Wenn du irgendetwas anderes gemeint hast, sag es mir einfach :), ich helf dir gerne...

Verfasst: 19.01.2005 20:59
von grizzlibaer
oh, sorry, ich meine was anderes. De Smilies sind bei den Kommentaren.

Ich benötige aber Smilies bei Link hinzufügen. Und da brauche ich eine unabhängige Box da nicht die Standartsmilies vom Board angezeigt werden sollen, sondern völlig andere.

Und die möchte ich gerne mit HTML-Code einbinden und nicht über ACP.
Naja, so wie es in den Gästebüchern zb gemacht wird. Weisst Du was ich meine?

Verfasst: 19.01.2005 21:06
von PsYkE
ja, weiß ich, dass wird aber ein wenig mehr, als nur 1-2 Zeilen Code ;)
Aber ich machs trotzdem, habs ja shcon versprochen...

Verfasst: 19.01.2005 21:33
von grizzlibaer
vielen lieben Dank :grin:
Ich hoffe es ist nicht zu viel Arbeit. Hab ja keine Ahnung von :roll:

Verfasst: 20.01.2005 18:44
von grizzlibaer
[ externes Bild ] [ externes Bild ]

Es läuft 1A!!! Vielen Dank dafür

gruß
grizzli