Bildergalerie mehrmals benutzen

Gesperrt
Flex32
Beiträge: 175
Registriert: Mi 17. Nov 2004, 13:23
Kontaktdaten:

Bildergalerie mehrmals benutzen

Beitrag von Flex32 »

was muss ich an dem code ändern damit ich die bildergalerie mehrmals benutzen kann aber jeweils mit unterschiedlichen bildern, nutze V4.4.4

input

Code: Alles auswählen

$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\">
        <tr valign=\"top\">
          <td>Einzelbild-Seite</td>
           <td>
            <select name=\"CMS_VAR[0]\">";

echo "<option value=1 ";
if ($selected == 1){
   echo " selected ";
}
echo ">PopUp-Fenster</option>";
echo "<option value=0 ";
if ($selected == 0){
   echo " selected ";
}
echo ">diese Seite</option>";

echo "</select>";
echo "      </td>
</tr>
        <tr>
        <td>
        Image-Directory:
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\">
   </td>
     </tr>

        <tr>
        <td>
        Thumbnail-Directory:
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\">
   </td>
     </tr>
               
        <tr>
        <td>
        Image-Dateieendung (z.B. .jpg;.gif):
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\">
   </td>
     </tr>

        <tr>
        <td>
         Thumbnailtabelle in Spalten x Zeilen:
       </td>
            <td>
          <input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\">
   </td>
     </tr>
       

        <tr>
        <td>
         Thumbnailgr&ouml;sse in XxY:
       </td>
            <td>
          <input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\">x<input size=3 maxlength=2 type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\">
   </td>
     </tr>

        <tr>
        <td>
        Pfad zum ImageMagick (optional):
       </td>
            <td>
          <input size=20 type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\">
   </td>
     </tr>
       
      </table>";

// ENDE INPUT

Output

Code: Alles auswählen

<?

$imagedir="CMS_VALUE[2]";
$thumbnails="CMS_VALUE[3]";
$imagetypes=explode(";","CMS_VALUE[4]");
$rows="CMS_VALUE[6]";
$cols="CMS_VALUE[5]";

$thb_x_size="CMS_VALUE[7]";
$thb_y_size="CMS_VALUE[8]";

$image_idcat="CMS_VALUE[0]";
$image_idside="CMS_VALUE[1]";

$im_path="CMS_VALUE[9]";

//-- config ende -------------------------------------

function is_image($filename,$typearray) {
  reset($typearray);
  while($val=each($typearray)) {
     if (strstr($filename,$val[value])!==false) {
       return true;
     }
  }
}


// verkleinert ein Bild auf die angegebene Breite (bei Querformat) oder Höhe (bei Hochformat)
// Seitenverhältnisse werden beibehalten
function resizeImageGD($sourceFile, $targetFile, $newwidth=50, $newheight=50){
   $source = ImageCreateFromJpeg($sourceFile);
   $width  = ImageSx($source);
   $height = ImageSy($source);

   if ($width > $height){ // Querformat
      $newheight = $height*($newwidth/$width);
   }else{ // Hochformat
      $newwidth  = $width*($newheight/$height);
   }

   $target = ImageCreateTrueColor($newwidth,$newheight);
   // ÄNDERUNG vgl. Forums-Beitrag imagecopyresized ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
   imagecopyresampled ($target, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

   ImageJPEG($target,$targetFile,100);
}



//-- functions ende ----------------------------------

if (!isset($mmstart)) {
  $mmstart=0;
}

// Anzeige eines Bildes oder Übersicht?

if ($subfile!="") {
// Bild anzeigen
echo "<center><a href=\"javascript:history.back()\">zurück</a></center>";
echo "<br>";
echo "<img src=\"$subfile\">";
echo "<br>";
echo "<center><a href=\"javascript:history.back()\">zurück</a></center>";

} else {
// Gallery anzeigen

$handle=opendir($imagedir);

echo "<table>";
$n=0;
$filearray=Array();
while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && is_image($file,$imagetypes)) {
             $filearray[]=$file;
        }
}

reset($filearray);

// skip images...
for ($n=0;$n<$mmstart;$n++)
  $ffile=each($filearray);
$n=0;
while ($ffile=each($filearray)) {
             $file=$ffile[value];
             // generate thumbnail, if nessesairy. Now THIS is fun :)
             // natuerlich nur, wenn imagemagick vorhanden ist...
            if (!file_exists($thumbnails."/thb_".$file) ) {
               if ($im_path!="") {
                 $cmd=$im_path."/convert -scale ".$thb_x_size."x".$thb_y_size." ".$imagedir."/".$file." ".$thumbnails."/thb_".$file;

                 exec($cmd);
                 // nochmal prüfen!
                 $thumbnail=file_exists($thumbnails."/thb_".$file);
                } else{
                 // Bilder mit GD verkleinern
             @ini_set("max_execution_time", 120);
                 @resizeImageGD($imagedir."/".$file, $thumbnails."/thb_".$file, $thb_x_size,$thb_y_size);
                 $thumbnail=file_exists($thumbnails."/thb_".$file);
                }
            } else
              $thumbnail=true;
            if ($n%$cols==0)
              echo "<tr>\n";
            if ($image_idcat!=0)
              $url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcatside=$image_idcat&subfile=".rawurlencode($imagedir."/".$file));
            else
              $url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&idside=$idside&subfile=".rawurlencode($imagedir."/".$file));
            echo "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"#\" onClick=\"window.open('{$cfgClient[$client]["path"]["htmlpath"]}popupviewer.php?uri={$imagedir}/{$file}','bild','width=200,height=200,top=10,left=10,scrollbars=yes,topmargin=0,leftmargin=0');\">".($thumbnail ? "<img src=\"$thumbnails/thb_$file\" border=\"0\">":"$file")."</a></td>\n";
            $n++;
            if ($n%$cols==0)
              echo "</tr>\n";


        // nur solange wie's not tut...
        if ($n>=$rows*$cols)
          break;
    }
echo "<tr> <td colspan=\"$cols\" align=\"center\">";

if ($mmstart>0) {
  $url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart-$rows*$cols));
  echo "<a href=\"$url\">vorherige Bilder...</a>";
}

echo "<span style=\"font-size: 9pt;\">| zeige Bilder ".($mmstart+1)." - ".($mmstart+$n)." |</span>";

if ($n+$mmstart<count($filearray)) {
  $url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idside=$idside&mmstart=".($mmstart+$rows*$cols));
  echo "<a href=\"$url\">weitere Bilder...</a>";
}

echo "</tr>\n";
echo "</table>";
} // Ende Gallery anzeigen


echo "</p>";
?>
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

bau um die funktionen etwas herum wie

Code: Alles auswählen

if (!function_exists("funktionsname"))
{
     function funktionsname( ...)
    { ... }
}
*** make your own tools (wishlist :: thx)
Flex32
Beiträge: 175
Registriert: Mi 17. Nov 2004, 13:23
Kontaktdaten:

Beitrag von Flex32 »

kannst dud as vll mal beispielhaft zeigen, währe nett

gruß flex
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

Code: Alles auswählen

function is_image($filename,$typearray) { 
  reset($typearray); 
  while($val=each($typearray)) { 
     if (strstr($filename,$val[value])!==false) { 
       return true; 
     } 
  } 
}
wird zu

Code:

Code: Alles auswählen

if (!function_exists("is_image")) 
{ 

function is_image($filename,$typearray) { 
  reset($typearray); 
  while($val=each($typearray)) { 
     if (strstr($filename,$val[value])!==false) { 
       return true; 
     } 
  } 
}

} 
bei der anderen funktion selbe vorgangsweise...
*** make your own tools (wishlist :: thx)
Gesperrt