ChatMod V3 (Smartor): Archivfunktion gesucht

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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.
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

ChatMod V3 (Smartor): Archivfunktion gesucht

Beitrag von Wuppi »

Hi

es gibt zu dem Thema schon ein Thread - wo das mit dem Archiv aber erst später kommt - daher wohl von den meisten übersehen wurde - daher jetzt ein extra Thread dazu.

Ich suche halt eine Möglichkeit den Chat zu Archivieren (da gehts mir primär um das verschieben in der DB - die ausgabe der Archvierten Daten sollte ja kein Thema sein)

Was ich bisher rausbekommen hab:

Die nötige Datei sollte messenger_view.php heißen. Unter function delete_msg($timestamp) diese Zeile $sql = "DELETE FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."'"; ändern ... man müsste den inhalt einfach nach $table_chatbox_name_archiv verschieben - nur kenn ich den befehl für mysql nicht, womit man statt löscht, etwas verschiebt.

Sorry, hier hab ich was vergessen:
Hab den obrigen Befehl durch
$sql = "INSERT INTO mforum_chatbox_archiv SELECT * FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."'";
ersetzt. Wenn ich diesen Befehl so drin lasse, bekomm ich immer ein "SQL-Fehler in delete_msg()" ...

Kann mir da jemand weiterhelfen damit ich das realisiert bekomme?`

Bis denne
Wuppi
Zuletzt geändert von Wuppi am 16.03.2004 13:47, insgesamt 1-mal geändert.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Anstatt DELETE müsstest du UPDATE (oder gar INSERT INTO, aber wohl eher UPDATE) benutzen. Ich weiss jetzt aber nicht genau, wie sich das Archiv definiert, also was man dann 'updaten' müsste.
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

update setz ich doch nur ein, wenn ich einen bereits vorhandenen Eintrag "überschreiben" möchte. Das möchte ich ja nicht - ich möchte ja einen neuen hinzufügen.

Der ChatMod arbeitet so das er Einträge in der DB die älter als X Minuten sind, löscht. VOR dem löschen wäre es jetzt praktisch, wenn er das zu löschenende erstmal in einmal in einer neuen Tabelle kopiert (die genauso aufgebaut ist wie die ursprünglichen Tabelle für den Life-Chat) und dann erst im Life-Bereich löscht müsste das gehen.

Ups ... ich hab da was vergessen ... mit insert to hab ich gearbeitet ..

Den oben genannten befehl hab ich ersetzt:
$sql = "INSERT INTO mforum_chatbox_archiv SELECT * FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."'"; (so würde nur kopiert; löschen müsste ich da mit nem AND noch hinzufügen - aber nichtmal das kopieren klappt)

Nur kommt dann dieser "SQL-Fehler in delete_msg()" ...

Bis denne
Wuppi
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Poste mal ein wenig mehr Code, v.a. bezüglich der delete_msg Funktion, und die komplette Fehlermeldung.
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

Code: Alles auswählen

function delete_msg($timestamp)
{
	global $chatbox_config, $table_chatbox_name, $db;

	   $sql = "INSERT INTO mforum_chatbox_archiv SELECT * FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."' AND DELETE FROM " . $table_chatbox_name . " WHERE timestamp = '" . $timestamp."'";

    if (!$result = $db->sql_query($sql))
	{
		die("SQL Error in function delete_msg()");
	}
}
Die Fehlermeldung erscheint im Fenster wo normalerweise der Chat angezeigt wird: "SQL Error in function delete_msg()" ... dieses steht im unteren Teil der Funktion. (wenn ich den Teil ab AND DELETE entferne, wirds auch nciht besser)

Da steht ja if (!$result ....) { Fehler } ... kann das sein das die varible $result mit sql_query($sql) verglichen wird, wenn die nicht identisch ist, wird die Meldung rausgeschmissen?

Bei der Orginalfunktion ist nur der Unterschied das der Insert Into-Teil weg ist - dafür nur der delete-teil.

Bis denne
Wuppi
riddlex
Mitglied
Beiträge: 348
Registriert: 26.08.2002 05:56

Beitrag von riddlex »

ist der chat echt so kompliziert weil das keiner weiß ?
vielleicht diesen smartor selbst fragen ?
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

ich glaub wir haben den falschen Chat ;) Hat sonst wohl keiner :( Ich vermute das da irgendwo ne sicherheitsabfrage ist - theoretisch ist mein Befehl richtig ... kommt aber ne Fehlermeldung wg. fehler in der funktion ...

Bis denne
Wuppi
riddlex
Mitglied
Beiträge: 348
Registriert: 26.08.2002 05:56

Beitrag von riddlex »

aber es gibt ja keinen anderen chat oder doch?
also ich bin schon froh dass ich überhaupt einen gefunden hab
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

es gibt schon noch nen paar - nur in letzter Zeit find ich das dermaßen unübersichtlich mit den Shoutboxen das ich froh war als ich die chat_box gefunden hab - die sieht wenigstens gut aus ;)

Bis denne
Wuppi
riddlex
Mitglied
Beiträge: 348
Registriert: 26.08.2002 05:56

Beitrag von riddlex »

wer kann helfen ? acid ?
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“