Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

Forum Sefrengo.org _ Hacks/ Sonstiges _ Unterschiedliche Bildgrößen auf "Anfrage"...

Geschrieben von: saschapi Sun. 3. December 2006, 23:06

So, während ich nach einem ImageEditor gesucht habe bin ich auf folgenden Codeschnippsel gestoßen.

ACHTUNG! Der Hack ist übelst und sollte nicht in einem Produktivsystem eingesetzt werden. Vermutlich sind große Sicherheitslücken drin. Es geht hier erstmal nur ums Anschauen und Rumspielen!


Worum geht es überhaupt?
Ich hatte immer das Problem, dass meine Redakteure Bilder hochladen, die möglicherweise nicht die korrekte Größe haben. Vor allem bei Galerien wurde da gerne mal direkt aus Digitalkameras reinkopiert.
Nun wird ja das Sefrengo Thumbnail direkt erstellt, dass ist also da. Dummerweise brauche ich öfter aber auch passende Bilder in Groß oder in ganz anderen Größen.
Manchmal auch ein und das selbe Bild in 3-4 Größen.

Lösung
In dem anghängten Zipfile befindet sich eine htaccess datei und eine image.php.
Durch die modifizierte Sefrengo htaccess Datei wird ein Bild auch mit anderen Adressen erreichbar:
Orginal:
http://www.domain.de/media/images/testbild.jpg
Zusätzlich:
http://www.domain.de/media/images/small/testbild.jpg
http://www.domain.de/media/images/medium/testbild.jpg
http://www.domain.de/media/images/large/testbild.jpg

Per ModRewrite wird das ganze dann auf die image.php umgeleitet.
Diese erstellt Bilder in der gewünschten, Voreingestellten Größe.
Das Bild wird sogar gecached und in ein cache verzeichnis geschrieben. Bei erneutem Aufruf wird getestet ob das Bild schon erstellt wurde und ob sich das Orginal verändert hatte seit dem.
Wen nicht wird das Bild aus dem Cache genommen.

Damit kann ich jetzt super Module schrauben, indem ich zum Beispiel anstelle des Orginals gleich die Größe nutze, die ich an der STelle haben will. So kann der Redakteur dann ein Bild auswählen und sollte es zu groß sein, wird es runter gerechnet.

Installation
  1. htaccess Datei in den Root kopieren
  2. image.php in den Root kopieren
  3. Ordner "cache" im Root erstellen und 777 chmod geben
ToDo
- Testen und vor allem Sicherheitslücken klären. Stelle mir vor, dass ich durch die Übergabe von $path und $image große Scheunentore aufgemacht habe! wink.gif
- Besser an Sefrengo anbinden und konfigurierbar machen
- Bildgrößen konfiguration flexibeler machen und aus der htaccess datei holen

und ganz wichtig:
- Feedback von Euch einholen!!!!


So, was sagt ihr dazu? Das ersetzt meines Erachtens nicht einen guten Dateimanager im Backend, der das komfortable Bearbeiten von Bildern ermöglicht (min. Drehen, Beschneiden und Skalieren), hilft aber schon mal bei vielen Problemen! smile.gif

Freu mich auf Feedback.
 imagecache.zip ( 1.71KB ) : 26

Geschrieben von: saschapi Sun. 3. December 2006, 23:17

Hier sammel ich dann mal Eure Hinweise und fasse zusammen.

Bekannte Bugs, Sicherheitslücken

Feature Request

Geschrieben von: gunwalt Sun. 3. December 2006, 23:45

es gab mal ein cms mit Namen Siteassistant. Dort wurden alle Bilder direkt in drei Grösen hinterlegt. Ich habe es noch irgendwo. Vielleicht kannst Du dort noch einige Tipps kriegen.

Geschrieben von: MaZderMind Mon. 4. December 2006, 00:39

Hi
Idee & Umsetzung: Super! Auf sowas wär ich garnich gekommen biggrin.gif
Zum testen hab ich nur momentan keine Zeit *g*

Gruß, Peter

Geschrieben von: amk Mon. 4. December 2006, 01:14

jep kann man so machen - on-demand-skalieren... mache ich bei einigen pics auf gothmund auch so - nur ohne htaccess - gute idee eigentlich.

ich poste hier mal meine funktion die ich auf gothmund verwende. auch nur zusammengehackt und hingebogen ... aber: vorteil davon ist das also auch gif und png möglich ist und das es bzgl. der resize-kalkulation genügt nur höhe oder nur breite anzugeben. vielleicht braucht ihr's ja.

QUELLTEXT
function resize( $filein,$fileout,$maxwidth="",$maxheight="")
{

// Get new dimensions
list($width, $height) = getimagesize($filein);
list($width_orig, $height_orig) = getimagesize($filein);

   if(preg_match("/.jpg/i", "$filein"))
   {
       $format = 'image/jpeg';
   }
   if (preg_match("/.gif/i", "$filein"))
   {
       $format = 'image/gif';
   }
   if(preg_match("/.png/i", "$filein"))
   {
       $format = 'image/png';
   }
  
       switch($format)
       {
           case 'image/jpeg':
           $image = imagecreatefromjpeg($filein);
           break;
           case 'image/gif';
           $image = imagecreatefromgif($filein);
           break;
           case 'image/png':
           $image = imagecreatefrompng($filein);
           break;
       }


    if(($maxwidth && $width_orig > $maxwidth) || ($maxheight &&  $height_orig > $maxheight)){
        if($maxwidth && $width_orig > $maxwidth){
            $widthratio = $maxwidth/$width_orig;
            $RESIZEWIDTH=true;
        }
        if($maxheight &&  $height_orig > $maxheight){
            $heightratio = $maxheight/ $height_orig;
            $RESIZEHEIGHT=true;
        }
        if($RESIZEWIDTH && $RESIZEHEIGHT){
            if($widthratio < $heightratio){
                $ratio = $widthratio;
            }else{
                $ratio = $heightratio;
            }
        }elseif($RESIZEWIDTH){
            $ratio = $widthratio;
        
        }elseif($RESIZEHEIGHT){
            $ratio = $heightratio;
        }
    $width = $width * $ratio;
    $height = $height * $ratio;
    }

$thumb = imagecreatetruecolor($width , $height);
if (function_exists(imageantialias))
    imageantialias($thumb,true);
imagealphablending($thumb, true);

imagecopyresampled($thumb, $image, 0, 0, 0, 0,$width, $height, $width_orig, $height_orig);

imagejpeg($thumb, $fileout,95);

@imagedestroy($image);
@imagedestroy($thumb);
unset($filein,$fileout,$maxwidth,$maxheight);
}

Geschrieben von: saschapi Mon. 4. December 2006, 09:20

@AMK:
Super, Danke.
Gif und PNG Support sollen natürlich nachgezogen werden. smile.gif

@All: Schön, dass die Idee erstmal gefällt. Was sagt ihr denn zum Thema Sicherheit. Kann man den $path und §image ausnutzen um Schadcode einzuführen?
Reicht es $path auf das Mediaverzeichnis zu beschränken?
Kann man durch die nachträgliche CHMODisierung böse sachen machen?

Ich bin einfach nicht so Hackerfirm wink.gif

Geschrieben von: Olaf Mon. 4. December 2006, 11:20

Auf jeden Fall solltest du die Variablen auf böse Zeichen überprüfen.

Die Einbindung, sozusagen im Frontend, gefällt mir persönlich nicht. Besser wäre doch das Script im Backend unbemerkt mit auszuführen. Sozusagen an den Dateiabgleich oder ander Stelle zu koppeln und dann gleichzeitig die 3 Größem mit zu generieren. Dann speichern unter BILD_large.jpg usw.
Dann in der htaccess darauf umleiten. Somit spart es das ganze Verzeichniserstellen und die Bildchen sind im DM verfügbar.

Geschrieben von: bkm Mon. 4. December 2006, 11:51

Eine Idee wäre vielleicht auch das Einbinden von http://phpthumb.sourceforge.net/ .

Geschrieben von: saschapi Mon. 4. December 2006, 16:40

ZITAT(Olaf @ Mon. 4. December 2006, 11:20) *
Die Einbindung, sozusagen im Frontend, gefällt mir persönlich nicht. Besser wäre doch das Script im Backend unbemerkt mit auszuführen. Sozusagen an den Dateiabgleich oder ander Stelle zu koppeln und dann gleichzeitig die 3 Größem mit zu generieren. Dann speichern unter BILD_large.jpg usw.
Dann in der htaccess darauf umleiten. Somit spart es das ganze Verzeichniserstellen und die Bildchen sind im DM verfügbar.


Ne ne, das ist mir für diesen Ansatz zu unflexibel. Da lege ich mich ja wieder im vorhinein auf irgendwelche Größen fest.
Es ist einfach furchtbar blöd, wenn man sich da beschränkt, zumal ich das einfach als Hack sehe. Langfristig müssen da eh intelligente Lösungen her, was das Image handling angeht. Könnte mir vorstellen, dass über das API das skalieren auf die dem Einsatzzweck gewünschte größe passieren kann.
Das wäre so ähnlich wie in meinem Beispiel, nur dass ich dann z.B. einfach in der Pic-Galerie die gewünschte Größe eingeben kann und im Dateimanager dann im Bedarfsfall einfach ein resizestes Bild in der Größe generiert wird.

ZITAT(bkm @ Mon. 4. December 2006, 11:51) *
Eine Idee wäre vielleicht auch das Einbinden von http://phpthumb.sourceforge.net/ .

Siehe oben. Sefrengo hat dafür ja schon viel Werkzeug mit drin. Soweit ich das sehe ist die Funktionalität vorhanden, nur die Umsetzung ist leider noch nicht da.

Die Lösung so ist erstmal ein Workaround, der einem die Arbeit erleichtert, bis es etwas am Kern geschraubtes geben kann. smile.gif

Geschrieben von: amk Mon. 4. December 2006, 17:25

also ich denke es wäre gar nicht so schwer SF um die funktionalität zu erweitern, neben einer ordnerbeschreibung bspw. auch max-w und max-h für bilder-uploads für den entsprechenden ordner einzugeben (ich glaub ich erwähnte das schon irgendwo). beim upload wird dann automatisch 'n resize ausgeführt - fertig. sowas würde mir für den dateimanager komplett genügen.

ansonsten halte ich so ein resize-on-demand für gar nicht so schlecht - vielleicht nicht unbedingt permanent per htaccess, aber der cms-tag "image" könnte um eine solche funktionalität erweitert werden - bspw. resizex resizey attribute welche dann im frontend die bilddatei serverseitig skalieren - natürlich inkl. caching. auch ne idee imho.

Geschrieben von: saschapi Mon. 4. December 2006, 17:58

ZITAT(amk @ Mon. 4. December 2006, 17:25) *
also ich denke es wäre gar nicht so schwer SF um die funktionalität zu erweitern, neben einer ordnerbeschreibung bspw. auch max-w und max-h für bilder-uploads für den entsprechenden ordner einzugeben (ich glaub ich erwähnte das schon irgendwo). beim upload wird dann automatisch 'n resize ausgeführt - fertig. sowas würde mir für den dateimanager komplett genügen.

Muss sagen, dass mein Bedarf wohl noch etwas weiter geht. smile.gif Aber diesen kann man durchaus über Plugins etc. decken.
ZITAT(amk @ Mon. 4. December 2006, 17:25) *
ansonsten halte ich so ein resize-on-demand für gar nicht so schlecht - vielleicht nicht unbedingt permanent per htaccess, aber der cms-tag "image" könnte um eine solche funktionalität erweitert werden - bspw. resizex resizey attribute welche dann im frontend die bilddatei serverseitig skalieren - natürlich inkl. caching. auch ne idee imho.

Sowas fände ich auch ultra nett und entspricht in etwas dem was ich vorgeschlagen hatte. Dummerweise bin ich dazu widerum nicht fähig genug. Daher auch diese Hackbastellösung

Geschrieben von: amk Mon. 4. December 2006, 18:12

jup Sascha, hab mich mit dem core & den tags auch noch nicht auseinandergesetzt. aber was nicht ist kann ja noch ... smile.gif

Geschrieben von: Daniel Wed. 6. December 2006, 01:59

Schön smile.gif solche hübschen .htaccess Lösungen mag ich. Hab damit z.B. eine on-the-fly JS- und CSS-Dateien Komprimierung implementiert.

Zur Sicherheit:

Nach

QUELLTEXT
$path = $_GET["path"];
$image = $_GET["image"];


sollte man noch einige checks machen, sonst könnte man das Skript mißbrauchen, um jede Datei, die der Webserver beschreiben kann, zu löschen:

QUELLTEXT
$pathinfo = pathinfo($path.$image);
if (strpos($pathinfo["dirname"], '..')!==false) die("not allowed");
if (!preg_match('~^(jpg|gif|png)$~', $pathinfo["extension"])) die("wrong extension");
if (!file_exists($path.$image)) die("file not found");
(code untested)

Außerdem kann man noch
QUELLTEXT
RewriteCond %{REQUEST_FILENAME} !-f

vor die RewriteRules schreiben:
QUELLTEXT
# scaling small, medium, large
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)small/([A-Za-z0-9]+).(jpg|gif|png)$ image.php?max_width=100&path=$1&image=$2.$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)medium/([A-Za-z0-9]+).(jpg|gif|png)$ image.php?max_width=200&path=$1&image=$2.$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)large/([A-Za-z0-9]+).(jpg|gif|png)$ image.php?max_width=300&path=$1&image=$2.$3 [L]
(code untested)

Damit ist sichergestellt, dass Dateien, die wirklich unterhalb eines Ordners small/ liegen, nicht durch dein Skript geschoben werden sondern direkt ausgeliefert werden.



Wenn du das Skript noch erweitern möchtest, führe doch auch noch die Behandlung von If-Modified-Since-Abfragen des Browsers ein, das verringert die Serverlast nochmal und verbessert die cachability der Bilder. Damit fühlen sich die Bilder dann wirklich wie "richtige" Bilder an.

Geschrieben von: MaZderMind Thu. 7. December 2006, 22:30

Hi
Mir ist grad was aufgefallen:
Aus dem http://wiki.sefrengo.org/index.php/Ref_cms_tags#.3Ccms:mod_type.3D.22image.22_.2F.3E

QUELLTEXT
<cms:mod
type = "image" (Pflichtfeld)
id = "[id]"
[...]
width = "true|false|[digit]"
height = "true|false|[digit]"
autoresize = "false|true"         <---
[..]
/>


Wenn man autoresize aktiviert wird von Sefrengo automatisch ein Vorschaubild erstellt, welches die auf der längeren Seite genau die angegebene Größe hat.

Gruß, Peter

Geschrieben von: saschapi Fri. 8. December 2006, 10:24

WARUM SAGT DAS DENN KEINER biggrin.gif Ist das echt so? muss ausprobiert werden! Wäre ja ein killerfeature!

Geschrieben von: MaZderMind Sat. 9. December 2006, 20:33

Ja hab mir auch gedacht dass das mal etwas größer bekannt gegeben serden sollte *g*
Leider wird die angelegte Datei im Ressource-Browser nicht als Dateiformat angezeigt sondern als eigene Datei.. smile.gif

Gruß, Peter

Geschrieben von: amk Thu. 25. January 2007, 09:35

ZITAT(bkm @ Mon. 4. December 2006, 11:51) *
Eine Idee wäre vielleicht auch das Einbinden von http://phpthumb.sourceforge.net/ .


danke für den tipp - das ding heisst zwar phpThumb() aber is trotzdem ziemlich gut wink.gif ... vielleicht etwas überladen mit all den features aber es macht inkl. der unscharfmaske 1A thumbs ... und lässt sich auch problemlos mit mod_rewrite einsetzten (imho) ...

Geschrieben von: bkm Thu. 25. January 2007, 13:56

ZITAT(amk @ Thu. 25. January 2007, 09:35) *
danke für den tipp - das ding heisst zwar phpThumb() aber is trotzdem ziemlich gut wink.gif ...

laugh.gif laugh.gif laugh.gif

ZITAT
vielleicht etwas überladen mit all den features aber es macht inkl. der unscharfmaske 1A thumbs

Fakt ist sowas überladen wenn man nur ein "Feature" braucht (aber sonst ganz nett und OS)
Zum reinen erstellen von Thumb langt doch auch SF (Pear Image) und mit MaZderMind Beispiel gehts
einfach im Format original.jpg nach original_BreiteXHöhe.jpg

Geschrieben von: amk Thu. 25. January 2007, 14:02

wie gesagt die unscharfmaskierung ist ziemlich gut imho ... naja und die cache organisation usw. ... schon gut das dingens! smile.gif

Geschrieben von: saschapi Thu. 25. January 2007, 15:00

Langfristig hätte ich trotzdem gerne einen web2.0 artigen Imagebearbeiter im Backend wink.gif

Geschrieben von: davelee Thu. 21. February 2008, 12:15

@saschapi

Ich habe gerade deine Resize funktion ausprobiert, jedoch habe ich damit meine Probleme wenn ich im Root verzeichniss die vorhandene .htaccess Datei um folgenden Code erweitere:

QUELLTEXT
RewriteBase /
# scaling small, medium, large
RewriteRule (.*)small/([A-Za-z0-9]+).(jpg|gif|png)$ image.php?max_width=100&path=$1&image=$2.$3
RewriteRule (.*)medium/([A-Za-z0-9]+).(jpg|gif|png)$ image.php?max_width=200&path=$1&image=$2.$3
RewriteRule (.*)large/([A-Za-z0-9]+).(jpg|gif|png)$ image.php?max_width=300&path=$1&image=$2.$3


funktioniert die REWRITE funktion unter SF nicht mehr. sad.gif

Hast du vieleicht einen Rat für mein Problem ?
(Hab auch versucht die .htaccess Datei zu mit deiner zuerstetzen jedoch funktioniert dies auch nicht)

LG David

Geschrieben von: saschapi Thu. 21. February 2008, 13:12

Vermute du hast das Projekt nicht im Root? Versuch mal die Rewrite-Base an dein Projekt anzupassen (z.B. /projekt01/) Mehr weiß ich aber auch nicht! sad.gif

Geschrieben von: davelee Thu. 21. February 2008, 16:40

Danke dir das war das Problem - ich habe fälschlicher weise angenommen das ich die angabe relativ zum htaccess-Dokument anzugeben ist.

Jedoch funktioniert das script noch immer nicht- wegen was auch immer unsure.gif

Geschrieben von: davelee Fri. 22. February 2008, 09:03

Ich bin jetzt draufgekommen was mein Problem war.

Das Script funktioniert nicht wenn der Dateiname wie folgt aufgebaut ist:
02.22.mein_Bild.JPG

Die Änderung in der htaccess Datei:

QUELLTEXT
von
([A-Za-z0-9]+).(jpg|gif|png)

auf

([A-Za-z0-9._-]+).(jpg|gif|png|JPG|GIF|PNG)


Update:
In der Image.php habe ich
QUELLTEXT
imagecopyresized
auf
imagecopyresampled

geändert da die saschapi-thumbnails etwa aufgepixelt dargestellt wurden.

@saschapi
Nochmals Danke für diesen Hack

David

Geschrieben von: davelee Mon. 17. March 2008, 17:31

saschapi@

Ich hätte eine Frage zur verwendung des Hacks,
Ich wollte diesen Hack mit Listflex ausprobieren, jedoch weis ich nicht wie ich mit diesem Modul die Pfadangabe manipulieren kann.

(wie z.B. bei der PIC Gallery)

<a href="{path}large/{file}" title="{title}"><img src="{path}{thumbfile}" alt="{filedesc}" /></a>

Habe ich da eine falsche Vorgehensweise?

Geschrieben von: saschapi Mon. 17. March 2008, 19:36

Ich kenn jetzt die Möglichkeiten von Listflex nicht, aber da wird es doch vermutlich ähnlich sein wie in deinem Beispiel Das erscheint mir nämlichrichtig! wink.gif

Geschrieben von: davelee Tue. 18. March 2008, 09:43

Das ist eben mein problem, es gibt nur {imagurl:x} das den ganzen Pfad des Bildes angibt.
Bei Contentflex ( bzw. Bild 1.2) ist so viel ich weis das gleiche.



In welchen fällen verwendest du deinen Hack ( falls diese frage gestattet ist wink.gif ) ?


Geschrieben von: saschapi Tue. 18. March 2008, 09:46

Ich nutzte das Ding mal für eine Bildgalerie... Da ist es nicht so wink.gif
Vielleicht kannst du dir mal im Output der Galerie und in dem von dir genutzten Modul anschauen wie du es umrüsten kannst.

Geschrieben von: davelee Tue. 18. March 2008, 09:53

Danke, werde ich mir anschauen

Geschrieben von: davelee Wed. 19. March 2008, 13:15

Wie es ausschaut übersteigt die modifzierung des Moduls Listlex meine fähigkeiten sad.gif

Aber danke dir für deine Hilfe

David

Geschrieben von: bkm Wed. 19. March 2008, 20:52

in der galerie funktioniert das ganze weil die werte aus der db gebaut werden.
bild 1.2 , list- && cflex benutzen cms:tags , die ja auf bestimmte art vorgegeben und nicht immer
einheitlich sind. ( so gibt es im cms:tag <<file>> filename aber im <<image>> ist dieser nicht vorhanden.
dafür könnte man aber das ganze mit <<basename>> ausgeben.

output im bild 1.2

QUELLTEXT
<?PHP
$myImage['style'] = "MOD_VALUE[4]";
$myImage['desc'] = <cms:mod type="image" id="1" mode="desc" addslashes="true" />;
//Stylesheet für Text hinzufügen
$myImage['desc'] = (  "MOD_VALUE[4]" == "") ? $myImage['desc'] : '<span class="MOD_VALUE[4]">'. $myImage['desc'] .'</span>';
//Gibt es mehrere Tags, bei denen type und id gleich sind, ist es wichtig, dass das letzt "gleiche" Element alle erweiterten
//Konfigurationsvariablen enthält (z.B. folders, subfolders) . Den nur die Variablen des "letzten" Tags können im Formular
//weiterverarbeitet werden. Andernfalls bleibt z.B. die Auswahl von bestimmten Dateitypen ohne Wirkung.
$myImage['fmtitle']     = <cms:mod type="image" id="1" mode="fmtitle" addslashes="true" />;
$myImage['fmdesc']      = <cms:mod type="image" id="1" mode="fmdesc" addslashes="true" />;
$myImage['filesize']    = <cms:mod type="image" id="1" mode="filesize" addslashes="true" />;
$myImage['filethumb']    = <cms:mod type="image" id="1" mode="thumb" addslashes="true" />;
$myImage['imagename']    = basename(<cms:mod type="image" id="1" mode="url" addslashes="true" menuoptions="false"  />);
$myImage['imageurldavelee']= str_replace($myImage['imagename'],"",<cms:mod type="image" id="1" mode="url" addslashes="true" menuoptions="false" />);
$myImage['image']       = <cms:mod type="image" id="1" title="MOD_VALUE[0]"  filetypes = "MOD_VALUE[5]" folders = "MOD_VALUE[6]" subfolders ="MOD_VALUE[7]" menuoptions ="MOD_VALUE[8]" addslashes="true" />;

$myTplVars['style']     = '{style}';
$myTplVars['desc']      = '{desc}';
$myTplVars['fmtitle']   = '{fmtitle}';
$myTplVars['fmdesc']    = '{fmdesc}';
$myTplVars['filesize']  = '{filesize}';
$myTplVars['imagethumb']     = '{imagethumb}';
$myTplVars['imagename']     = '{imagename}';
$myTplVars['imageurldavelee']  = '{imageurldavelee}';
$myTplVars['image']     = '{image}';

$myTpl = "MOD_VALUE[2]";

$myTpl = str_replace($myTplVars, $myImage, $myTpl);
eval('?>'.$myTpl);
unset($myTpl, $myTplVars, $myImage);
?>


deine ausgabe
QUELLTEXT
<a href="{imageurldavelee}large/{imagename}" title=" ">{imagethumb}</a>

sad.gif habe das aber nicht getestet, weil das gerade hier im editor entstanden ist wink.gif

Geschrieben von: davelee Wed. 19. March 2008, 22:42

Funktioniert super im Bild 1.2 - Danke

Aber bei Listflex habe ich meine Probleme

Die Ausgabe ist folgende:

QUELLTEXT
<a href="media/bild.JPGlarge/bild.JPG"><img src="media/bild_cms_thumb.jpg" /></a>


in Listflex habe ich im output folgendes eingefügt:

QUELLTEXT
if (strpos($modv['tpl_checkup'],'{imagename:1}')!==false)        
        $elements['imagename:1']         = basename(<cms:mod type="image" id="1" mode="url" addslashes="true" menuoptions="false"  />);

if (strpos($modv['tpl_checkup'],'{imagedavelee:1}')!==false)        
        $elements['imagedavelee:1']         = str_replace('imagename:1',"",<cms:mod type="image" id="1" mode="url" addslashes="true" menuoptions="false" />);



ich bin leider kein Modul experte wie man vieleicht merkt

Geschrieben von: bkm Thu. 20. March 2008, 00:36

kann ich dir so auch nicht sagen habe ich noch nie benutzt, sieht aber so aus als könnte es so gehen

QUELLTEXT
if (strpos($modv['tpl_checkup'],'{imagedavelee:1}')!==false)        
        $elements['imagedavelee:1']         = str_replace($elements['imagedavelee:1'],"",<cms:mod type="image" id="1" mode="url" addslashes="true" menuoptions="false" />);

ich wäre dafür das z.B. einheitlich in allen dafür geeigneten cms:tags
path & url ohne dateinamen auszugeben und getrennt dazu den filenamen (wie cms:tag file).


Geschrieben von: davelee Thu. 20. March 2008, 07:55

Es hat leider nichts gebracht ich habe leider wieder die gleiche Ausgabe sad.gif

ich wäre übrigens auch dafür das path & url einheitlich in den Modulen vorhanden wäre wink.gif

Geschrieben von: davelee Thu. 20. March 2008, 13:02

So habs jetzt biggrin.gif biggrin.gif biggrin.gif :

QUELLTEXT
if (strpos($modv['tpl_checkup'],'{imagedavelee:1}')!==false)        
        $elements['imagedavelee:1']         = str_replace($elements['imagename:1'],"",<cms:mod type="image" id="1" mode="url" addslashes="true" menuoptions="false" />);



Update:

Im Anhang befindet sich das modifizierte Listflex modul
Die verlinkung ist jetzt anzusprechen mit {path} und {imagename}

z.B.

QUELLTEXT
<a href="{path}large/{imagename}" title=" ">{imagethumb}</a>


 ListFlex_mit_path_und_imagename.cmsmod ( 149.19KB ) : 3




@Bkm Vielen dank für deine Hilfe

Geschrieben von: davelee Tue. 1. July 2008, 15:03

Habe wiedermal ein Problem mit diesem Hack unsure.gif

Bei meinem aktuellen Projekt werden im cache Ordner nur die Unterordner erstellt aber keine verkleinerten Bilder angelegt.
Kann es sein das dieses Script nicht richtig funktioniert weil bei PHP Safemode auf ON eingestellt ist und die Sicherheitseinstellung dies verhindert?

Ich kann es leider nicht ausprobieren weil der Provider diese Einstellungen nicht ändern will


Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)