Pagination für den Merge Mod

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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.
Antworten
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Pagination für den Merge Mod

Beitrag von IPB_Flüchtling »

Ahoi,

ich habe mir den Merge Mod (2017) und das Merge Mod AddOn für den Move Message Mod eingebaut. Zu finden sind diese Mods hier:

http://www.wolke23.de/downloads/func,select/id,2/
http://www.leuchte.net/file.php?file=21
http://www.leuchte.net/file.php?file=27

Nun hätte ich gerne die Möglichkeit, Beiträge mit Zielthemen zu verschmelzen, die sich nicht auf der ersten Seite der Themenübersicht befinden. Man braucht also eine funktionierende Pagination.

Oxpus hat vor längerer Zeit so eine Pagination für den Merge Mod entwickelt:

http://www.oxpus.de/viewtopic.php?t=1018

Ihr könnt Euch Oxpus´ Variante des Merge Mod-Hauptbestandteils für die modcp.php auch hier anschauen:

http://home.twin.at/wolfgang/fix_modcp_merge.txt

Allerdings sind in Oxpus´ Variante ein paar Besonderheiten: Statt create_date_day muss es in einem Standard-phpBB create_date heißen. Und in der Zeile
$sql = "SELECT u.username, p.*, pt.post_text, pt.bbcode_uid, pt.post_subject, pt.quiz_answer, pt.post_extra, p.post_username
... werden die meisten wohl den rot markierten Teil löschen müssen.

Ich habe jetzt einmal versucht, einen Beitrag mit einem Thema, das sich auf Seite 2 in der Themenübersicht befindet, zu verschmelzen. Beim Versuch, die Seite 2 aufzurufen, habe ich aber folgenden Fehler erhalten:
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 ORDER BY p.post_time ASC' at line 4

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 ORDER BY p.post_time ASC

Line : 1728
File : modcp.php
Meine modcp.php findet Ihr hier:

http://home.twin.at/wolfgang/modcp.txt

Es wäre toll, wenn es gelänge, diese Pagination-Erweiterung für den Merge Mod doch noch zum Laufen zu bringen. Ich bin mir sicher, dass nicht wenige Kollegen daran interessiert wären. Hilfe wäre also höchst willkommen.

Schönes Wochenende!
IPB_Flüchtling
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Freundlicherweise hat mir Kollege RobertC seine modcp.php zur Verfügung gestellt. Der Fehler tritt aber auch damit auf.

Wie gesagt, tritt der Fehler nur dann in Erscheinung, wenn man einen Beitrag eines Threads in ein Thema verschieben will, das sich auf der Themen-Übersichtsseite nicht auf der 1. Seite befindet. (Das Verschmelzen eines ganzen Threads mit einem anderen funktioniert dagegen schon, auch wenn sich der Ziel-Thread nicht auf der 1. Seite befindet.)

Fehlermeldung:
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.post_id ' at line 4

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 : 1732
File : modcp.php
Zugehörige Codestelle:

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);
         }
Fällt jemanden von Euch diesbezüglich etwas auf? Mir nämlich nicht (außer dass $topic_id anscheinend nicht korrekt erkannt wird sondern "leer" bleibt). :(

LG, IPB_Flüchtling
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

So, jetzt bumpe ich diesen Thread einmal:

*bump*

Bitte erspart Euch allfällige Hinweise auf Olympus, da ich sowieso frühestens 2008 die Forensoftware wechseln würde (ein Update ist es ja nicht).

Also: *bump*

LG, IPB_Flüchtling
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

IPB_Flüchtling hat geschrieben:Fällt jemanden von Euch diesbezüglich etwas auf? Mir nämlich nicht (außer dass $topic_id anscheinend nicht korrekt erkannt wird sondern "leer" bleibt). :(
Was meinst du mit außer? Langt doch für ne Fehlermeldung. :-?

Such mal nach der Stelle

Code: Alles auswählen

if ( isset($HTTP_GET_VARS[POST_TOPIC_URL]) || isset($HTTP_POST_VARS[POST_TOPIC_URL]) )
{
	$topic_id = (isset($HTTP_POST_VARS[POST_TOPIC_URL])) ? intval($HTTP_POST_VARS[POST_TOPIC_URL]) : intval($HTTP_GET_VARS[POST_TOPIC_URL]);
}
und setz die Zeilen drunter -->

Code: Alles auswählen

else if ( isset($HTTP_GET_VARS['topic']) )
{
	$topic_id = intval($HTTP_GET_VARS['topic']);
}
Vielleicht hilfts. easy
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Ahoi easygo,

vielen Dank für Deine Hilfsbereitschaft!

Leider hat es (noch) nicht funktioniert. :( Hier ist meine modcp.php mit Oxpus´ sowie Deinem Fix (und den kleinen Korrekturen, die aufgrund der Besonderheiten von Oxpus´ modcp.php notwendig sind):

http://home.twin.at/wolfgang/modcp.php.Okt2006.txt

Anhand der verlinkten modcp.php habe ich versucht, einen Beitrag eines mehrseitigen Topics mit einem Thread zusammenzuführen, der sich auf der 2. Übersichtsseite eines anderen Forums befindet. Beim Aufruf dieser zweiten Übersichtsseite (also der Threads Nr. 16-30 - ich wollte mit Thread Nr. 20 zusammenführen) habe ich folgende Fehlermeldung erhalten:
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.post_id ' at line 4

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 : 1882
File : modcp.php
Die Zeilen 1874-1882 der modcp.php lauten:

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);
Irgendwo ist da wohl noch der Wurm drin. :(

LG, Wolfgang
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ja, die Variable $topic_id enthält nichts. Mit nichts kann man nicht vergleichen also gibt es einen Fehler: "WHERE p.topic_id = AND". Die müsste wohl mit Inhalt gefüllt werden damit es funktionieren kann.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Und wie machen wir das, ohne jemanden zu schädigen? :lol:

LG, IPB_Flüchtling
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Vielleicht erfolgt der Aufruf der Seite nicht ganz korrekt ? Denn diese Variable wird eigentlich am Anfang der Seite mit Inhalt aus GET oder POST automatisch gefüllt und sollte daher auch an dieser Stelle zur Verfügung stehen (Wobei ich mich auch irren kann da ich mir die Datei nicht SO genau angesehen habe, vielleicht wird sie auch an anderer Stelle überschrieben). Schau dir mal den Link oder das Formular an, mit dem du die Seite für diese Funktion aufrufst. Steht da ein "t=xxx" in der URL oder wird in einem Formularfeld der Name t verwendet ?
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Parse Error
Mitglied
Beiträge: 272
Registriert: 27.12.2006 20:44
Kontaktdaten:

Beitrag von Parse Error »

Pagination für den Merge MOD

Jetzt funktioniert es.

P.E.
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“