Viktor's Supportboard
Quickmenü
» Start
» Portal
» Kontakt
» Mitglieder
» Team

» Handy-Ansicht


Usermenü

» Registrieren

Login
Benutzername:
Passwort:

(Passwort vergessen?)

Database
» Database

Lizenzshop/Verwaltung
» Lizenzshop/Verwaltung


Allgemeines
» Themen der letzen 24 Stunden
» Beiträge von Heute
» Aktuelle Umfragen
» Themen als gelesen markieren
» Themen ohne Antwort

» F.A.Q
» Regeln
» Impressum
» Datenschutzerklärung

» Linkliste
» Partner
» Statistik

Kostenplichtige Hacks
» VG-Lizenz
» VG-Fotowettbewerb
» VG-Kontaktanzeige
» VG-Literatur-Verwaltung
» VGTreffen/Dater
» VGMusik/Video

Mein Hacks
» VGUser-Leaflet-Map
» VGUser-Google-Map
» VGClub-Map-Google
» User-Map
» Club-Map
» User-Locator
» Club-Locator
» Mitglieder Bilderupload
» VGOnlineList
» Teamspeak Onlineanzeige

Meine Banner
» Meine Banner

Statistik
Beiträge: 138.756 (Täglich: 23,37 )
Themen: 16.166
Mitglieder: 13.157
Neuestes Mitglied: irt99298.
Ausl. d. letzten Minute: 93%
Ausl. d. letzten 5 Minuten: 58%
Ausl. d. letzten 15 Minuten: 79%
Freier Webspace: 2 TB
PHP-Version: 7.3.10

Spenden

Partner
Mein Supportboard

MySQLDumper

Forum für Angehörige und Freunde von Krebspatienten

Wetter-Board

Make your Webserver

ABC-des Essens

IC-Netforum

ultimate-funultimate-fun

Steinadler-Bastelstübchen

Webseitenschutz

Werben

Viktor's Supportboard » Support » Hack & Addon Support (wBB2.3.x) » Bug in der modcp.php??? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Bug in der modcp.php???
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
C-Board C-Board ist männlich
wBB2-User


images/avatars/avatar-15951.jpg


Dabei seit: 11.05.2006
Beiträge: 457
1 Filebase-Einträge
Alter: 61 Jahre
wBB-Version: wBB2.3

Bewertung: 
11 Bewertung(en) - Durchschnitt: 6,09

Level: 41 [?]
Erfahrungspunkte: 2.256.446
Nächster Level: 2.530.022

273.576 Erfahrungspunkt(e) für den nächsten Levelanstieg



Bug in der modcp.php??? Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Durch Zufall habe ich an einem gerade installiertem wBB2.3.6pl2 etwas festgestellt, was nicht so läuft, wie es sein soll.

Es geht um die Funktion des Zusammenführens von Themen. Ich kann in einem Thread ja die administrative Option "zusammenführen" auswählen, dann öffnet sich ein Screen - erstellt durch die modcp.php mit diesem Codeabschnitt:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
/** merge thread **/
if ($action == 'thread_merge') {
    if (!isset($threadid)) error($lang->get("LANG_GLOBAL_ERROR_FALSELINK", array('$adminmail' => $adminmail)));

    if (!checkmodpermissions('m_can_thread_merge')) access_error();
    if (isset($_POST['send'])) {
        $merge_threadid 0;
        $merge_postid 0;
        $mergeurl $_POST['mergeurl'];

        // PHP 5.3 list ($script, $query) = split ('[?]', $mergeurl);
        list ($script$query) = preg_split ('/[?]/'$mergeurl);

        $values explode('&'$query);
        while (list($key$val) = each($values)) {
            list ($varname$value) = explode('='$val);
            if ($varname == 'threadid') {
                $merge_threadid intval($value);
                break;
            }
            if ($varname == 'postid') {
                $merge_postid intval($value);
                break;
            }
        }

        if ((!$merge_postid && !$merge_threadid) || $merge_threadid == $threadiderror($lang->get("LANG_MODCP_ERROR_CANTMERGE"));

        if ($merge_postid$merge_thread $db->query_first("SELECT t.* FROM bb".$n."_posts p, bb".$n."_threads t WHERE p.threadid=t.threadid AND p.postid='$merge_postid'");
        if ($merge_threadid$merge_thread $db->query_first("SELECT * FROM bb".$n."_threads WHERE threadid='$merge_threadid'");

        if (!$merge_thread['threadid'] || $merge_thread['threadid'] == $threadiderror($lang->get("LANG_MODCP_ERROR_CANTMERGE"));

        if ($merge_thread['lastposttime'] > $thread['lastposttime']) $db->query("UPDATE bb".$n."_threads SET replycount=replycount+'".($merge_thread['replycount'] + 1)."', lastposttime='$merge_thread[lastposttime]', lastposterid='$merge_thread[lastposterid]', lastposter='".addslashes($merge_thread['lastposter'])."' WHERE threadid='$threadid'");
        else $db->query("UPDATE bb".$n."_threads SET replycount=replycount+'".($merge_thread['replycount'] + 1)."' WHERE threadid='$threadid'");

        $db->query("DELETE FROM bb".$n."_threads WHERE threadid = '$merge_threadid'");
        $db->query("DELETE FROM bb".$n."_threads WHERE pollid = '$merge_threadid' AND closed=3");
        if ($merge_thread['important'] == 2$db->unbuffered_query("DELETE FROM bb".$n."_announcements WHERE threadid = '$merge_threadid'"1);
        $db->query("DELETE FROM bb".$n."_subscribethreads WHERE threadid = '$merge_threadid'");
        if ($thread['pollid']) {
            $db->query("DELETE FROM bb".$n."_polls WHERE pollid = '$merge_thread[pollid]'");
            $pollvotes " OR (id = '$merge_thread[pollid]' AND votemode=1)";
            $db->query("DELETE FROM bb".$n."_polloptions WHERE pollid = '$merge_thread[pollid]'");
        }
        else $pollvotes '';
        $db->query("DELETE FROM bb".$n."_votes WHERE (id = '$merge_threadid' AND votemode=2)$pollvotes");

        if ($merge_thread['boardid'] == $boardid) {
            $db->query("UPDATE bb".$n."_boards SET threadcount=threadcount-1 WHERE boardid IN ($boardid,$board[parentlist])");
            if ($board['lastthreadid'] == $merge_threadid$db->query("UPDATE bb".$n."_boards SET lastthreadid='$threadid' WHERE boardid IN ($boardid,$board[parentlist]) AND lastthreadid='$merge_threadid'");
            $db->query("UPDATE bb".$n."_posts SET threadid='$threadid', parentpostid=0 WHERE threadid='$merge_threadid'");
            $db->query("UPDATE bb".$n."_postcache SET threadid='$threadid' WHERE threadid='$merge_threadid'");
        }
        else {
            $oldboard $db->query_first("SELECT * FROM bb".$n."_boards WHERE boardid='$merge_thread[boardid]'");
            $merge_thread['replycount'] += 1;
            $db->query("UPDATE bb".$n."_boards SET threadcount=threadcount-1, postcount=postcount-'$merge_thread[replycount]' WHERE boardid IN ($oldboard[boardid],$oldboard[parentlist])");
            $db->query("UPDATE bb".$n."_boards SET threadcount=threadcount+1, postcount=postcount+'$merge_thread[replycount]' WHERE boardid IN ($boardid,$board[parentlist])");

            if ($oldboard['countuserposts'] == && $board['countuserposts'] == 0) {
                $result $db->query("SELECT COUNT(postid) AS posts, userid FROM bb".$n."_posts WHERE threadid='$merge_threadid' AND visible = 1 AND userid>0 GROUP BY userid");
                while ($row $db->fetch_array($result)) $db->query("UPDATE bb".$n."_users SET userposts=userposts-'$row[posts]' WHERE userid='$row[userid]'");
            }
            if ($oldboard['countuserposts'] == && $board['countuserposts'] == 1) {
                $result $db->query("SELECT COUNT(postid) AS posts, userid FROM bb".$n."_posts WHERE threadid='$merge_threadid' AND visible = 1 AND userid>0 GROUP BY userid");
                while ($row $db->fetch_array($result)) $db->query("UPDATE bb".$n."_users SET userposts=userposts+'$row[posts]' WHERE userid='$row[userid]'");
            }

            $db->query("UPDATE bb".$n."_posts SET threadid='$threadid' WHERE threadid='$merge_threadid'");
            $db->query("UPDATE bb".$n."_postcache SET threadid='$threadid' WHERE threadid='$merge_threadid'");

            if ($oldboard['lastthreadid'] == $merge_threadidupdateBoardInfo("$oldboard[boardid],$oldboard[parentlist]"0$merge_threadid);
            if ($board['lastposttime'] <= $merge_thread['lastposttime']) updateBoardInfo("$boardid,$board[parentlist]"$merge_thread['lastposttime']);
        }

        /* update global threadcount */
        $db->unbuffered_query("UPDATE bb".$n."_stats SET threadcount=threadcount-1"1);

        header("Location: thread.php?threadid=$threadid$SID_ARG_2ND_UN);
        exit();
    }

    $navbar getNavbar($board['parentlist']);
    eval("\$navbar .= \"".$tpl->get("navbar_board")."\";");

    $thread['topic'] = htmlconverter(textwrap($thread['topic']));

    $lang->items['LANG_MODCP_THREAD_MERGE_INFO1'] = $lang->get("LANG_MODCP_THREAD_MERGE_INFO1", array('$topic' => $thread['topic']));
    eval("\$tpl->output(\"".$tpl->get("modcp_thread_merge")."\");");
}


In den Zeilen 14 bis 25 wird mein Link geprüft, ob es sich um einen Thread oder ein Posting handelt. In Zeilen 29 und 30 wird jeweils eine SQL-Abfrage gestartet.

Wenn ich mich nun für einen Posting-Link entscheide, ist die Variable $merge_threadid nach wie vor mit 0 (Null) gefüllt (siehe Zeile 7).

Wie soll es denn dann klappen, dass eben diese Variable in den Zeilen 37ff zum löschen von DB-Einträgen genutzt wird?

Außer, dass der replycounter hochgesetzt wird, bleibt der Thread, aus dem der Posting-Link stammt, erhalten.

@Viktor

Habe ich etwas übersehen und dafür ist schon eine Lösung vorhanden? Oder würdest Du befürworten in Zeile 33 einzufügen:

php:
1:
$merge_threadid $merge_thread['threadid'];


Denn so klappt es mit dem Zusammenführen und der "andere" Thread ist tatsächlich gelöscht.

Gruß Mike
09.02.2012 19:05 C-Board ist offline Beiträge von C-Board suchen Nehmen Sie C-Board in Ihre Freundesliste auf Germany
Markus Dippold   Zeige Markus Dippold auf Karte Markus Dippold ist männlich
Chefingenieur


images/avatars/avatar-534.jpg

Zeige Markus Dippold auf Karte
Dabei seit: 23.06.2007
Beiträge: 303
0 Filebase-Einträge
Alter: 50 Jahre
wBB-Version: wBB2.3
PHP-Version: 7.2
MySQL-Version: 5.0.12-dev (????)
Wo bist du gehostet?: Host Europe

Bewertung: 
11 Bewertung(en) - Durchschnitt: 2,73

Level: 38 [?]
Erfahrungspunkte: 1.372.492
Nächster Level: 1.460.206

87.714 Erfahrungspunkt(e) für den nächsten Levelanstieg



RE: Bug in der modcp.php??? Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Hallo Mike,

ich habe ein wenig herumprobiert.
Es ist wirklich so, daß die Threads nicht zusammengefügt werden, wenn man einen Posting-Link des Threads angibt.
Es passiert einfach nichts. Gelöscht wird auch nichts, denn einen Thread mit der ID=0 gibt es nicht.

Mit
php:
1:
2:
3:
if (!$merge_threadid) {
    $merge_threadid $merge_thread['threadid'];
}

in Zeile 33 funktioniert's sowohl mit Thread-Link als auch mit Posting-Link.

In die Verlegenheit mit dem Posting-Link bin ich bisher noch nie gekommen, daher fiel mir das auch nicht auf.

Witzig ist jetzt folgendes:
Hat man die Threads mit dem Posting-Link zusammengefügt und drückt dann im Fenster/Tab vom alten (nichts mehr existierenden) Thread Reload im Browser, wird der Thread, in den das eingefügt wurde, angezeigt. Der Posting-Link ist ja nach wie vor der gleiche.
Beim Zusammenfügen über den Thread-Link bekommt man in dem Fall eine Fehlermeldung (Sie sind einem falschen Verweis gefolgt ...)

Gruß
Markus

__________________



Schwieriges dauert ein paar Sekunden, Unmögliches ein paar Minuten.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Markus Dippold: 09.02.2012 19:57.

09.02.2012 19:53 Markus Dippold ist offline E-Mail an Markus Dippold senden Homepage von Markus Dippold Beiträge von Markus Dippold suchen Nehmen Sie Markus Dippold in Ihre Freundesliste auf Germany
Viktor   Zeige Viktor auf Karte Viktor ist männlich
Administrator


images/avatars/avatar-15762.jpg

Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 29.961
363 Filebase-Einträge
Alter: 62 Jahre
Herkunft: NRW
wBB-Version: wBB2.3
PHP-Version: 7.1.11
MySQL-Version: 5.5.59-0+deb8u1
Wo bist du gehostet?: eigener Server

Bewertung: 
279 Bewertung(en) - Durchschnitt: 9,47

Level: 69 [?]
Erfahrungspunkte: 177.892.619
Nächster Level: 202.592.733

24.700.114 Erfahrungspunkt(e) für den nächsten Levelanstieg



RE: Bug in der modcp.php??? Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Hallo,

oh das ist mir noch gar nicht aufgefallen. geschockt

Muss ich mal schauen ob ich das Nachvollziehen kann. fröhlich

Danke für den Hinweis. Freude

EDIT:

Jo du hast Recht. Freude

Wenn man deine Änderung einbaut geht es. fröhlich

Gruß
Viktor Augenzwinkern

__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.


... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!


Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.

10.02.2012 20:20 Viktor ist offline E-Mail an Viktor senden Homepage von Viktor Beiträge von Viktor suchen Nehmen Sie Viktor in Ihre Freundesliste auf Germany
Dragonfly1
Routinier


images/avatars/avatar-15983.gif


Dabei seit: 02.09.2009
Beiträge: 413
0 Filebase-Einträge

wBB-Version: wBB2.3
PHP-Version: 5.3.10-1~dotdeb.0
MySQL-Version: 5.0.84

Bewertung: 
5 Bewertung(en) - Durchschnitt: 4,60

Level: 39 [?]
Erfahrungspunkte: 1.539.371
Nächster Level: 1.757.916

218.545 Erfahrungspunkt(e) für den nächsten Levelanstieg



Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Hallo ,
stimmt , ist mir auch noch nicht aufgefallen .
Was mir allerdings auffällt ist, das wenn ich Themen Teile oder zusammenfüge die Seitenanzahl nicht mehr stimmt .
Da erhalte ich auf einmal in einem Thema mit nur 2 Beiträgen eine Seitenanzahl von 3 ..
Wie kann das denn sein ?
---------------------------------------------------
EDIT : Habe die Anzeigen Aktualisiert und das Problem mit der Seitenzahl ist weg
aber es wird noch besser

Hab gerade mal die Anzeigen aktualisiert und die Foren syncronisiert und siehe da was passiert ist ... Letzter Beitrag wird nix mehr angezeigt und Themenzahl steht 0 was auch nicht stimmen kann

Jetzt kapiere ich nix mehr

Dateianhänge:
jpg Testbeitrag.jpg (33,11 KB, 44 mal heruntergeladen)
jpg Testbeitrag_1.jpg (16,04 KB, 41 mal heruntergeladen)

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Dragonfly1: 11.02.2012 10:50.

11.02.2012 10:41 Dragonfly1 ist offline Beiträge von Dragonfly1 suchen Nehmen Sie Dragonfly1 in Ihre Freundesliste auf Germany
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Viktor's Supportboard » Support » Hack & Addon Support (wBB2.3.x) » Bug in der modcp.php???

Impressum | Datenschutz | Fast-Index

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab® GmbH Design © Tine

Valid XHTML 1.0! Valid CSS! Die letzten Themen Die letzten Beiträge © für wbb2 by Bandy & cback.de Geblockte Angriffe: 24.698
Seo Sidemap Powert by 2Clubradio.de
Viktor's Supportboard, ist " Online " seit 16 Jahren, 93 Tage, 11 Stunden, 20 Minuten und 37 Sekunden