Seite 2 von 2

Verfasst: Fr 11. Jun 2004, 11:09
von Halchteranerin
Auf Florians besonderen Wunsch hin :lol: kommt jetzt die endgueltige Version des Moduls fuer den im ersten Posting beschriebenen Sonderfall.

Input:

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :	    Bildergalerie BobCom 1.0
* Author      :     BobCom.de - Markus Schulz
* Copyright   :     BobCom.de - Markus Schulz
* Created     :     07-02-2004
* Modified    :     10-06-2004
************************************************/

$selected = "CMS_VALUE[0]"; 
$path1 = "CMS_VALUE[2]";
$path2 = "CMS_VALUE[3]";
$path2imagemagick = "/usr/bin";  // Voreinstellung fuer Imagemagick, kann durch die Angaben der Modulkonfiguration überschrieben werden (Am besten die Vorkonfiguration verwenden)
$imagemagick = "CMS_VALUE[9]";


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

// ".$cfg["tab"]["cat_tree"]." AS TREE
// ".$cfg["tab"]["cat_art"]." AS CATART
// ".$cfg["tab"]["cat"]." AS CAT
// ".$cfg["tab"]["cat_lang"]." AS CATLANG
// ".$cfg["tab"]["art_lang"]." AS ARTLANG

$sql = "SELECT * FROM ".$cfg["tab"]["cat_tree"]." AS TREE, ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["cat_lang"]." AS CATLANG, ".$cfg["tab"]["art_lang"]." AS ARTLANG WHERE TREE.idcat=CATART.idcat AND CATART.idcat=CATLANG.idcat AND CATLANG.idlang='$lang' AND CATART.idart=ARTLANG.idart AND ARTLANG.idlang='$lang' AND CAT.idcat=TREE.idcat AND CAT.idclient='$client' ORDER BY TREE.idtree"; 
$db->query($sql); 

        if ($selected != 0) { 
        echo "<option value=0>diese Seite</option>"; 
        } else { 
        echo "<option value=0 selected>diese Seite</option>"; 
        } 
        while ($db->next_record()) { 
        $spaces = ""; 
                for ($i=0; $i<$db->f("level"); $i++) { 
                $spaces = $spaces . "    "; 
                } 
                if ( $db->f("idcatart") != $selected ) { 
                echo "<option value=\"".$db->f("idcatart")."\">$spaces ".$db->f("name")."---".$db->f("title")."</option>"; 
                } else { 
                        echo "<option value=\"".$db->f("idcatart")."\" selected>$spaces ".$db->f("name")."---".$db->f("title")."</option>"; 
                } 
        } 
echo "</select>"; 

echo "      </td> 
</tr> 
        <tr> 
        <td> 
        Image-Directory: 
       </td> 
            <td> 
";

// hier die select auswahl der verzeichnisse


function get_dir_array($dir){
  global $i,$dirs_array;
  $current_dir = opendir($dir);
  while($entryname = readdir($current_dir)){
     if(is_dir("$dir/$entryname") and ($entryname != "." and $entryname!="..")){
        get_dir_array("${dir}/${entryname}");
        $dirs_array[$i] = "${dir}/${entryname}";
        $i++;
     }
  }
  closedir($current_dir);
return $dirs_array;
}

$i = 0;

$path = substr_replace($cfgClient[$client]["path"]["upload"], "", strrpos($cfgClient[$client]["path"]["upload"], "/"));
$verz_liste = get_dir_array($path);

echo "<select name=\"CMS_VAR[2]\">";

foreach ( $verz_liste as $verz ){
 //$verz = eregi_replace ($cfg['path']['frontend']."/cms/", "", $verz);
$verz = eregi_replace ($cfgClient[$client]['path']['frontend'], "", $verz);
 if ( $path1 == $verz ){ $wwi =  "selected";   }
 else { $wwi = ""; }
 echo "<option value=\"$verz\" $wwi>$verz</option>";
}

echo "</select>";


echo "
</td> 
  </tr> 

        <tr> 
        <td> 
        Thumbnail-Directory: 
       </td> 
            <td> ";

echo "<select name=\"CMS_VAR[3]\">";

foreach ( $verz_liste as $verz ){
 //$verz = eregi_replace ($cfg['path']['frontend']."/cms/", "", $verz);
$verz = eregi_replace ($cfgClient[$client]['path']['frontend'], "", $verz);
 if ( $path2 == $verz ){ $wwi =  "selected";   }
 else { $wwi = ""; }
 echo "<option value=\"$verz\" $wwi>$verz</option>";
}

echo "</select>";

echo "
</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=\"";

              if ( $imagemagick == "" ) { echo $path2imagemagick; }
              else { echo $imagemagick; }

echo "\"></td> 
  </tr> 
        
      </table>";
Output (ist gleich dem anderen Modul, glaube ich):

Code: Alles auswählen

<?php 
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Bildergalerie BobCom 1.0
* Author      :     BobCom.de - Markus Schulz
* Copyright   :     BobCom.de - Markus Schulz
* Created     :     07-02-2004
* Modified    :     07-02-2004
************************************************/

$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_idart="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; 
     } 
  } 
} 

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

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

// Anzeige eines Bildes oder Übersicht? 

if ($subfile!="") { 
// Bild anzeigen 
echo "<img src=\"$subfile\">"; 

} else { 
// Gallery anzeigen 

$handle=opendir($imagedir); 

echo "<table width=\"100%\" height=\"100%\"  border=\"0\" cellpadding=\"5\">"; 
$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 
                  $thumbnail=false; 
            } 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&idcatart=$image_idcat&subfile=".rawurlencode($imagedir."/".$file));  
            else 
              $url=$sess->url("front_content.php?client=$client&lang=$lang&subid=$subid&idcat=$idcat&idart=$idart&subfile=".rawurlencode($imagedir."/".$file));
  
            echo "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"dw.php?file=$file&imagedir=CMS_VALUE[2]\" target=\"dw\" onbeforeunload=\"MM_openBrWindow(\'dw.php?file=$file&imagedir=CMS_VALUE[2]\',\'dw\',\'menubar=yes,scrollbars=yes,resizable=yes,width=700,height=400\')\">".($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\" height=\"35\" valign=\"middle\">"; 

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

echo " | zeige Bilder ".($mmstart+1)." - ".($mmstart+$n)." | "; 

if ($n+$mmstart<count($filearray)) { 
  $url=$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&subid=$subid&idart=$idart&mmstart=".($mmstart+$rows*$cols)); 
  echo "<a href=\"$url\">weitere Bilder...</a>"; 
} 
echo "</td>\n"; 
echo "</tr>\n"; 
echo "</table>"; 
} // Ende Gallery anzeigen 
?>
dw.php ist auch die gleiche wie im Original-Modul.

Verfasst: Fr 11. Jun 2004, 11:13
von Beleuchtfix
Danke Christa :D

Verfasst: Fr 11. Jun 2004, 23:43
von Halchteranerin
Und irgendwas ist entweder mit der Bildergalerie oder mit meinem System oder mit meinem Server faul. :cry: :roll:
Ich meine jetzt die normale Galerie aus meinem ersten Posting im Thread, die ich unter der Hauptdomain benutze. Die Thumbnails scheinen nach einem Zufallsprinzip (nicht) erzeugt zu werden. In einigen Verzeichnissen werden sie erstellt, in anderen nicht, und in anderen nur zum Teil. Die besagten Verzeichnisse liegen parallel zueinander und haben alle die gleichen Rechte und Besitzer. Das kann doch nicht sein, oder?
Ich habe auch schon mal die con_code und das Cache-Verzeichnis auf dem Server geloescht, Browser-Cache geleert, mit anderem Browser auf anderem Rechner probiert ... nichts zu wollen. Ueberfluessig zu sagen, dass im errorlog nichts steht.

Na ja, vielleicht wird's bis morgen besser, wer weiss. Die Galerie fuer den Mandanten hatte auch 'ploetzlich' funktioniert, aber irgendwo muss ein Wurm drin sein. :cry:

Pfad Probleme bei der Bildanzeige

Verfasst: Sa 12. Jun 2004, 17:22
von bladi
hi zusammen

habe das modul auch verwendet aber es werden nur fehler pic angezeigt und das ist auch nicht weiter verwunderlich da der pfad nicht korrekt ist

Code: Alles auswählen

 http://www.theatereich.ch/home/httpd/vhosts/theatereich.ch/httpdocs/theatereich/upload/galerie/tumbnail/thb_01.jpg
hat jemand von euch eine idee warum der teil

Code: Alles auswählen

home/httpd/vhosts/theatereich.ch/httpdocs/ 
da noch dazugeschrieben wird ? wo kann ich das ändern im Imput Code?

danke und grüsse

bladi

Re: Pfad Probleme bei der Bildanzeige

Verfasst: Sa 12. Jun 2004, 19:03
von Halchteranerin
Hallo bladi,

erstmal: welche Version hast Du benutzt, die normale (erstes Posting im Thread) oder die fuer weitere Mandanten? Die fuer weitere Mandanten ist nur gueltig, falls die von mir im ersten Posting genannte Konstellation zutrifft. Ich schrieb ja schon, dass sie fuer den einen Sonderfall geeignet ist und sonst vermutlich nicht

Und dann: hast Du das Modul ueberhaupt konfiguriert?

Gruss
Christa

das war sehr gut... es funzt!

Verfasst: So 13. Jun 2004, 10:44
von bladi
sali christa

habe den code in diesem tread verwendet und es hat mit den pic's einwandfrei gewirkt.

ich habe gesehen das das hauptbild browserwindow vermutlich wie ein popup angezeigt werden kann. ist der nachfogende code für die einstellung des browserfensters so wie ein javascript popup fenster? d.h. eine anzeige ohne scrollbar pulldown usw. und einer definierbaren grösse des fensters? oder wo kann ich das einstellen?

Code: Alles auswählen

echo "<td valign=\"middle\" align=\"center\" width=\"$thb_x_size\" height=\"$thb_y_size\"><a href=\"dw.php?file=$file&imagedir=CMS_VALUE[2]\" target=\"dw\" onbeforeunload=\"MM_openBrWindow(\'dw.php?file=$file&imagedir=CMS_VALUE[2]\',\'dw\',\'menubar=yes,scrollbars=yes,resizable=yes,width=700,height=400\')\">".($thumbnail ? "<img src=\"$thumbnails/thb_$file\" border=\"1\">":"$file")."</a></td> 

danke für dein feedback und grüsse

bladi

Verfasst: Mo 14. Jun 2004, 20:44
von Halchteranerin
Verflucht. Ich habe zwar schon mehrere Naechte darueber geschlafen (der Rechner dabei auch), aber das Problem besteht immer noch: einige Bildergalerien werden angezeigt, andere, in parallel dazu liegenden Verzeichnissen, einfach nicht. :cry: :evil:

bladi, ich habe Dein Problem nicht ganz verstanden ... Du willst die Einzelbilder, die beim Anklicken der Galerie-Bilder angezeigt werden, in einem Fenster ohne Scrollbar usw. oeffnen? Dann ist die von Dir zitierte Stelle die richtige.

Mir schwebt eigentlich noch mehr vor: dass dieses Popup-Fenster sich in der Groesse aufpasst! Bei einem Bild 400x300 brauche ich kein Fenster 700x400. :wink: Irgendwo habe ich so etwas gesehen, ich will mir das noch anschauen, aber erst wuerde ich gerne die Bildergalerie richtig zum Laufen kriegen, denn zumindest bei mir hakt's irgendwo noch. :cry: Im errorlog steht natuerlich nichts, waere auch zu einfach gewesen!

Gruss
Christa

popup fenster

Verfasst: Di 15. Jun 2004, 00:07
von bladi
jepp christa

du hast es... genau das meinte ich. wenn du da noch zusätze hast wie grösse die sich dem bild anpasst... ist das natürlich das sahnehäubchen obendrauf und wenn du noch weist wo sowas code mässig gefunden wird, schon beinahe ein hammer :D

errorlog ist normal das ist wie ein totsicheres backup :twisted:

danke für's feedback...

grüsse bladi

Verfasst: Di 15. Jun 2004, 10:39
von Halchteranerin
Hi bladi,

hast Du es jetzt geschafft, das Fenster erstmal Deinen Wuenschen anzupassen?

Die andere Sache ist schwieriger, als ich erst dachte. :cry: Es gibt unter http://spielwiese.pulk.net/ ein Bildmodul (Bild-Popup), wo das Fenster, in dem das Bild geoeffnet wird, so gross wie das Bild ist, aber jetzt habe ich mir das genauer angeschaut, und da werden im Input-Bereich die Bildmasse angegeben. Da ist es natuerlich einfach, das Fenster in Bildgroesse zu oeffnen. Bei einer Bildergalerie hat man aber meistens Bilder in verschiedenen Groessen, d.h. es muesste irgendwas dynamisches sein, und da bin ich ueberfragt. :cry:

Sollte ich irgendeinen genialen Einfall haben, melde ich mich wieder, aber die Wahrscheinlichkeit ist recht gering.

Viele Gruesse
Christa

Verfasst: Di 15. Jun 2004, 10:53
von kummer
hallo christa

das anpassen des popups an die bildgrösse ist im prinzip relativ einfach. wenn du den absoluten pfad zur bilddatei kennst, kannst du mit...

Code: Alles auswählen

$imagesize = getimagesize('bildpfad/bildname.extension')
die bildmasse ermitteln. $image enthält dann die breite sowie die höhe und den bildtyp. diese informationen kannst du dann für den code für das popup verwenden.

ist keine riesen angelegenheit.

gruss,
andreas

PS: ein kleiner nachtrag noch. ich habe mal eine php-klasse geschrieben, die alle bilder, die sich in einem verzeichnis befinden als galerie darstellt. man kann zwar keine kommentare zu den bilder angeben, aber die bilder werden in einem popup in originalgrösse angezeigt.

das ganze kann unter http://greenteam-ag.ch/ in augenschein genommen werden.

Verfasst: Di 15. Jun 2004, 11:12
von Halchteranerin
Hallo Andreas,

Dich schickt der Himmel. ;-)
kummer hat geschrieben:wenn du den absoluten pfad zur bilddatei kennst, kannst du mit...

Code: Alles auswählen

$imagesize = getimagesize('bildpfad/bildname.extension')
die bildmasse ermitteln. $image enthält dann die breite sowie die höhe und den bildtyp. diese informationen kannst du dann für den code für das popup verwenden.

ist keine riesen angelegenheit.
Aehm, ja, wenn man sich damit auskennt, ist das vielleicht nur ein Klacks. ;-) Das Problem ist: durch die Contenido-Variablen kriege ich wohl den absoluten Pfad raus, aber ich muesste ja fuer jedes Bild der Galerie den Pfad rauskriegen (also eigentlicher Pfad+Dateiname), dann dessen Groesse und dann noch die Informationen weiterverarbeiten. Ich fuerchte, das ist mir etwas zu hoch. :oops: Ich kann's mir aber mal angucken, wer weiss, vielleicht klappt es ja. ;-)
kummer hat geschrieben: PS: ein kleiner nachtrag noch. ich habe mal eine php-klasse geschrieben, die alle bilder, die sich in einem verzeichnis befinden als galerie darstellt. man kann zwar keine kommentare zu den bilder angeben, aber die bilder werden in einem popup in originalgrösse angezeigt.
Sieht gut aus und ist im Prinzip genau das was ich brauche. Na ja, Kommentare zu den Bildern waeren nicht schlecht, aber die Galerie, die ich zur Zeit benutze, kann das auch nicht. :cry: Hast Du schon mal Deine Galerie in Contenido eingebaut?

Eine Idee, warum es mit der Bildergalerie aus diesem Thread nur manchmal klappt und manchmal gar nichts angezeigt wird, hast Du nicht zufaellig?

Viele Gruesse
Christa

Verfasst: Di 15. Jun 2004, 11:17
von kummer
ich kann mir offengestanden auch nicht erklären, wie es dazu kommen kann, dass es manchmal funktioniert und manchmal nicht. da, fürchte ich, kann ich dir schlecht weiterhelfen. wie gesagt, kenne ich das modul auch nur vom rasch drüber schauen.

aber ich werde mal sehen was sich bezüglich der integration der php-klasse in ein contenido-modul machen lässt. wenn es keine grosse sache ist, werde ich es vielleicht mal umsetzen.

ich würde es hier posten, wenn ich die umsetzung gemacht habe (und falls :wink: )

gruss,
andreas

Verfasst: Di 15. Jun 2004, 11:24
von Halchteranerin
kummer hat geschrieben: aber ich werde mal sehen was sich bezüglich der integration der php-klasse in ein contenido-modul machen lässt. wenn es keine grosse sache ist, werde ich es vielleicht mal umsetzen.

ich würde es hier posten, wenn ich die umsetzung gemacht habe (und falls :wink: )
Danke schon mal fuer die guten Vorsaetze. ;-)

Das andere schaue ich mir aber wie gesagt auch noch an, wer weiss, vielleicht klappt es ...

Gruss
Christa

Verfasst: Di 15. Jun 2004, 18:40
von kummer
hallo christa

also, ich habe eine galeriemodul geschrieben, welches das macht, was ich glaube, das du es suchst:

http://w3concepts.net/cms/front_content ... &idart=113

gruss,
andreas

Verfasst: Di 15. Jun 2004, 19:52
von Halchteranerin
Hi Andreas,

natuerlich habe ich den Thread schon entdeckt. ;-) Ich habe Dir auch dort schon einiges geschrieben ... Eine Sache laeuft naemlich noch nicht ganz richtig.

Viele Gruesse
Christa