Seite 1 von 1

Pagination für den Merge Mod

Verfasst: 19.08.2006 00:45
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

Verfasst: 24.08.2006 21:13
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

Verfasst: 16.10.2006 17:17
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

Verfasst: 16.10.2006 17:44
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

Verfasst: 18.10.2006 22:31
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

Verfasst: 18.10.2006 23:14
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.

Verfasst: 19.10.2006 00:28
von IPB_Flüchtling
Und wie machen wir das, ohne jemanden zu schädigen? :lol:

LG, IPB_Flüchtling

Verfasst: 19.10.2006 15:08
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 ?

Verfasst: 28.03.2007 05:51
von Parse Error
Pagination für den Merge MOD

Jetzt funktioniert es.

P.E.