Resource-ID / smilies_pass() - keine Lösung in Sicht...

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
andreasbecker
Mitglied
Beiträge: 16
Registriert: 10.03.2004 17:33
Wohnort: Essen

Resource-ID / smilies_pass() - keine Lösung in Sicht...

Beitrag von andreasbecker »

Achtung! Bitte letzte Postings durchlesen! Danke!

Hallo!

Nachdem die Forensuche nicht wirklich das hergegeben hat, was mir weiterhelfen konnte, hab ich mich kurzerhand registriert; hier mein Problem:

Ich arbeite momentan an einer Art Portalseite mit News, Link auf Profil, PM Postfach, usw. des eingeloggten Users, das Übliche halt ;-)
Klappt auch alles wunderbar, bis auf das Umwandeln der Smilies!

Ich habe übrigens die phpbb Version 2.0.6, sowie eine unangetastete mysql4.php, trotzdem erhalte ich folgenden Fehler beim Aufruf aus meinem Skript heraus:

Warning: mysql_query(): 12 is not a valid MySQL-Link resource in c:\inetpub\wwwroot\sduel\forum\db\mysql4.php on line 118

Also die Fehlermeldung, die ausgespuckt wird, wenn der Query daneben geht, ordnungsgemäß kommt noch ein "Could not obtain Smily Data" hinterher, sowie einige Headerfehler, weil ich mich außerhalb des Rootverzeichnisses befinde, jedoch obiger Fehler macht mir etwas Kopfschmerzen, zumal einerseits das Umwandeln des BBCodes funktioniert, außerdem die Abfrage an sich in Ordnung ist (was auch Test in Mysql Front ergibt), es ist ja auch ein simples SELECT * FROM tabelle...

Wer weiß Rat?
Zuletzt geändert von andreasbecker am 30.03.2004 21:52, insgesamt 4-mal geändert.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Wie schaut denn der Query aus?
Und was hat er mit der smilies_pass() Funktion zu tun?
andreasbecker
Mitglied
Beiträge: 16
Registriert: 10.03.2004 17:33
Wohnort: Essen

Beitrag von andreasbecker »

Das ist meine Funktion, die den Text aufbereiten soll:

Code: Alles auswählen

function bbencode_text ($text, $uid)
{
	if ( $uid != '' )
	{
		$text = bbencode_second_pass($text, $uid);
		$text = make_clickable($text);
	}

	$text = smilies_pass($text);

	return $text;
}// of bbencode_text()
Besagter Fehler in der mysql4.php tritt genau dann auf, wenn ich die smilies_pass() Zeile hinzufüge - kommentiere ich sie aus, ist der Fehler verschwunden...

edit: Ich sehe gerade, dass mir ein echo mehrere verschiedene Querys ausgibt, wobei der fehlerhafte (durch meinen eigenen Aufruf verursachte) ein einfaches "SELECT * FROM phpbb_smilies" ist, wie gesagt, händisch ausprobiert funktioniert der Query natürlich problemlos...
Zuletzt geändert von andreasbecker am 11.03.2004 11:22, insgesamt 1-mal geändert.
Benutzeravatar
netzmeister
Ehemaliges Teammitglied
Beiträge: 1146
Registriert: 02.05.2003 20:59
Wohnort: Freiburg
Kontaktdaten:

Beitrag von netzmeister »

Hallo,
und was macht die Funktion smilies_pass ?
Poste die mal bitte.

Gruß netzmeister
Gruß netzmeister
Die "Suche" ist euer Freund
andreasbecker
Mitglied
Beiträge: 16
Registriert: 10.03.2004 17:33
Wohnort: Essen

Beitrag von andreasbecker »

Die smilies_pass ist zu finden in der bbcode.php (im include-Verzeichnis) und soll halt die Smilie- "Übersetzungen" aus der db holen, dabei kommt es (nur bei meinem eigenen Aufruf) zum Fehler:

Code: Alles auswählen

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;
}
Benutzeravatar
netzmeister
Ehemaliges Teammitglied
Beiträge: 1146
Registriert: 02.05.2003 20:59
Wohnort: Freiburg
Kontaktdaten:

Beitrag von netzmeister »

Hallo,
hast du folgenden Code im Kopf Deiner "neuen" Portal-Seite ?

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
Gruß netzmeister
Gruß netzmeister
Die "Suche" ist euer Freund
andreasbecker
Mitglied
Beiträge: 16
Registriert: 10.03.2004 17:33
Wohnort: Essen

Beitrag von andreasbecker »

Jau, ist vorhanden, wie gesagt, selbst die BBCode-Codierung funzt ja, nur die Smilies wehren sich standhaft...
andreasbecker
Mitglied
Beiträge: 16
Registriert: 10.03.2004 17:33
Wohnort: Essen

Beitrag von andreasbecker »

Ok, ich hab mich jetzt mal etwas in die mysql4.php eingelesen und bin zu folgendem Schluss gekommen:

Aufgrund der Fehlermeldung
"Warning: mysql_error(): 12 is not a valid MySQL-Link resource in c:\inetpub\wwwroot\sduel\forum\db\mysql4.php on line 329"

scheint es so, als wenn die Resource ID #12 zwar noch in der internen Variable gespeichert ist, die Verbindung zur db aber wohl verworfen wurde. Wie kann das sein?

Hoch damit gemäß Forenregeln -> Topic Bumping 8) + Topicname geändert!
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

hmm.. verlink doch ma diese Dateien, die du für´s Portal nutzen möchtest, als *.txt Versionen.
andreasbecker
Mitglied
Beiträge: 16
Registriert: 10.03.2004 17:33
Wohnort: Essen

Beitrag von andreasbecker »

Ok, hier also:

bbcode.php

mysql4.php
Antworten

Zurück zu „phpBB 2.0: Mod Support“