Bild-Upload

Hallo zusammen,

in 4.1.4 war es noch möglich durch das Entfernen der GDlib Version in den Einstellung (siehe #558) das manipulieren der Bilder zu verhindern.

Seit dem Update auf 4.1.6 werden dadurch gar keine Bilder mehr hochgeladen. Konnte zumindest keine Andere Ursache dafür ausfindig machen, gerade der der Upload mit eingetragener GDlib Version funktioniert.

Hat jemand eine Idee oder einen ähnlichen Trick, wie ich verhindern kann das OXID meine Bilder anfasst? Halte das für eine sehr wichtige Option!

Viele Grüße,

Upload per FTP ?
Nur wie man die richtigen Pfadangaben dann einpflegt kann ich dir ad hoc nicht sagen.

Hallo nochmal,

also ich habe “quick & dirty” ein Modul geschrieben, welches die Bilder nur kopiert und nicht anfasst.

oxutilsfile => sourceimg/my_oxutilsfile
article_pictures => sourceimg/myarticle_pictures

Wäre super wenn sich das mal ein OXID erfahrener Entwickler kurz ansehen könnte und ein paar Verbesserungsvorschläge geben würde.

Da die oxutilsfile sich selbst instanziert (Kann mir jemand erklären warum?), musste ich auch die article_pictures.php um folgende Zeile anpassen:

99: $oArticle = my_oxUtilsFile::getInstance()->processFiles( $oArticle );

In der oxutilsfile.php habe ich lediglich folgenden Block etwas modifziert:

463: // checking file type and building final file name
464: if ( $sSource && ( $sValue = $this->_prepareImageName( $sValue, $sType, $blDemo, $sImagePath ) ) ) {
465:
466: // moving to tmp folder for processing as safe mode or spec. open_basedir setup
467: // usually does not allow file modification in php’s temp folder
468: $sProcessPath = $sTmpFolder . basename( $sSource );
469: if ( ( $sTarget = $sImagePath . $sValue ) ) {
470: $this->_moveImage( $sSource, $sTarget );
471: // assign the name
472: if ( $oObject ) {
473: $oObject->{$sKey}->setValue( $sValue );
474: }
475: }
476: }

Wie gesagt, das war eine Lösung auf die Schnelle ohne mich groß in das System einzuarbeiten, die allerdings funktioniert. Über eine saubere Lösung wäre ich sehr dankbar.

Viele Grüße,

Hallo smonkey,

danke für Deinen Beitrag. Hast Du vielleicht noch eine Idee, wie man Bilder direkt über eine Bild-Url auf den eigenen Surfer laden kann ? ( In der Form: Bilddatei liegt unter http://image01.shop.com/m/7000_7999/7100/7140/7142/714235_ZB_00_FB.EPS.jpg und soll über Oxid auf den eigenen Server geladen werden)

Gruß Dirk

Hallo Dirk,

du möchtest also dass im Admin-Bereich von Oxid nur eine externe Adresse eingibst und der Shop automatisch das externe Bild zieht, anpasst, und auf dem eigenen Server speichert? So das du dir quasi den manuellen Schritt sparst das externe Bild erst lokal zu speichern und dann hochzuladen?

Danke für Deine schnelle Antwort. Ja genau.

Dirk

Das macht das ganze natürlich wieder um einiges komplizierter.
Man könnte z.B. prüfen ob im Bildnamen eine externe URL eingetragen ist, wenn ja mittels file_get_contents() o. Ä. die Datei laden und dann wie gehabt behandeln lassen.

Bist du einigermaßen fit in PHP?

Eher weniger, leider. Was wäre Deine Idee ?

Dirk

[QUOTE=smonkey;16587]Hallo nochmal,

also ich habe “quick & dirty” ein Modul geschrieben, welches die Bilder nur kopiert und nicht anfasst.

Wäre super wenn sich das mal ein Oxid erfahrener Entwickler kurz ansehen könnte und ein paar Verbesserungsvorschläge geben würde.

Da die oxutilsfile sich selbst instanziert (Kann mir jemand erklären warum?), musste ich auch die article_pictures.php um folgende Zeile anpassen:

In der oxutilsfile.php habe ich lediglich folgenden Block etwas modifziert:

Wie gesagt, das war eine Lösung auf die Schnelle ohne mich groß in das System einzuarbeiten, die allerdings funktioniert. Über eine saubere Lösung wäre ich sehr dankbar.

Viele Grüße,[/QUOTE]

Ich wollte gerade auch die oxutilsfile mit einem Modul erweitern, allerdings musst ich feststellen das es garnicht geht… was du gemacht hast ist für mich nich nachvollziehbar, aber mit Modularer erweiterung hat das nix zu tun…

ein Modul das du im Backoffice eintragen musst extended sich immer selbst_parent :slight_smile:
Ich habs zwar nich getestet, aber kann mir kaum vorstellen das das funktioniert. Ohne die Core Klasse zu überschreiben.

Wenn jmd eine Möglichkeit weiß wie man die oxutilsfile erweitern kann, oder ab wann man es kann, wär mir sehr geholfen.