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!
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.
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)
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?
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.
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
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.