Problem mit Bildergalerie und unterschiedlichen Mandanten

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag 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.
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix »

Danke Christa :D
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag 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:
bladi
Beiträge: 192
Registriert: Sa 27. Dez 2003, 11:21
Kontaktdaten:

Pfad Probleme bei der Bildanzeige

Beitrag 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
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Pfad Probleme bei der Bildanzeige

Beitrag 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
bladi
Beiträge: 192
Registriert: Sa 27. Dez 2003, 11:21
Kontaktdaten:

das war sehr gut... es funzt!

Beitrag 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
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag 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
bladi
Beiträge: 192
Registriert: Sa 27. Dez 2003, 11:21
Kontaktdaten:

popup fenster

Beitrag 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
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag 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
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag 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.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag 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
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag 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
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag 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
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag 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
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag 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
Gesperrt