Problem mit Bildergalerie und unterschiedlichen Mandanten

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

Problem mit Bildergalerie und unterschiedlichen Mandanten

Beitrag von Halchteranerin »

Hallo,

wie bereits an anderer Stelle erwaehnt, habe ich eines der Bildermodule auf 4.4.4 angepasst, weil bei allen (?) bisherigen Modulen, die ich hier und da (Download-Bereich, Forum) fand, noch veraltete SQL-Anfragen vorhanden waren. Hier erstmal Beschreibung (die habe ich einfach uebernommen), modifizierte Eingabe (SQL-Krempel und Anpassungen auf 4.4.4), Ausgabe mit modifiziertem Pfad zur Datei dw.php und Inhalt der Datei dw.php. Ach ja, das Wort 'Galerie' habe ich auch endlich richtig geschrieben, auf Deutsch wird's naemlich mit einem L geschrieben. ;-) Meine Problembeschreibung folgt anschliessend. :lol:

Modulbeschreibung:

Code: Alles auswählen

Eine Bildergalerie, die ihre Thumbs automatisch mit Imagemagick generiert, das Bild in einem eigenen Fenster öffnet und dabei auch noch die Beschreibung zu dem Bild ausgibt.
Die Galerie basiert auf dem Code der im Forum von crisscross veröffentlicht wurde http://www.contenido.de/forum/viewtopic.php?t=2168 -> Bildergalerie Version 0.9.1
Ich habe den Code entsprechend um die Ausgabe der Beschreibung im detailwindow erweitert und kleinere Anpassungen gemacht.
Achtet darauf, dass das Detailwindow (dw.php) im cms Pfad liegt. Ansonsten ist die format.css im dw fest eingebunden, für die Formatierung des Textes ist css->text verantwortlich.
Für die thumbs legt man am besten im anzuzeigenden Bilderordner ein Unterverzeichnis thumbs an. Falls die Thumbs im selben Verzeichnis liegen würden wie die Bilder, würden Thumbs der Thumbs der Thumbs der Thumbs usw. generiert werden.

Evtl. kann man aktualisierte Versionen unter www.bobcom.de finden ?-) 

C-Version    : 4.4
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    :     07-02-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]\">"; 

$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);
 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);
 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:

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 
?>
Inhalt von dw.php:

Code: Alles auswählen

<?php

/***********************************************
* Modulname   :     Bildergalerie BobCom 1.0
* Author      :     BobCom.de - Markus Schulz
* Copyright   :     BobCom.de - Markus Schulz
* Created     :     07-02-2004
* Modified    :     07-02-2004
************************************************/

include_once ("config.php");
include_once ($contenido_path . "includes/config.php");
cInclude("includes", "cfg_sql.inc.php");
cInclude("includes", "functions.general.php");

$file=$HTTP_GET_VARS["file"];
$imagedir=$HTTP_GET_VARS["imagedir"];

$db_dir = ereg_replace ("upload/", "", $imagedir)."/";
$db = new DB_Contenido;

$sql = "SELECT
           description
       FROM
           ".$cfg["tab"]["upl"]."
       WHERE
           dirname = '$db_dir' AND
           filename = '$file'";

$db->query($sql);
$db->next_record();
$description = $db->f("description");
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Detail-Ansicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="css/format.css">
</head>
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center" valign="middle"><a href="javascript:" onClick="window.close()"; title="schliessen"><? echo "<img src=\"$imagedir/$file\" border=\"0\">" ?></a></td>
  </tr>  <tr>    <td align="center" valign="top"><p class="text"><?php echo $description ?></p></td>
  </tr>
</table>
</body>
</html>
So, und nun zu meinem Problem ...

Ich habe die Hauptdomain www.abc.de und www.xyz.de. www.xyz.de ist nur 'aufgeschaltet', d.h. sie liegt auf dem Server der Hauptdomain innerhalb eines Unterverzeichnisses. Die aufgeschaltete Domain ist sowohl unter www.xyz.de, als auch unter www.abc.de/xyz/ erreichbar.

Der Server-Pfad zu den Daten von www.abc.de, speziell der Mandantenpfad, lautet {rootdir}/www.abc.de/cms/. Der Server-Pfad fuer www.xyz.de lautet {rootdir}/www.abc.de/xyz/. Wenn ich jetzt bei dem Mandanten xyz die Bildergalerie konfigurieren will, steht dort im Pfad (Auswahlliste) nicht upload/ sondern das komplette Verzeichnis ab {rootdir}, also {rootdir}/www.abc.de/xyz/upload/. Das fuehrt dazu, dass in der Bildergalerie leider nur broken-image-Symbole (die mit dem roten X) angezeigt werden, und wenn ich die anklicke, wird auch das grosse Bild nicht gezeigt, denn der Datei dw.php wird ja der falsche Pfad uebergeben (der ab {rootdir} statt ab upload/). Aber gerade diese Auswahlliste fand ich eigentlich gut, bei anderen Modulen muss man immer den Pfad komplett per Hand eingeben. :(

Die erste Frage ist, ob ich unter Administration-->Mandanten bei der Web-Adresse http://www.xyz.de oder http://www.abc.de/xyz angeben muss, und die zweite: wie kriege ich das Bildergalerie-Modul dazu, auch fuer den Mandanten xyz zu laufen? Ich nehme an, die Eingabe muesste geaendert werden, und zwar hier:

Code: Alles auswählen

$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);
 if ( $path1 == $verz ){ $wwi =  "selected";   }
 else { $wwi = ""; }
 echo "<option value=\"$verz\" $wwi>$verz</option>";
}
und hier:

Code: Alles auswählen

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

Nochmal auf Erleuchtung hoffend :)
Christa
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ad. pfade bei unterschiedlichen domains vielleicht hilfts dir ja
-> http://www.contenido.de/forum/viewtopic.php?t=3928

in der variable $cfgClient sind die mandanten bezogenen pfade enthalten...
schau dir mal die functions.general.php function rereadclient an...
ein html pfad zum aktiven mandanten bekommst du zb mit
$cfgClient[$client]["path"]["htmlpath"]
*** make your own tools (wishlist :: thx)
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

Endlich hat sich mal jemand erbarmt, danke! :)
emergence hat geschrieben:ad. pfade bei unterschiedlichen domains vielleicht hilfts dir ja
-> http://www.contenido.de/forum/viewtopic.php?t=3928
Das muss ich mir mal in Ruhe angucken, und dann werde ich wahrscheinlich noch Fragen dazu haben ...
emergence hat geschrieben:in der variable $cfgClient sind die mandanten bezogenen pfade enthalten...
schau dir mal die functions.general.php function rereadclient an...
ein html pfad zum aktiven mandanten bekommst du zb mit
$cfgClient[$client]["path"]["htmlpath"]
Das Problem ist zur Zeit, wenn ich das richtig sehe, dass bei der Bildergalerie vom zweiten Mandanten nicht der relative sondern der absolute Serverpfad, also ab {rootdir}, benutzt wird. Ich braeuchte aber nur den relativen Pfad ab Mandantenverzeichnis, d.h. das Zeug mit $cfgClient braeuchte ich eigentlich gar nicht, oder?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

Halchteranerin hat geschrieben: Das Problem ist zur Zeit, wenn ich das richtig sehe, dass bei der Bildergalerie vom zweiten Mandanten nicht der relative sondern der absolute Serverpfad, also ab {rootdir}, benutzt wird. Ich braeuchte aber nur den relativen Pfad ab Mandantenverzeichnis, d.h. das Zeug mit $cfgClient braeuchte ich eigentlich gar nicht, oder?
ich hab mir das oben jetzt aber nicht weiter angesehen... aber in der $cfgClient findest du alles was du brauchst... es sind beide pfade sowohl html als auch server pfad vorhanden.

htmlpfad zum mandaten innerhalb eines moduls:
$cfgClient[$client]["path"]["htmlpath"]
serverpfad zum mandanten verzeichnis:
$cfgClient[$client]["path"]["frontend"]

html pfad zum upload verzeichnis
$cfgClient[$client]["upl"]["htmlpath"]
pfad zum mandanten uploadverzeichnis (serverpfad)
$cfgClient[$client]["upl"]["path"]

es ist vernünftig es mittels der $cfgClient variable zu machen da das modul damit mandanten unabhängig ist. (die pfade werden aus der db geholt)
ansonsten musst du, wenn ich es richtig verstanden habe, es jedesmal hardcodiert im modul selbst ändern.

in der rereadClient funktion findest du die weiteren definitionen welche variablen noch zur verfügung stehen.
*** make your own tools (wishlist :: thx)
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

hallo halchteranerin

ich kenne wie gesagt das modul nicht weiter und habe es auch nicht in gebrauch. aber ich kann ja trotzdem sehen, ob wir die konfusion nicht etwas auflösen können.

zu allererst einmal zu klärung:

(1) www.abc.de ist deine hauptdomäne
(2) auf www.abc.de/xyz liegt die domäne www.xyz.de
(3) die bildpfade werden dem browser relativ übergen

wenn obige angaben zutreffend sind, besteht folgendes problem:

wenn du ein bild anzeigen möchtest, das sich im pfad www.abc.de/upload/bilder/ befindet, wirst du dem browser /upload/bilder/ übergeben. dieser setzt dann den pfad wieder zusammen und saugt sich das bild runter.

jetzt ist es allerdings so, dass es einen unterschied macht, ob du die seite mit deinem galeriemodul über

Code: Alles auswählen

http://www.abc.de/xyz/
oder über

Code: Alles auswählen

http://www.xyz.de
ansprichst.

im zweiten fall hat der browser gar keine möglichkeit, auf die bilder zuzugreifen, da sie sich ausserhalb des webroots von xyz.de befinden.

wenn alle bilder an das selbe ort abgelegt werden, könntest du das modul dahingehend anpassen, dass du anstatt relative absolute pfade verwendest (also inklusive www.abc.de).

wenn aber nicht in beiden domänen die gleichen bilder angezeigt werden sollen, sollten die bildpfade auch unterschiedlich sein. und zwar müsste der bildpfad für den zweiten mandanten (www.xyz.de) sich innerhalb seines webroots befinden, da sonst ein zugriff unmöglich ist.

die konfiguration müsste dann so sein, dass

(1) der serverpfad (frontend-pfad) müsste auf das verzeichnis zeigen, in dem die domäne liegt (bei beiden mandanten unterschiedlich)
(2) der htmlpfad würde dann jeweils mit der domäne beginnen (also z.b. http://www.abc.de/cms/ und http://www.xyz.de/cms)

ich hoffe, ich habe jetzt nicht noch eine grössere konfusion angerichtet.

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 »

Hallo Andreas,

danke schon mal fuers Anschauen. :)
kummer hat geschrieben:(1) www.abc.de ist deine hauptdomäne
(2) auf www.abc.de/xyz liegt die domäne www.xyz.de
(3) die bildpfade werden dem browser relativ übergen
Das ist richtig.
kummer hat geschrieben:wenn obige angaben zutreffend sind, besteht folgendes problem:

wenn du ein bild anzeigen möchtest, das sich im pfad www.abc.de/upload/bilder/ befindet, wirst du dem browser /upload/bilder/ übergeben. dieser setzt dann den pfad wieder zusammen und saugt sich das bild runter.

jetzt ist es allerdings so, dass es einen unterschied macht, ob du die seite mit deinem galeriemodul über

Code: Alles auswählen

http://www.abc.de/xyz/
oder über

Code: Alles auswählen

http://www.xyz.de
ansprichst.
Aehm ... hier liegt ein Missverstaendnis vor.
Eigentlich will ich die Bildergalerie nur ueber www.xyz.de ansprechen.
Die Bilder befinden sich eigentlich unter www.xyz.de/upload/bilder. Die Bilder der Hauptdomain hingegen befinden sich unter www.abc.de/cms/upload/bilder.
Physikalisch liegen also die Bilder der Hauptdomain (abc) unter {rootdir}/www.abc.de/cms/upload/bilder, diejenigen des Mandanten xyz unter {rootdir}/www.abc.de/xyz/upload/bilder. Der erste Teil des Pfades ({rootdir}/www.abc.de/) ist also bei beiden gleich.

kummer hat geschrieben:wenn aber nicht in beiden domänen die gleichen bilder angezeigt werden sollen, sollten die bildpfade auch unterschiedlich sein.
Genau!
kummer hat geschrieben:und zwar müsste der bildpfad für den zweiten mandanten (www.xyz.de) sich innerhalb seines webroots befinden, da sonst ein zugriff unmöglich ist.
Ja. Die Preisfrage ist, wie gebe ich diesen Pfad (relativ!) an?

Wenn ich das Modul jetzt bei beiden Modulen wie oben angegeben einsetze, habe ich bei xyz das Problem, dass die Bilder nicht gefunden werden. Das ist auch kein Wunder, denn wenn ich unter Eigenschaften gucke, dann sieht der Pfad so aus:
http://www.xyz.de/{rootdir}/www.abc.de/ ... oad/bilder, und das ist natuerlich falsch. Richtig waere:
http://www.xyz.de/upload/bilder.
Wie bekomme ich also das {rootdir}/www.abc.de/xyz/ aus dem Pfad weg in dem obigen Code des Moduls? Das scheint mir (zunaechst!) das einzige Problem zu sein.

Viele Gruesse
Christa
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

hallo christa

du findest im input-script an zwei stellen folgende zeile:

Code: Alles auswählen

$verz = eregi_replace ($cfg['path']['frontend']."/cms/", "", $verz);
dabei wird der frontendpfad ausgelesen und - aus mir nicht ersichtlichen gründen noch /cms/ hinten angehängt.

ich schätze mal - kann allerdings keine garantie geben -, dass du diese zeile durch...

Code: Alles auswählen

$verz = eregi_replace ($cfgClient[$client]["path"]["frontend"], "", $verz);
ersetzten musst. dann erhälst du meiner meinung nach wenigstens den richtigen pfad.

lass mich wissen, ob das was gebracht hat.

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 »

Hallo Andreas,

als ich schon einen Grossteil meiner vorigen Nachricht verfasst hatte, kam mir eine vermeintliche 'Erleuchtung' und ich nahm genau die von Dir vorgeschlagene Aenderung vor. Die Freude hielt aber nur kurz an, genauer genommen, bis ich die Seite (den Artikel) mit der Bildergalerie konfigurieren wollte. :cry:

AAAAAAAAAAAAAAAAH ... ja, also vorher habe ich, wie gesagt, GENAU DIESE Aenderungen vorgenommen, und jawoll, ich habe auch das Modul gespeichert. Beim Konfigurieren konnte ich aber beim Image-Directory etwas auswaehlen, und Thumbnail-Directory war leer. Im errorlog stand auch etwas, was ich mir aber nicht gemerkt und zunaechst geloescht habe. Jetzt wollte ich das reproduzieren, um Dir schreiben zu koennen, was im errorlog stand, und was ist? Ploetzlich funktioniert's! Haengt vielleicht mit dem Cache zusammen, keine Ahnung ...

Aber jetzt ist ein anderes Problem aufgetaucht: in einer Kategorie habe ich zwei Artikel. Beim Startartikel hat es mit der Bildergalerie geklappt, beim anderen Artikel werden keine Thumbnails generiert sondern einfach die Originalbilder ins Thumbnail-Verzeichnis kopiert. Kann es sein ('sieht' man so etwas als PHP-Experte, wenn man in den Quelltext guckt? :wink:), dass man die(se) Bildergalerie nur fuer Startartikel benutzen kann?

Vielen Dank aber schon mal fuer die bisherige Hilfe!

Gruss
Christa
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

ich vermute mal, dass das eher damit zusammen hängt, dass du möglicherweise vergessen hast, das modul wieder zu konfigurieren.

wenn du für das modul im template keine standardeinstellungen wählst, musst du das bei jedem artikel einzeln vornehmen.

damit, ob ein artikel ein startartikel ist oder nicht, sollte es keinen zusammenhang geben.
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:ich vermute mal, dass das eher damit zusammen hängt, dass du möglicherweise vergessen hast, das modul wieder zu konfigurieren.

wenn du für das modul im template keine standardeinstellungen wählst, musst du das bei jedem artikel einzeln vornehmen.
An der fehlenden Konfiguration liegt es leider nicht. :cry: Ich habe das Thumbs-Verzeichnis fuer den einen Artikel geleert (die Thumbs werden nur dann generiert, wenn sie im angegebenen Verzeichnis nicht schon vorhanden sind), habe den Artikel neu konfiguriert, und die Thumbs wurden nicht generiert, sondern nur die Fotos in das Thumbs-Verzeichnis kopiert. Es scheint aber auch nicht (zwingend) daran zu liegen, dass es kein Startartikel war, denn ich habe das jetzt in eine andere Kategorie kopiert, wo der Artikel Startartikel ist, und die Fotos scheinen der Haken zu sein. Von diesen Fotos werden einfach keine Thumbnails generiert. Keine Ahnung, woran das liegt. Es sind jpg-Dateien, und mit anderen jpg-Dateien in der gleichen Groesse (400x300) klappt es.
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

es hat im output-script gar keine kopierfunktion. will heissen, imagemagick erzeugt das bild - bloss nicht in der richtigen grösse. ich würde mal übrprüfen (durch entsprechendes echo an den browser) ob die variablen $thb_x_size und $thb_y_size überhaupt die werte angenommen haben, die sie haben sollen.
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:es hat im output-script gar keine kopierfunktion. will heissen, imagemagick erzeugt das bild - bloss nicht in der richtigen grösse.
Ja, ok, im Endeffekt ist das genau das, was passiert, Du hast recht. :oops:
kummer hat geschrieben:ich würde mal übrprüfen (durch entsprechendes echo an den browser) ob die variablen $thb_x_size und $thb_y_size überhaupt die werte angenommen haben, die sie haben sollen.
Ich muss bald weg, aber ich gucke mir das heute abend oder morgen wieder an. Ich finde das nur seltsam, dass es mit einigen bestimmten Bildern nicht klappt und mit den anderen ja, aber das mit dem Echo ist eine gute Idee, danke fuer den Tipp. :)
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

Ich verstehe die Welt nicht mehr. :roll: Gerade als ich das mit echo testen wollte, stellte ich fest, dass die Thumbnails 'ploetzlich' die richtige Groesse hatten.

Kann es sein, dass es irgendwie ein Problem mit dem Caching oder so gibt? Ich habe echt keine Erklaerung fuer die Merkwuerdigkeiten, die mit dieser Bildergalerie passieren.

Aber Ende gut, alles gut. :)
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix »

Hallo Christa,
Halchteranerin hat geschrieben: Aber Ende gut, alles gut. :)
Wenn Du jetzt eine komplette (debugged) Version hast, kannst du vielleicht dann den Code des Modules auf den Contenido Entwicklerseiten veröffentlichen :?:

Der Ablauf hier im Forum geht ja leider immer so, dass ein komplettes, aber nicht ganz fehlerfreies Modul, eingegeben wird und dann vielle hilfreiche Kräfte :D verschiedene Zeilen kommentieren. Wenn man dann das Modul übernehmen will, muß man leider alles Stück für Stück nachvollziehn.

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

Beitrag von Halchteranerin »

Hi Florian,

die habe ich, aber ich habe das Gefuehl, dass die keiner braucht. Sonst haetten sich mehr Leute an der Diskussion beteiligt, behaupte ich mal. :wink:

Die Version, die ich jetzt habe, ist ja fuer meine speziellen Fall angepasst, und da muesste die ganze Fallbeschreibung rein :) sonst laden sich die Leute die falsche Version runter und meckern, dass die bei ihnen nicht geht. Und die normale Bildergalerie, die ich fuer die Hauptdomain benutze. ist auch nur eine, die ich hier irgendwo auf der Seite runtergeladen habe.

Gruss
Christa
Gesperrt