[Fix] Merge Topics

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

[quote="AmigaLink - Di 08.Feb, 2005 01:17";p="22787"]Genau um den geht es hier. :D
Den link den du angibst, hab ich in Beitrag #15 auch gepostet. ;)[/quote]
Sry, den kleinen Link hab ich überlesen :D
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Und da habe ich die Links schon extra grün gemacht... tztztz.... :D
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

LOL - Naja, zugegeben der mini-link ist wirklich leicht zu übersehen. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Robert
Beiträge: 2
Registriert: Do 01.Jun, 2006 21:34

Beitrag von Robert »

[quote="oxpus";p="22769"]Ja, mein Fix ist gefixt. Damit wäre die Funktion ja nun perfekt...[/quote]

Entschuldige, das Ich den Thread noch mal hochhole.
Ich habe den Fix soeben bei mir eingebaut und kann nur bestätigen, das er perfekt funktioniert. :)
Vielen Dank dafür.
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

[quote="Robert";p="60293"]Entschuldige, das Ich den Thread noch mal hochhole.
Ich habe den Fix soeben bei mir eingebaut und kann nur bestätigen, das er perfekt funktioniert. :)
Vielen Dank dafür.[/quote]

Bedautet es das man den noch bei die version 2.0.18 vom 13. Jan. 2006 einbauen muss wurde es da nicht dann schon längst gefixt vom Autor aus?
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich denke nicht, da der MOD schon lange nicht mehr aktualisiert wurde.
Aber versuche es ruhig ohne Fix. Vielleicht ja doch...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Robert
Beiträge: 2
Registriert: Do 01.Jun, 2006 21:34

Beitrag von Robert »

Also Ich hab das jetzt noch mal probiert mit einem frischen phpBB 2.0.20 sowie der aktuellsten Mergemod Version (mergemod2018.zip) von www.wolke23.de.
Es funktiniert aber erst, wenn Ich den Fix einbaue.
Ohne den Fix kann Ich nur Threads zusammenfügen, die auf der ersten Seite sind.
JaneDoe
Beiträge: 230
Registriert: Sa 16.Jul, 2005 12:18

Beitrag von JaneDoe »

Uhh, stimmt.
Hab bis jetzt immer nur Threads von Seite 1 zusammenfügen müssen.
Da hätt ich ja blöd geschaut.

Wie gut das wir verglichen haben ;)
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: [Fix] Merge Topics

Beitrag von Dungeonwatcher »

Hi! :cool:

Ich habe gerade mal diesen Fix in meinem Forum eingebaut und werde dort beim zusammenfügen von Themen durch 2 PHP Fehlermeldungen begrüßt:
PHP Fatal error: Call to undefined function create_date_day() in ...\modcp.php on line 1007
das betrifft diese Zeile:

Code: Alles auswählen

$last_post_time = create_date_day($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']);
und dann noch diese Meldung
PHP Fatal error: Call to undefined function move_message_mod() in ...\modcp.php on line 1063
was hier dies Zeile 5 betrifft:

Code: Alles auswählen

	$topic_list = '';
	for($i = 0; $i < count($topics); $i++)
	{
		$topic_list .= ( ( $topic_list != '' ) ? ', ' : '' ) . $topics[$i];
		move_message_mod($topic_id_to, $topic_id, 'merge', $old_forum_id, '', $userdata['user_id']);
	}
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

create_date_day einfach durch create_date ersetzen und die Zeile mit move_message_mod löschen.
Dann wäre das Problem gelöst ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="oxpus";p="69798"]create_date_day einfach durch create_date ersetzen[/quote]

Das kann ich ja noch nachvollziehen, aber
und die Zeile mit move_message_mod löschen.
dies nicht. ^6
Dann wäre das Problem gelöst ;)
Jupp, scheint so.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Beides kommt von MODs, die ich hier verbaut habe, die Zeile vom Move Message MOD ist dabei "ergänzend" in den Code eingefügt worden, daher eben komplett zu löschen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Ahja, klaro. Dankeschön

Bleibt nur noch ein Schönheitsfehler in diesem Mod, aber das gehört hier nicht her.
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Moin! :cool:

[quote="oxpus";p="11531"]Du musst alle Felder rausnehmen, die angemeckert werden.
Und ersetze "create_date_day" einfach mit "create_date". Dann klappt es wieder.[/quote]

Jupp, habe ich vor einiger Zeit getan, aber jetzt tritt ein weiterer (Folge)Fehler auf.

Wenn ich die Variante "ausgewählte Beiträge verschieben" nutze, gibt es diese Fehlermeldung:
PHP Fatal error: Call to undefined function move_message_mod() in ...\modcp.php on line 1226
Das betrifft diese Zeile (7):

Code: Alles auswählen

         if( !empty($HTTP_POST_VARS['merge_type_all']) )
         {
            $post_id_sql = '';
            for($i = 0; $i < count($posts); $i++)
            {
               $post_id_sql .= ( ( $post_id_sql != '' ) ? ', ' : '' ) . $posts[$i];
		 move_message_mod($topic_id_to, $topic_id_to, 'merge', $old_forum_id, '', $userdata['user_id']);
            }
Bei Benutzung "ab dem ausgewählten Beitrag verschieben" tut es jedoch funktionieren.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hatte ich auch schon geschrieben:
und die Zeile mit move_message_mod löschen.
Also in Deinem letzten Code-Ausschnitt die komplete Zeile 7 :D
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Hi! :cool:

Stimmt. :!:

Man, ich glaube ich bin schon wieder Urlaubsreif. ^6
Wolfgang
Beiträge: 45
Registriert: Mi 31.Jan, 2007 20:41

Noch ein Problem

Beitrag von Wolfgang »

Guten Morgen!

Der Fix ist leider weiterhin fixbedürftig. Und zwar wollte ich in der Viewtopic-Ansicht eines längeren Threads einen Beitrag mit einem anderen Thema zusammenführen. Zu diesem Zwecke habe ich auf das Icon topic_merge.gif geklickt und dabei folgende Fehlermeldung erhalten:
Could not get topic/post information

DEBUG MODE

SQL Error : 1054 Unknown column 'pt.quiz_answer' in 'field list'

SELECT u.username, p.*, pt.post_text, pt.bbcode_uid, pt.post_subject, pt.quiz_answer, pt.post_extra, p.post_username FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt WHERE p.topic_id = 311 AND p.poster_id = u.user_id AND p.post_id = pt.post_id ORDER BY p.post_time ASC , p.post_id ASC

Line : 1901
File : modcp.php
Das Feld post_extra existiert übrigens auch nicht in meiner Tabelle phpbb_posts_text. Also habe ich die SQL-Abfrage so umgestaltet:

Code: Alles auswählen

         $sql = "SELECT u.username, p.*, pt.post_text, pt.bbcode_uid, pt.post_subject, p.post_username
            FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
            WHERE p.topic_id = $topic_id
               AND p.poster_id = u.user_id
               AND p.post_id = pt.post_id
            ORDER BY p.post_time ASC , p.post_id ASC";
Jetzt ist oben genannter Fehler weg. Ich habe also den zu verschiebenden Beitrag ausgewählt und wollte ihn in ein anderes Forum verschieben. Wie es sein sollte, ist auch die Themenübersicht erschienen. Als ich im Zielforum aber auf die zweite Seite der Themenübersicht wechseln wollte, habe ich folgenden Fehler bekommen:
Could not get topic/post information

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND p.poster_id = u.user_id AND p.post_id = pt.po

SELECT u.username, p.*, pt.post_text, pt.bbcode_uid, pt.post_subject, p.post_username FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt WHERE p.topic_id = AND p.poster_id = u.user_id AND p.post_id = pt.post_id ORDER BY p.post_time ASC , p.post_id ASC

Line : 1901
File : modcp.php
Und jetzt bin ich mit meinem Latein leider am Ende. :( Hier wären noch die Zeilen 1893-1902 aus meiner modcp.php:

Code: Alles auswählen

         $sql = "SELECT u.username, p.*, pt.post_text, pt.bbcode_uid, pt.post_subject, p.post_username
            FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
            WHERE p.topic_id = $topic_id
               AND p.poster_id = u.user_id
               AND p.post_id = pt.post_id
            ORDER BY p.post_time ASC , p.post_id ASC";
         if ( !($result = $db->sql_query($sql)) )
         {
            message_die(GENERAL_ERROR, 'Could not get topic/post information', '', __LINE__, __FILE__, $sql);
         }
Eine funktionierende Pagination für den Merge MOD wäre echt großartig. Kann ich irgendwie dazu beitragen? Soll ich meine gesamte modcp.php verlinken? Oder würde ein Testaccount in meinem Board mit Moderatorrechten weiterhelfen?

Das Problem tritt wie gesagt auf, wenn man einen einzelnen Beitrag eines Threads in ein Thema verschieben will, das sich in einem anderen Forum auf der zweiten (oder dritten) Seite der Themenübersicht befindet, und zwar sobald man sich die 2. Seite der Themenübersicht des Zielforums anzeigen lassen möchte. ¢¦

Wünsche eine schöne Woche!
Wolfgang

EDIT: Das Zusammenführen des Beitrags mit einem anderen Thread, der sich auf der ersten Seite des Zielforums befindet, funktioniert übrigens tadellos. Nur auf die zweite Seite kann nicht gewechselt werden (siehe 2. Fehlermeldung oben). Ich habe meine modcp.php übrigens gleich mal als .zip-Datei angehängt.

[ Attachment gelöscht am Mo 12.März, 2007 19:15 von oxpus ]
Zuletzt geändert von Wolfgang am Mo 12.Mär, 2007 09:02, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Zur ersten Fehlermeldung:
Suche die SQL-Anweisung vor Zeile 1901 in Deiner modcp.php und entferne daraus

Code: Alles auswählen

pt.quiz_answer
Dann ist diese Meldung weg.

Der zweite Fehler ist ebenfalls korrekt behoben.

Beim dritten Fehler fehlt die topic_id an der richtigen Stelle:

Code: Alles auswählen

WHERE p.topic_id = AND p.poster_id 
Dazu müsste ich nun mal Deine modcp.php haben, um nachzuschauen, woran das liegt.
Und genau dann wäre auch die Pagination funktionsfähig ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Wolfgang
Beiträge: 45
Registriert: Mi 31.Jan, 2007 20:41

Beitrag von Wolfgang »

Hallo Oxpus,

wow, das ist ja schnell gegangen. Ich habe meinen vorigen Beitrag editiert und dabei die modcp.php als .zip-Datei angehängt. Ob es daran liegen kann, dass ich dieses Add-on eingebaut habe, das anzeigt, wer wann was wohin verschoben bzw. gemergt hat?

LG, Wolfgang
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hm, ich muss zugeben, das Phänomen ist hartnäckig.
Ich bin da wirklich am grübeln, zumindest läuft er bei mir aktuell schon mal nicht mehr auf einen Fehler, zweigt aber anstelle der gewählten Seite die Themansicht (ohne das ausgewählt Post).

*grübel*

Kann nur noch Stunden dauern..... :(
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Wolfgang
Beiträge: 45
Registriert: Mi 31.Jan, 2007 20:41

Beitrag von Wolfgang »

Oh, also doch etwas Ernsteres. Dann drücke ich Dir - oder besser gesagt uns allen - mal die Daumen, dass Du den Fehler findest. Wäre klasse, denn mit Pagination wäre der Merge MOD noch um einiges besser, als er ohnehin schon ist.

Ich wünschte, ich könnte Dir helfen... Lass´ Dir Zeit... Morgen ist auch noch ein Tag. ;)

LG, Wolfgang
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

So, man muss nur mal was essen, dann bewegen sich die kleinen grauen Zellen auch wieder.
Mit der angehangenen modcp.php sollte es auch bei Dir nun klappen.
Das Snippet passe ich nun auch gleich an.

Kurzum woran es lag:
Der MOD prüfte nur Formulardaten mit $HTTP_POST_VARS, an dieser Stelle waren aber Daten aus einem Link (Pagination) heraus nötig, die per $HTTP_GET_VARS bereitgestellt werden.
Nun denn, MOD/Snippet angepasst und schon löppts ...

[ Attachment gelöscht am Di 13.März, 2007 10:17 von oxpus ]
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Wolfgang
Beiträge: 45
Registriert: Mi 31.Jan, 2007 20:41

Beitrag von Wolfgang »

Guten Morgen, Oxpus!

So, habe die neue Version nun umfangreich getestet und bin damit hochzufrieden!

Ein paar Kleinigkeiten sind mir dennoch aufgefallen, die ich Dir in meiner Funktion als braves Testerlein natürlich nicht vorenthalten will:

A) Der Move Message MOD zeigt nun im Zielthema unterhalb des hineingemergten Beitrags "Gesplittet: 13.03.2007, ..." statt, wie es richtig wäre, "Zusammengeführt: 13.03.2007, ..." an.

B) Wenn man einen Beitrag zusammenführen will (egal ob "ausgewählte Beiträge verschieben" oder "von diesem Beitrag an verschieben") und man wählt in der Dropdown-Liste das Zielforum aus, dann gelangt man zwar zu den Themen des Zielforums, aber laut Navigation ist man in einem anderen Forum.

Beispiel zur Veranschaulichung: Ich will den Beitrag A mit einem Thema in Zielforum Z verschmelzen und wähle z.B. "ausgewählte Beiträge verschieben". Jetzt lande ich auf der Seite, auf der ich mir das Zielthema aussuchen kann.

Dabei zeigt die Seitennavigation Wolfgangs Board -> Forum B an.
Darunter befindet sich dann die Liste mit möglichen Zielthemen zum Auswählen:

Thema 1
Thema 2
Thema 3
...

Die Themen 1-3 gehören allesamt dem richtigen Zielforum Z an. Nur in der Navigation steht fälschlicherweise, dass ich im Forum B wäre.

C) Nachdem man den Beitrag erfolgreich zusammengeführt hat, erscheint die Erfolgsmeldung:

"Die ausgewählten Beiträge wurden zusammengeführt

Hier klicken, um zum Thema zurückzukehren"

Wenn man aber auf den Link klickt, wird man manchmal zu einem Thema weitergeleitet, das mit der Aktion überhaupt nichts zu tun hat, das also weder dem ursprünglichen Thema noch dem Zielthema entspricht.

D) Manchmal funktioniert das Zusammenführen gar nicht. Es steht zwar da "Die ausgewählten Beiträge wurden zusammengeführt", sie sind es aber nicht. Der Beitrag ist immer noch in seinem ursprünglichen Thema.

Das Problem D) kann aber damit zu tun haben, dass ich jetzt viel mit dieser Funktion herumexperimentiert habe.
Der DB Maintenance MOD hat auch tatsächlich einige Fehler beim Synchronisieren von Foren und Themen gefunden und korrigiert. Also vermutlich habe ich es beim Herumspielen einfach nur übertrieben.

Die Probleme B) und C) würde ich an Deiner Stelle auch nicht besonders ernst nehmen, weil ich den Verdacht hege, dass sie mit mgutts SEO-URLs-MOD zu tun haben könnten.

Das sind nur ein paar Mini-Schönheitsfehler, die mich persönlich nicht im Geringsten stören. Ich bin mir sicher, dass Dein Add-on in der Praxis problemlos funktionieren wird (sonst melde ich einfach wieder, wenn ich darf :D )

Vielen Dank also dafür!

Endlich braucht man nicht mehr extra einen Beitrag zu erstellen, um ein Zielthema auf die erste Seite der Themenübersicht zu hieven. *freu*

Schöne Woche noch!
Wolfgang
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

A: Da muss ich passen, der Move Message MOD kennt schliesslich den Zustand "Zusammengeführt" nicht ;)

B: Es wird das Forum angezeigt, von dem man aus verschiebt...

C: Öh, jo, das wäre in der Tat zu prüfen.

D: Nun ja, hier kann ich dann auch nicht wirklich was tun, denn "mal ja mal nein" ist schwer nachzuvollziehen. Ich habe da keine Probs bislang...

Ich werde B und C nochmal nachprüfen und mich später dazu melden.

E: Danke für das "Testergebnis"!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Wolfgang
Beiträge: 45
Registriert: Mi 31.Jan, 2007 20:41

Beitrag von Wolfgang »

A: Das ist mir deshalb aufgefallen, weil ich dieses kleine Add-on installiert habe: hier - damit wird auch ein "Zusammengeführt" angezeigt.
B: Achso, danke...
D: Ich weiß auch nicht, ob ich das reproduzieren kann. Ich denke wirklich, dass ich einfach zu viel herumgespielt habe. In der Praxis wird dieser Punkt wohl keine Rolle spielen.
E: Ein bisschen Feedback ist ja das mindeste, was man geben kann... wenn man schon nicht beim Coden oder Fehlersuchen behilflich sein kann.

Also danke noch einmal! :)
LG, Wolfgang
Antworten