endlich habe ich auch mein erstes Modul geschieben und stelle es euch zur Verfügung. Leider habe ich nicht die grosse Ahnung von php, deshalb habe ich mir hier und da ein paar Codezeilen zusammengeklaut.
Wie komme ich nun dazu ein eigenes Modul zu schreiben... Eigentlich wollte ich die Lightbox Galerie nutzen, daran störte mich aber das ich nur die in der Galerie angezeigten Bilder in der Lightbox durchzappen kann. Ich möchte aber nur ein Bild anzeigen.
Auf meiner Suche bin ich dann auf die Lytebox gestoßen die z.B. bei kleinerem Code auch noch eine Slideshow generiert.
Da kommen wir auch schon zu meinem ersten Problem. Um die Slide effektiv nutzen zu können muss der Link zur ersten Datei im Verzeichnis zeigen. Ich weiß aber nicht wie? Mein Link zeigt immer auf die Letzte und da ist Slideshow beendet... Seht selbst:
Input
Code: Alles auswählen
?><?php
#Selected img directory
$cms_dirname = "CMS_VALUE[2]";
#Selected img
$cms_filename = "CMS_VALUE[3]";
if ($cms_dirname == '' || $cms_dirname == '0') {
$cms_dirname = 'bilder/';
}
#Get paths
$sql = "SELECT
htmlpath, frontendpath
FROM
".$cfg["tab"]["clients"]."
WHERE
idclient = ".$client." ";
$db->query($sql);
if ($db->next_record()) {
$htmlpath = $db->f('htmlpath');
$frontendpath = $db->f('frontendpath');
}
echo '<table>
<tr>
<td>' . mi18n("Breite") . '</td>
<td><input type="text" name="CMS_VAR[0]" value="CMS_VALUE[0]"></td>
</tr>
<tr>
<td>' . mi18n("Höhe") . '</td>
<td><input type="text" name="CMS_VAR[1]" value="CMS_VALUE[1]"></td>
</tr>
</table>';
$img_width = "CMS_VALUE[0]";
$img_height = "CMS_VALUE[1]";
#Choose image folder
echo '<table cellpadding="0" cellspacing="0" border="0">
<tr><td class="text_medium" style="padding:5px">'.mi18n("Bildverzeichnis wählen").': </td></tr>
<tr><td class="text_medium" style="padding:5px">';
echo '<select name="CMS_VAR[2]" style="width:200px">';
#Get upload directories
$sql = "SELECT DISTINCT
dirname
FROM
".$cfg["tab"]["upl"]."
WHERE
idclient='$client' AND
filetype IN ('jpeg','jpg','gif','png')
ORDER BY
dirname";
$db->query($sql);
$selected = false;
while ($db->next_record()) {
$dirname = $db->f('dirname');
if ($cms_dirname != $dirname) {
echo '<option value="'.$dirname.'"> '.$dirname.'</option>';
} else {
$selected = true;
echo '<option value="'.$dirname.'" selected="selected"> '.$dirname.'</option>';
}
}
if (!$selected) {
echo '<option value="0" selected="selected">'.i18n("Bitte wählen").'</option>';
} else {
echo '<option value="0">'.i18n("Bitte wählen").'</option>';
}
#Choose image file
echo '</select> <input type="image" src="images/submit.gif">
<tr><td class="text_medium" style="padding:5px">'.mi18n("Bild wählen").': </td></tr>
<tr><td class="text_medium" style="padding:5px">';
echo '<select name="CMS_VAR[3]" style="width:200px">';
echo '<option value="0" selected="selected">'.i18n("Bitte wählen").'</option>';
if ($cms_dirname != '0') {
#Get uploaded files
$sql = "SELECT
filename
FROM
".$cfg["tab"]["upl"]."
WHERE
idclient = '$client' AND
filetype IN ('jpeg','jpg','gif','png','swf') AND
dirname = '$cms_dirname'
ORDER BY
filename";
$db->query($sql);
while ($db->next_record()) {
$img_name = $db->f('filename');
if ($cms_filename != $img_name) {
echo '<option value="'.$img_name.'"> '.$img_name.'</option>';
} else {
echo '<option selected="selected" value="'.$img_name.'"> '.$img_name.'</option>';
}
}
}
echo '</select> <input type="image" src="images/submit.gif">';
$img_path_fs = $frontendpath.$cfgClient[$client]['upload'].$cms_dirname.$cms_filename;
#Preview image
if ($cms_dirname != '0' AND $cms_filename != '0' AND strlen($cms_dirname) > 0 AND strlen($cms_filename) > 0) {
$img_path = $htmlpath.$cfgClient[$client]['upload'].$cms_dirname.$cms_filename;
$img_split = preg_split("/\./", $cms_filename);
$count = count($img_split);
$type = $img_split[$count -1];
$image = capiImgScale($img_path_fs, $img_width, $img_height, false, false, 10, false);
echo '<tr><td colspan="2" style="padding:5px">
<img src="'.$image.'">
</td></tr> ';
}
echo '</td></tr>';
echo '</table>';
?><?php
Code: Alles auswählen
<?php
#Maße
$img_width = "CMS_VALUE[0]";
$img_height = "CMS_VALUE[1]";
if ($img_width == 0) {
$img_width = 200;
}
if ($img_height == 0) {
$img_height = 200;
}
#Bildverzeichnis
$cms_dirname = "CMS_VALUE[2]";
#Angezeigtes Bild
$cms_filename = "CMS_VALUE[3]";
$defaultImage = 'images/blank.gif';
$htmlpath = $cfgClient[$client]['path']['htmlpath'];
$frontendpath = $cfgClient[$client]['path']['frontend'];
$img_path = $htmlpath.$cfgClient[$client]['upload'].$defaultImage;
$img_path_fs = $frontendpath.$cfgClient[$client]['upload'].$defaultImage;
#keine Ahnung was das macht
if ($cms_dirname != '0' AND $cms_filename != '0' AND strlen($cms_dirname) > 0 AND strlen($cms_filename) > 0) {
$img_path = $htmlpath.$cfgClient[$client]['upload'].$cms_dirname.$cms_filename;
$img_path_fs = $frontendpath.$cfgClient[$client]['upload'].$cms_dirname.$cms_filename;
$img_split = preg_split("/\./", $cms_filename);
$count = count($img_split);
$type = $img_split[$count -1];
if (!file_exists($img_path_fs)) {
$img_path = $htmlpath.$cfgClient[$client]['upload'].$defaultImage;
$img_path_fs = $frontendpath.$cfgClient[$client]['upload'].$defaultImage;
}
}
#Bild skalieren
$image = capiImgScale($img_path_fs, $img_width, $img_height, false, false, 10, false);
$bilderpfad = $cfgClient[$client]['upload'].$cms_dirname;
list ($width, $height, $type, $attr) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $image));
#Bildverzeichnis öffnen
$handle=opendir ($bilderpfad);
#Bilder in ein verstecktes <div> laden
echo "<div style=\"visibility: hidden; top: -1000px; width: 1px; z-index: -1;\">";
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") {
$bildpfad = $cfgClient[$client]['upload'].$cms_dirname.$file;
echo "<a href=\"$bildpfad\" rel=\"lyteshow\" title=\"\"></a>";
}
}
echo "</div>";
#Thumbnail ausgeben
echo "<a href=\"$bildpfad\" rel=\"lyteshow\" title=\"\"><img src=\"$image\" width=\"$width\" height=\"$height\" alt=\"\" title=\"\" border=\"0\" /></a>";
#Bildverzeichnis schliessen
closedir($handle);
?>
Da es bis jetzt nur local bei mir läuft kann ich noch keinen Link präsentieren, sorry
Könnt ihr mir helfen?
Gruß Azibi