Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: TCPDF löscht einfach Bilder vom Server

  1. #1
    Contao-Fan Avatar von Stranger
    Registriert seit
    20.06.2009.
    Ort
    Blankenburg
    Beiträge
    746
    Partner-ID
    5635
    User beschenken
    Wunschliste

    Standard TCPDF löscht einfach Bilder vom Server

    Hallo,

    ich weiß nicht, ob das hier das richtige Forum dafür ist, aber ich habe ein blödes Problem bei TCPDF und Contao 4.4. Ich habe in einer PDF ein Bild eingebunden, das funktioniert mittels
    PHP-Code:
    $this->Image($strLogoSrc$x=22$y=12$w=85$h=''''''''false300''falsefalse0); 
    Das funktionierte bis Contao 4.4.26 ohne Probleme. Durch ein Upgrade auf Contao 4.4.46 löscht mir das TCPDF Script einfach das Bild vom Server.

    Im genaueren lag es daran: Updating tecnickcom/tcpdf (6.2.25 => 6.3.2): Downloading (100%)

    Ich konnte das Problem sehr gut eingrenzen und die folgenden Zeilen sind dafür verantwortlich:

    https://github.com/tecnickcom/TCPDF/...cpdf.php#L7785
    Zeile 7785 bis 7804

    Achtung... das lädt ewig. Ich weiß auch nicht wie man so clever sein kann und Dateien mit über 10.000 Zeilen Code zu verzapfen, aber egal...

    Dieser Entwickler tecnickcom hat einfach diesen nicht so cleveren Quatsch rein programmiert ála destroy. Ich hab keine Ahnung was das bringen soll und ob das nur im Zusammenhang mit Contao passiert. Aber es ist echt blöd.

    Das betrifft quasi die Datei \vendor\tecnickcom\tcpdf\tcpdf.php

    Ich habe diese Zeile

    PHP-Code:
            if (isset(self::$cleaned_ids[$this->file_id])) {            $destroyall false;        }        if ($destroyall AND !$preserve_objcopy) {            self::$cleaned_ids[$this->file_id] = true;            // remove all temporary files            if ($handle = opendir(K_PATH_CACHE)) {                while ( false !== ( $file_name = readdir( $handle ) ) ) {                    if (strpos($file_name, '__tcpdf_'.$this->file_id.'_') === 0) {                        unlink(K_PATH_CACHE.$file_name);                    }                }                closedir($handle);            }            if (isset($this->imagekeys)) {                foreach($this->imagekeys as $file) {                    unlink($file);                }            }        } 
    Durch diese ersetzt (alter Stand):
    PHP-Code:
            if ($destroyall AND !$preserve_objcopy) {            // remove all temporary files            $tmpfiles = glob(K_PATH_CACHE.'__tcpdf_'.$this->file_id.'_*');            if (!empty($tmpfiles)) {                array_map('unlink', $tmpfiles);            }        } 

    Das kann man natürlich Hardcore hardcoded machen, aber dann ist man natürlich auf dem update unsicheren Pfad unterwegs. Kann Contao vielleicht einfach so vorgehen, dass wieder die alte Version aktiviert wird oder kriegt man das irgendwie updatesicher kompatibel? Ich habe keine Ahnung an wen ich mich wenden soll. Den Entwickler kriegt man ja bestimmt nicht kontaktiert und selbst wenn hat der Typ doch bestimmt keine Ahnung davon was Contao überhaupt ist?
    Du willst dich bei mir bedanken?
    Ich freue mich über Geschenke von meiner Amazon-Wunschliste.

    Contao-Anwender seit 2008
    Contao-Entwickler seit 2013, mehr als 50 Contao Erweiterungen programmiert

    Mein Unternehmen aus Blankenburg (Harz): Fast & Media

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.803
    Partner-ID
    10107

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.803
    Partner-ID
    10107

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.803
    Partner-ID
    10107

    Standard

    Geiler Fehler. Ich kann mich dunkel erinnern, dass jemand hier im forum oder im Slack ein Problem hatte, wo Dateien einfach so verloren gehen und man wusste nicht warum. War dann wohl TCPDF dran schuld

  5. #5
    Contao-Fan Avatar von Stranger
    Registriert seit
    20.06.2009.
    Ort
    Blankenburg
    Beiträge
    746
    Partner-ID
    5635
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Geiler Fehler. Ich kann mich dunkel erinnern, dass jemand hier im forum oder im Slack ein Problem hatte, wo Dateien einfach so verloren gehen und man wusste nicht warum. War dann wohl TCPDF dran schuld
    Sehr "sinnig", dass du das Ticket dann wieder schließt.
    Freut mich dass dich der Fehler amüsiert. Ich find an dem Fehler nichts tolles, das hat mich mega Stress mit Kunden und einige Stunden Zeitverschwendung gekostet.
    Daran erkennt man mal wieder, dass man sich nicht auf andere Extensions und andere Leute verlassen sollte.
    Du willst dich bei mir bedanken?
    Ich freue mich über Geschenke von meiner Amazon-Wunschliste.

    Contao-Anwender seit 2008
    Contao-Entwickler seit 2013, mehr als 50 Contao Erweiterungen programmiert

    Mein Unternehmen aus Blankenburg (Harz): Fast & Media

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.803
    Partner-ID
    10107

    Standard

    Einen conflict in contao/conflicts eintragen hat ja nur dann Sinn, wenn der Fehler im direkten Zusammenhang mit Contao auftritt.

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.803
    Partner-ID
    10107

    Standard

    Moderation: Thema in das Entwickler Forum verschoben.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •