27.02.2017
  • Betrifft Modul
  • seating
  • Meldezeitpunkt
  • Mittwoch, 21.09.2016 10:55
  • Letzte Änderung
  • Freitag, 28.10.2016 14:07
  • Status
  • Neu
  • Bearbeiter
  • Noch nicht zugeordnet
  • Text
  • Plötzlich waren bei mir alle Einträge im Sitzplan, die keine Sitze waren (also Gänge, Beschriftungen etc..) als offene Sitzplätze markiert.

    Wie genau das passiert ist, kann ich leider nicht nachvollziehen, aber ich habe die starke Vermutung, dass in /modules/seats/class_seat.php die Funktion
    function FreeSeatAllMarkedByUser($userid) mit dem Parameter "0" aufgerufen wurde. Das würde nämlich genau das verhalten nachstellen.

    Da das kein sinnvoller Parameter ist, ist mein Vorschlag, die Methode wie folgt zu ändern:

        function FreeSeatAllMarkedByUser($userid) {
            global $db, $party;
            /*
            $mark_seats = $db->qry("SELECT s.blockid, s.row, s.col FROM %prefix%seat_seats AS s
                    LEFT JOIN %prefix%seat_block AS b ON b.blockid = s.blockid
                 WHERE s.userid = %int% AND b.party_id = %string%", $userid, $party-party_id);
            
            while($res = $db->fetch_array($mark_seats)){

            }
            $db->free_result($row);
            */
            if ($userid != 0){
                $db->qry("UPDATE %prefix%seat_seats AS s
                        LEFT JOIN %prefix%seat_block AS b ON b.blockid = s.blockid
                        SET s.userid = 0, s.status = 1
                        WHERE s.userid = %int% AND b.party_id = %int% ", $userid, $party->party_id);
            }
        }

Kommentare
     
    MaLuZ
    24.10.2016 14:29
    Hi,

    das sieht soweit erstmal korrekt aus.
    Während es natürlich schon mal gut ist, den Aufruf zu vermeiden, wäre es natürlich besser das Problem direkt an der Ursache zu beheben. Irgendwoher muss ja der Aufruf kommen.
    Ich schmeisse es aber erstmal schon mal in GIT, damit der Workaround schon mal hilft.
    quote
    McWizard
    28.10.2016 14:07
    Hi,

    danke. Ich werde es weiter beobachten, kann aber auch nicht ausschließen, dass ich da einen Fehler gemacht habe. Ich hab Lansuite nämlich an einigen Stellen modifiziert, weil ich es für die Anmeldungen für unseren Kindersachenbasar nutze und daher versuche, das so einfach wie möglich zu machen. Unsere "Kunden" kennen sich mit IT deutlich schlechter aus als der typische Lanparty Besucher. Und mit Clans und IP Ranges würde ich sie eher abschrecken :]

    quote
    2 Einträge
    • Hinweis:
      Bitte loggen dich ein, bevor du einen Kommentar verfasst
    Eintrag #5810 in Tabelle "lansuite_comments" eingefügt MaLuZ 24.10.16
    14:29
    Eintrag #5811 in Tabelle "lansuite_comments" eingefügt McWizard 28.10.16
    14:07
    2 Einträge