Modul "Fotoalbum"

Joey
Beiträge: 26
Registriert: Do 30. Dez 2004, 23:51
Wohnort: Rhein-Neckar-Kreis
Kontaktdaten:

Beitrag von Joey » So 3. Apr 2005, 15:12

Aber noch eine vielleicht blöde Frage... Wie werden die Thumbs der Bilder nach Namen sortiert, ich kriegs nicht hin...
$sqlF_limited = "SELECT * from $db_fotos WHERE album_id = ".$album_id." ORDER by foto_pos LIMIT ".$eintrag.",".$fps;
so heisst es im Original

Gruß
Joey

oma wetterwax
Beiträge: 97
Registriert: Do 6. Mai 2004, 07:38
Kontaktdaten:

Beitrag von oma wetterwax » Mo 4. Apr 2005, 10:15

Code: Alles auswählen

 $sqlF_limited = "SELECT * from $db_fotos WHERE album_id = ".$album_id." ORDER by filename LIMIT ".$eintrag.",".$fps;
gruß
oma

Aixtraweb
Beiträge: 100
Registriert: Do 23. Sep 2004, 10:55
Wohnort: Herzogenrath
Kontaktdaten:

Beitrag von Aixtraweb » Mo 4. Apr 2005, 19:40

Hallo,

ich habe einen Versuch gestartet das Fotoalbum unter 4.4.5 zu installieren und erhalte bei der Konfiguration eines entsprechenden Artikels folgende Meldung:
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 65496 bytes) in /home/httpd/vhosts/mein-foto-abc.de/httpdocs/contenido/includes/include.tplcfg_edit_form.php(399) : eval()'d code on line 119
Und im Errorlog steht ebenselbes!
Mit freundlichen Grüßen
Jörg Knörchen

Meine Hobby-Webseite:
www.mein-foto-abc.de : contenido 4.6.15 - I love it! : www.yogie.de : www.bastelstun.de

Joey
Beiträge: 26
Registriert: Do 30. Dez 2004, 23:51
Wohnort: Rhein-Neckar-Kreis
Kontaktdaten:

Beitrag von Joey » Mo 4. Apr 2005, 20:42

Hi oma,

MERCI vielmals!!! Klappt bestens!

Grüße
Joey

Mc
Beiträge: 188
Registriert: Mi 2. Mär 2005, 21:19
Kontaktdaten:

Beitrag von Mc » Mo 4. Apr 2005, 20:44

Großen Dank und Respekt an Oma, djw, Joey und all die anderen, die bei dieser tollen Bildergalerie mitgewirkt haben.

Ich habe mir aus allen threads eine lauffähige Version für 4.4.5 gebastelt.
Die Bilder liegen bei mir unter upload/galerie/galerie01, upload/galerie/galerie02 usw. In den Unterordnern galerie01 usw befindet sich jeweils ein Ordner thm für die thumbs.
Contenido liegt im Verzeichnis 44 im root. Siehe:
http://www.jubec.de/44/cms siehe Fotoalbum
Meine Bilder haben derzeit eine Größe von 500x375

picture.php in das Verzecihnis cms auf Ebene wie front_content.php

Code: Alles auswählen

<?php 

include_once ("config.php");
include_once ($contenido_path . "includes/config.php");
cInclude("includes", "cfg_sql.inc.php");
cInclude("includes", "functions.general.php");
cInclude("includes", "functions.i18n.php");
cInclude("includes", "functions.tpl.php");
cInclude("includes", "functions.con.php");
cInclude("includes", "functions.mod.php");
cInclude("includes", "functions.api.php");
cInclude("classes", 'class.inuse.php');
cInclude("classes", 'class.user.php');
cInclude("classes", 'class.notification.php');
cInclude("classes", 'class.table.php');


//config-variable verwenden! 
$db_album = $cfg["tab"]["fotoalbum"]; 
$db_fotos = $cfg["tab"]["fotos"]; 

if (!$album)  { 
  $db_album = new DB_contenido; 
  $sqlC = "SELECT * FROM ".$cfg["tab"]["fotoalbum"]." WHERE idart = ".$idart; 
  $db_album->query($sqlC); 
  $db_album->next_record(); 
  $album = $db_album->f("album_id"); 
  $img_dir = "upload/galerie/".$db_album->f("album_dir")."/"; 
} 
//echo "Gewähltes Album: ".$album."<br>"; 

$dbA = new DB_contenido; 
$sqlA = "SELECT * from ".$cfg["tab"]["fotos"]." WHERE album_id = ".$album." ORDER by foto_pos"; 
$dbA->query($sqlA); 
$x = $dbA->num_rows(); 
//echo "Anzahl Bilder: ".$x."<br>"; 

$bilder = array(); 
$i = 0; 

while ($dbA->next_record())  { 
  $img_id = $dbA->f("foto_id"); 
  $img_filename = $dbA->f("filename"); 
  array_push($bilder, $img_id."-".$img_filename); 
  if (($picture) && ($img_id == $picture))  {  $img_to_show = $i;  } 
  $i++; 
} 
if (!$img_to_show)  {  $img_to_show = 0;  } 

  $prev = ($img_to_show - 1); 
  if ($prev < 0)  {  $prev = ($x - 1);  } 

  $next = ($img_to_show + 1); 
  if ($next > $x)  {  $next = 0;  } 

  $curr_img = split("-", $bilder[$img_to_show]); 
  //$curr_img = $curr_img[1]; 
  $next_img = split("-", $bilder[$next]); 
  $next_img = $next_img[0]; 
  $prev_img = split("-", $bilder[$prev]); 
  $prev_img = $prev_img[0]; 
  if ($contenido)  { 
    $next_link = 'picture.php?idart='.$idart.'&picture='.$next_img.'&contenido='.$contenido; 
        $prev_link = 'picture.php?idart='.$idart.'&picture='.$prev_img.'&contenido='.$contenido; 
  } else { 
    $next_link = 'picture.php?idart='.$idart.'&picture='.$next_img; 
        $prev_link = 'picture.php?idart='.$idart.'&picture='.$prev_img; 
  } 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

<html> 
<head> 
<link rel="stylesheet" type="text/css" href="css/format.css"> 
<link rel="stylesheet" type="text/css" href="css/content.css"> 

<style type="text/css"> 
body  { 
  margin: 0px; 
  background: #eeeeee; 
} 
</style> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 

<body> 
<?php 
echo ' 
  <table width="100%" cellpadding=0 cellspacing=0 border=0> 
  <tr> 
    <td colspan=2 align=center height=287><img src = "'.$img_dir.$curr_img[1].'"></td> 
  </tr> 
  <tr> 
    <td class=klein style="width:50%; margin:0px; padding:0px; text-align:left"><a href="'.$prev_link.'"><img align=absmiddle src="upload/images/arrow_l.gif" border=0 style="margin:5px;">zurück</a></td> 
        <td class="klein" style="width:50%; margin:0px; padding:0px; text-align:right;"><a href="'.$next_link.'">weiter<img align=absmiddle src="upload/images/arrow_r.gif" border=0 style="margin:5px;"></a></td> 
  </tr> 
'; 
$dbF = new DB_contenido; 
$sqlF = "SELECT * from ".$cfg["tab"]["fotos"]." WHERE foto_id = ".$curr_img[0]; 
$dbF->query($sqlF); 
if ($dbF->num_rows() != 1)  { 
  echo "Unbekannter Fehler!"; 
}  else  { 
  $dbF->next_record(); 
  $fotopos = $dbF->f("foto_pos"); 
  $text = $dbF->f("foto_text"); 
} 

if ($contenido)  { 
  echo '<tr><td colspan=2><form method="post" action="front_content.php?changeview=edit&client=1&lang=1&action=con_editart&idartlang=89&type=&typenr=&idart='.$idart.'" target="right_bottom"> 
    <input type="hidden" name="picture" id="picture" value="'.$curr_img[0].'"> 
        <input type="hidden" name="contenido" id="contenido" value="'.$contenido.'"> 
    <table width="100%"  border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
        <td colspan=4 align=center><textarea class=box style="height:100px; width:380px;" name=foto_text id=foto_text>'.$text.'</textarea></td> 
      </tr> 
      <tr> 
        <td>Pos.:&nbsp;<input class=field style="width:30px;" type=text name=foto_pos id=foto_pos value="'.$fotopos.'"></td> 
        <td><input type="submit" class=button name="Absenden" id="Absenden" value="Ändern"></td> 
        <td><input type="submit" class=button name="Absenden" id="Absenden" value="Löschen" style=background:#bb0000; color:#ffffff;"></td> 
        <td>&nbsp;</td> 
      </tr> 
  </table></form> 
  </td></tr>'; 
}  else  { 
  echo '<tr><td colspan=2><p style="padding-left:5px; padding_right:5px; margin:0px; margin-top:15px;">'.$text.'</p></td></tr>'; 
} 
echo '</table> 
'; 
?> 
</body> 
</html>
input

Code: Alles auswählen

/********************editierbare variable ***************************/ 
$db_album = $cfg["tab"]["fotoalbum"]; 
$db_fotos = $cfg["tab"]["fotos"]; 
$upldir = "upload/galerie/"; 
//thumbnailgröße 
$max_hoehe = "70"; 
$max_breite = "93"; 
//anzahl der angezeigten thumbnails 
$bps = "10"; 

//ToDo: Datenbankname ersetzen 
//To Do: Auswahl Thumnailanzeige und Größe in Konfiguration 
/********************************************************************/ 

//ToDo-Abfrage 1 
if ((!$ToDo) || ($ToDo == ""))  { 
  $dbA = new DB_contenido; 
  $sqlA = "SELECT * from $db_album WHERE idart = ".$idart." AND idcat = ".$idcat; 
  $dbA = mysql_query($sqlA); 
    if (mysql_num_rows($dbA) == 1)  { 
      $ToDo = "show"; 
    } else if (mysql_num_rows($dbA) == 0)  { 
      $ToDo = "neu"; 
    } else  { 
      $ToDo = "error"; 
    } 
}//end if (!ToDo); 

//ToDo-Abfrage 2 

if ($ToDo == "new_album")  { 
  if (($album_dir == "nix") || ($album_dir == "delete_album"))  {  $fehler = "Sie müssen einen Ordner auswählen!";  } 
  if ((!$fehler) && ((!$album_title) || ($album_title == "")))  {  $fehler = "Die Fotogalerie braucht einen Namen!";  } 
  if ((!$fehler) && ((!$album_datum) || ($album_datum == "")))  {  $fehler = "Bitte geben sie ein Datum an.";  } 

  if (!fehler)  { 
    $dbA = new DB_contenido; 
    $sqlA = "SELECT * from $db_album WHERE album_dir = '".$album_dir."'"; 
    $dbA->query($sqlA); 
      if (mysql_num_rows($dbA) != 0) { $fehler = "Für diesen Ordner existiert bereits ein Album.";  } 
  } 
  if (!$fehler)  { 
    $img_path = dir($cfgClient[$client]["path"]["frontend"].$upldir.$album_dir); 
    $alle = array(); 
    while ($ergebnis=$img_path->read())  { 
      if ($ergebnis != "." and $ergebnis != "..")  { 
        array_push($alle, $ergebnis); 
      } 
    } 
    //$bild = preg_grep("/.+\.(gif)|(jpg)/",$alle); 
     $bild = preg_grep("/.+\.(jpg)/i",$alle); 

    if (count($bild) <= 0)  {  $fehler = "Der Ordner enthält keine Bilder";  } 
  } 
  if (!$fehler)  { 
        $dbA_update = "INSERT INTO ".$db_album." ". 
            "(album_datum, album_title, idart, idcat, album_dir) ". 
            "VALUES ('$album_datum','$album_title','$idart','$idcat','$album_dir')"; 
        if (!$db->query($dbA_update))  { 
          $fehler = "Beim Datenbankeintrag traten Probleme auf."; 
        } 
  } 
  if (!$fehler)  { 
    $dbA = new DB_contenido; 
    $sqlA = "SELECT * from $db_album WHERE idart = ".$idart." AND idcat = ".$idcat; 
    $dbA = mysql_query($sqlA); 
      if (mysql_num_rows($dbA) != 1) { 
        $fehler = "Album zwar angelegt, aber nicht gefunden: ".$sqlA; 
      } else  { 
        $ausgabe = mysql_fetch_array($dbA); 
        $album_id = $ausgabe[album_id]; 
      } 
  } 
  if (!$fehler)  { 
  $thm_new_dir = $cfgClient[$client]["path"]["frontend"].$upldir.$album_dir."/thm"; 
    if(!$thm_dir = is_dir($thm_new_dir))  { 
      $thm_dir = mkdir($thm_new_dir, 0777); 
    } 
    if(!thm_dir)  { $fehler = "Konnte Thumbnail-Verzeichnis nicht erstellen: ".$thm_new_dir;  } 
  } 
  /* 
//thumnails erzeugen 
  if (!$fehler)  { 
    foreach ($bild as $einzelbild)  { 
      $im = imagecreatefromjpeg($cfgClient[$client]["path"]["frontend"].$upldir.$album_dir."/" .$einzelbild); 
      list($src_width, $src_height) = getimagesize($cfgClient[$client]["path"]["frontend"].$upldir.$album_dir."/" .$einzelbild); 
      if($src_width > $src_height) { 
        $new_image_width = $max_breite; 
        $new_image_height = $src_height * $max_breite / $src_width; 
      } 
      if($src_width <= $src_height) { 
        $new_image_height = $max_hoehe; 
        $new_image_width = $src_width * $max_hoehe / $src_height; 
      } 
      $new_image = imagecreatetruecolor($new_image_width, $new_image_height); 
      imagecopyresampled($new_image, $im, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height); 
      if (!imagejpeg($new_image, $thm_new_dir."/".$einzelbild, 40)) { 
        $fehler = "Konnte Thumb nicht erstellen: ".$thm_new_dir."/".$einzelbild."<br>"; 
      }  else  { 
        $dbA_entry = "INSERT INTO ".$db_fotos." ". 
          "(filename, album_id, album_dir, idart) ". 
          "VALUES ('$einzelbild', '$album_id', '$album_dir', '$idart')"; 
        if (!$db->query($dbA_entry))  { $fehler = "Beim Datenbankeintrag traten Fehler auf: ".$sql_entry;  } 
      } 
    }//end foreach 
  } 
*/ 

//thumnails erzeugen 
if (!$fehler) { 
foreach ($bild as $einzelbild) { 
$im = imagecreatefromjpeg($cfgClient[$client]["path"]["frontend"].$upldir.$album_dir."/" .$einzelbild); 


list($src_width, $src_height) = getimagesize($cfgClient[$client]["path"]["frontend"].$upldir.$album_dir."/" .$einzelbild); 
if($src_width > $src_height) { 
$new_image_width = $max_breite; 
$new_image_height = $src_height * $max_breite / $src_width; 
} 
if($src_width <= $src_height) { 
$new_image_height = $max_hoehe; 
$new_image_width = $src_width * $max_hoehe / $src_height; 
} 
$new_image = imagecreatetruecolor($new_image_width, $new_image_height); 
imagecopyresized($new_image, $im, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height); 
if (!imagejpeg($new_image, $thm_new_dir."/".$einzelbild, 40)) { 
$fehler = "Konnte Thumb nicht erstellen: ".$thm_new_dir."/".$einzelbild."<br>"; 
} else { 
$dbA_entry = "INSERT INTO ".$db_fotos." ". 
"(filename, album_id, album_dir, idart, idcat) ". 
"VALUES ('$einzelbild', '$album_id', '$album_dir', '$idart', '$idcat')"; 
if (!$db->query($dbA_entry)) { $fehler = "Beim Datenbankeintrag traten Fehler auf: ".$sql_entry; } 
} 
}//end foreach 
}


  if ($fehler)  { 
    echo '<span style="color:red; font-weight: bold;">'.$fehler.'</span>'; 
    $ToDo = "neu"; 
  }  else  { 
    echo "Galerie erfolgreich angelegt!"; 
    $dbA = new DB_contenido; 
    $sqlA = "SELECT * from $db_album WHERE idart = ".$idart." AND idcat = ".$idcat; 
    $dbA = mysql_query($sqlA); 
    $ToDo = "show"; 
  } 
}//ende if $ToDo == new_album 

if ($ToDo == "update_album")  { 
  $dbA = new DB_contenido; 
  $sqlA = "SELECT * from $db_album WHERE idart = ".$idart." AND idcat = ".$idcat; 
  $dbA = mysql_query($sqlA); 
    if (mysql_num_rows($dbA) != 1) { $fehler = "Kein Album gefunden.";  } 
    if (!$fehler)  { 
       if ($album_dir == "delete_album")  { 
         $sql_delete = "DELETE from ".$db_album." WHERE idart = $idart"." AND idcat = ".$idcat; 
         if (!$db->query($sql_delete))  { 
           echo "Beim Datenbankeintrag traten Probleme auf."; 
           $ToDo = "show"; 
           $dbA = mysql_query($sqlA); 
         }  else  { 

           $sql_delete_fotos = "DELETE from ".$db_fotos." WHERE idart = $idart"." AND idcat = ".$idcat; 
           if (!$db->query($sql_delete_fotos))  { 
             echo "Beim Löschen der Fotoeinträge traten Probleme auf!"; 
           }  else  { 
             echo "Album und Fotoeinträge wurden gelöscht."; 
             $ToDo = "neu"; 
           } 
         } 
       }  else if ($album_dir == "nix")  { 
         echo "Kein Albumverzeichnis angegeben!"; 
         $ToDo = "show"; 
       }  else  { 
         $ausgabe = mysql_fetch_array($dbA); 
         $old_dir = $ausgabe[album_dir]; 
         if ($old_dir != $album_dir)  { 
           echo "Um das Verzeichnis eines Albums zu ändern, bitte Album löschen und neu anlegen!"; 
           $ToDo = "show"; 
           $dbA = mysql_query($sqlA); 
         }  else  { 
           $sql_change = "UPDATE ".$db_album." ". 
            "SET album_datum = '$album_datum',album_title='$album_title',album_dir ='$album_dir' ". 
            "WHERE idart = $idart"." AND idcat = ".$idcat; 
           if (!$db->query($sql_change))  { 
             echo "Beim Datenbankeintrag traten Probleme auf."; 
           }  else  { 
             echo "Eintrag wurde geändert."; 
           } 
           $ToDo = "show"; 
           $dbA = mysql_query($sqlA); 
         } 
       } 
    }  else  { 
      echo '<span style="color:red; font-weight: bold;">'.$fehler.'</span>'; 
    } 
}//ende toDo = update_album 

if ($ToDo == "show")  { 
  echo '<br>Für diesen Artikel ist folgende Galerie angelegt: 
    <input type="hidden" name="ToDo" id="ToDo" value="update_album">'; 
  $ausgabe = mysql_fetch_array($dbA); 
  $adatum = $ausgabe[album_datum]; 
  $atitle = $ausgabe[album_title]; 
  $adir = $ausgabe[album_dir]; 
} else if ($ToDo == "neu")  { 
  echo '<br>Neue Fotogalerie anlegen: 
    <input type="hidden" name="ToDo" id="ToDo" value="new_album">'; 
  $adatum = date(Y).'-'.date(m).'-'.date(d); 
  $atitle = "Neues Album"; 
  $adir = "nix"; 
} else if ($ToDo == "error")  { 
  echo '<p> Ein Fehler ist aufgetreten.</p>'; 
} 

echo'  <table width="100%"  border="0" cellpadding="5"> 
   <tr> 
     <td class="normal">Datum</td> 
     <td class="normal">Name</td> 
     <td class="normal">Pfad: upload/galerie/... </td> 
   </tr>'; 

/**************************start input ************************/ 
echo' 
   <tr> 
     <td valign="top"><input name="album_datum" type="text" class="field" value="'.$adatum.'"><br> 
       <span style="color:red;">Bitte auf das <br>Datumsformat achten!</span></td> 
     <td valign="top"><input name="album_title" type="text" class="field2" value="'.$atitle.'"></td> 
     <td valign="top"><select name="album_dir" class="field"> 
       <option value="nix">Ordner wählen</option>'; 
/**************************directory auslesen *****************/ 
$d = dir($cfgClient[$client]["path"]["frontend"].$upldir); 
while($entry=$d->read()) { 
   if ($entry != "." and $entry !="..")  { 
    echo '<option value="'.$entry.'"'; 
    if ($adir == $entry)  {  echo ' selected';  } 
    echo '>'.$entry.'</option>'; 
         } 
  } 
$d->close(); 
/************************ende directory auslesen ***************/ 

echo'<option value="delete_album">Galerie löschen</option></select></td> 
   </tr> 
  </table> 
';
output

Code: Alles auswählen

<?php 
/******************** editierbare variable ***************************/ 
$db_album = $cfg["tab"]["fotoalbum"]; 
$db_fotos = $cfg["tab"]["fotos"]; 
$upldir = "upload/galerie/"; 

//anzahl der angezeigten thumbnails 
$fps = "10"; 

/*********************************************************************/ 
//fotoupdate 
if ($Absenden = "Ändern")  { 
  $sql_update = "UPDATE ".$cfg["tab"]["fotos"]." SET foto_pos='$foto_pos',foto_text='$foto_text' WHERE foto_id = '".$picture."'"; 
  $db->query($sql_update); 
} 

//galerie finden 
$dbA = new DB_contenido; 
$sqlA = "SELECT * from $db_album WHERE idart = ".$idart; 
$dbA = mysql_query($sqlA); 

if (mysql_num_rows($dbA) != 1)  { 
  $fehler = "Keine Fotogalerie gefunden"; 
}  else  { 
  $album = mysql_fetch_array($dbA); 
  $album_id = $album[album_id]; 
  $img_dir = $upldir.$album[album_dir]."/"; 
  $thm_dir = $img_dir."thm/"; 
} 
if (!$fehler)  { 
  $dbF = new DB_contenido; 
  $sqlF = "SELECT * from $db_fotos WHERE album_id = ".$album_id; 
  $dbF->query($sqlF); 
  if ($dbF->num_rows() < 1)  { 
    $fehler = "Keine Fotos zu dieser Galerie gespeichert."; 
  }  else  { 
    $alle_fotos = $dbF->num_rows(); 
  } 
} 

if ($fehler)  { 
    exit ('<p style="color:red; font-weight: bold;">'.$fehler.'</span>'); 
} 
//##########-Navigation-########### 
$meineseite=$auth->url(); 
$seiten = ceil($alle_fotos / $fps); 

switch ($eintrag) {      // das erste mal beim aufruf ist $eintrag undefiniert 
  case ""; 
    $eintrag = "0";      // deswegen wertzuweisung 0 
} 

$max = ($eintrag + $fps); 
if ($max > $alle_fotos)  { 
  $last = $alle_fotos; 
}  else  { 
  $last = $max; 
} 
//##########-Output-########## 
$nav1 = "<tr><td colspan=2 height=20 align=center class=klein bgcolor=#ffcc00><strong>"; 
$nav2 = "<tr><td align=center colspan=2 class=klein bgcolor=#ffcc00><strong>"; 
if ($max >= $fps)  { 
  $nav1 .= "Fotos ".($eintrag+1)."-".($last)." von ".$alle_fotos; 
  $nav2 .= 'Seite'; 
  $currpage = ($max / $fps); 
  for ($i = 0; $i < $seiten; $i++)  { 
    if (($i+1) == $currpage)  { 
      $nav2 .= '</strong>&nbsp;|&nbsp;'.($i+1); 
    }  else { 
      $nav2 .= '</strong>&nbsp;|&nbsp;<strong><a href="'.$meineseite.'&eintrag='.(($i)*$fps).'">'.($i+1).'</a></strong>'; 
    } 
  }//end for 
  $nav2 .= '&nbsp;|'; 
}  else  { 
  $nav1 .= "Fotos ".($eintrag+1)."-".($alle_fotos)." von ".$alle_fotos; 
} 

$nav1 .= "</strong></td></tr>"; 
$nav2 .= "</td></tr>"; 
//##########-HTML-Output-########## 
echo ' 
  <table width="708"  border="0" cellspacing="0" cellpadding="0" style="padding-top:0px; margin-top:0px;"> 
  <tr> 
    <td width="208" valign="top"> 
    <table width="100%"  border="0" cellspacing="0" cellpadding="0" class="fotos"> 
'; 
echo $nav1.'<tr>'; 
//ausgabe thumbnails 
  $dbF_limited = new DB_contenido; 
  $sqlF_limited = "SELECT * from $db_fotos WHERE album_id = ".$album_id." ORDER by foto_pos LIMIT ".$eintrag.",".$fps; 
  $dbF_limited->query($sqlF_limited); 
  $count = "0"; 
  while ($dbF_limited->next_record())  { 
    $link = "idart=".$idart."&picture=".$dbF_limited->f("foto_id"); 
    if ($contenido)  {  $link .= '&contenido='.$contenido;  } 
    $img = $img_dir.$dbF_limited->f("filename"); 
    $thumb = $thm_dir.$dbF_limited->f("filename"); 
    echo '<td align="center"><a href="picture.php?'.$link.'" target="hauptbild"><img border=0 vspace=3 src="'.$thumb.'"></a></td>'; 
    $count++; 
    if ($count == 2)  { 
      echo '</tr><tr>'; 
      $count = 0; 
    } 
  } 
echo '</tr>'.$nav2.' 
    </table></td> 
    <td width="500" align="right" valign="top"><iframe name="hauptbild" src="picture.php?client=1&lang=1&idcat='.$idcat.'&idart='.$idart; 
  if ($contenido)  {  echo '&contenido='.$contenido;  } 
  if ($picture)  {  echo '&picture='.$picture;  } 
  echo '" height="538" width="500" scrolling="no" border="0" frameborder="0" style="background:#eeeeee; padding:0px; margin-top:0px;"> 
    </iframe></td> 
  </tr> 
</table> 
'; 
//##########-HTML-Output Ende-########## 
?>

Zusatzeintrag in cfg_sql.inc.php in contenido/includes:

Code: Alles auswählen

$cfg["tab"]["fotoalbum"] = $cfg['sql']['sqlprefix']."_fotoalbum";
$cfg["tab"]["fotos"] = $cfg['sql']['sqlprefix']."_fotos";
SQL insert. Damit neue Tabellen anlegen:

Code: Alles auswählen

CREATE TABLE `con_fotos` ( 
  `foto_id` int(1) NOT NULL auto_increment, 
  `foto_pos` int(1) NOT NULL default '99', 
  `filename` varchar(40) NOT NULL default '', 
  `foto_text` text NOT NULL, 
  `album_id` int(1) NOT NULL default '0', 
  `album_dir` varchar(40) NOT NULL default '', 
  `idart` int(1) NOT NULL default '0', 
  `idcat` int(6) NOT NULL default '0', 
  PRIMARY KEY  (`foto_id`) 
) TYPE=MyISAM AUTO_INCREMENT=144 ; 


CREATE TABLE `con_fotoalbum` ( 
  `album_id` int(1) NOT NULL auto_increment, 
  `album_title` varchar(200) NOT NULL default '', 
  `album_dir` varchar(40) NOT NULL default '', 
  `album_datum` date NOT NULL default '0000-00-00', 
  `idart` int(1) NOT NULL default '0', 
  `idcat` int(6) NOT NULL default '0', 
  PRIMARY KEY  (`album_id`) 
) TYPE=MyISAM AUTO_INCREMENT=3 ;
Vielleicht kann ich durch meine Fleißarbeit einigen anderen Anfängern (so wie ich) helfen.

Gruß Mc
Zuletzt geändert von Mc am So 15. Mai 2005, 19:42, insgesamt 1-mal geändert.

Aixtraweb
Beiträge: 100
Registriert: Do 23. Sep 2004, 10:55
Wohnort: Herzogenrath
Kontaktdaten:

Fotoalbum

Beitrag von Aixtraweb » Mi 6. Apr 2005, 11:14

Mc hat geschrieben:Großen Dank und Respekt an Oma, djw, Joey und all die anderen, die bei dieser tollen Bildergalerie mitgewirkt haben.
[....]
Ich habe mir aus allen threads eine lauffähige Version für 4.4.5 gebastelt.
Vielleicht kann ich durch meine Fleißarbeit einigen anderen Anfängern (so wie ich) helfen.

Gruß Mc
Auch Dir herzlichen Dank für Dein Posting! Damit läuft das Fotoalbum nun auch bei mir! :P
Mit freundlichen Grüßen
Jörg Knörchen

Meine Hobby-Webseite:
www.mein-foto-abc.de : contenido 4.6.15 - I love it! : www.yogie.de : www.bastelstun.de

grossy
Beiträge: 57
Registriert: Mi 28. Apr 2004, 12:56
Wohnort: downunder
Kontaktdaten:

Beitrag von grossy » Do 7. Apr 2005, 15:49

so habs jetzt auch zum laufen gebracht :) sweet!!!!

wenn ich jetzt aber den beschreibungstext des bildes unter den thumbnails (nicht im iframe) haben will, wird das nen hoellenaufwand oder? muss das aus platzgruenden aber leider verfolgen...

any ideas oder entmutigenden kommentare ?? :lol:
< put intelligent quote here />

oma wetterwax
Beiträge: 97
Registriert: Do 6. Mai 2004, 07:38
Kontaktdaten:

Beitrag von oma wetterwax » Do 7. Apr 2005, 18:06

grossy hat geschrieben:wenn ich jetzt aber den beschreibungstext des bildes unter den thumbnails (nicht im iframe) haben will, wird das nen hoellenaufwand oder? muss das
du sprichst ein wahres wort gelassen aus ...

die picture php hat ja den sinn, dass nicht immer die seite mit allen thumbs neu geladen wird. aber genau das müsste der fall sein, wenn sich der text auf der thumb-seite befindet.

an möglichkeiten fallen mit da hoc jetzt ein:
- ein zweiter iframe mit einer z.b. "text.php", die nur den text abfragt, die eingabe sollte in der picture.php bleiben, oder
- ein layer mit javascript-textänderung.
beide events würden durch ein onload-script in der picture.php ausgelöst, wobei ich denke, dass methode 2 einfacher ist.

poste mal die adresse, vielleicht gibt es noch andere möglichkeiten.

gruß
oma

imuhcs
Beiträge: 27
Registriert: Do 30. Sep 2004, 07:59
Kontaktdaten:

Beitrag von imuhcs » Do 7. Apr 2005, 18:24

guden seti ich das modul bie mir einsetze kommen folgende Feher im error log:

Code: Alles auswählen

[07-Apr-2005 18:22:49] MySQL error 1054: Unknown column 'idcat' in 'field list'
INSERT INTO con_fotoalbum (album_datum, album_title, idart, idcat, album_dir) VALUES ('2005-04-07','Neues Album','4','22','braunshkerb04')
[07-Apr-2005 18:22:53] PHP Warning:  mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\webdev\apache\Apache2\htdocs\test\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code on line 20
[07-Apr-2005 18:22:53] PHP Warning:  mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\webdev\apache\Apache2\htdocs\test\contenido\includes\include.tplcfg_edit_form.php(399) : eval()'d code on line 22
was geht denn da ab??? ich nutze contenido in der Version 4.4.5

einige post höher wurde doch eine Version publiziert die mit 445 laufen soll?? was habe ich fasch gemacht?[/code]

imuhcs
Beiträge: 27
Registriert: Do 30. Sep 2004, 07:59
Kontaktdaten:

Beitrag von imuhcs » Do 7. Apr 2005, 18:31

super habe den fehler gerade selber gefunden.
und zwar ist in den sql-befehlen zum erstellen der Datenbank einträge bei beiden tables vergessen worden, auch idart int(1) NOT NULL default '0',
mit reinzustellen!!!
habs von ahnd nachgeholt, dann gehts!!!!

oma wetterwax
Beiträge: 97
Registriert: Do 6. Mai 2004, 07:38
Kontaktdaten:

Beitrag von oma wetterwax » Do 7. Apr 2005, 18:31

du hast den code für den einsatz in verschiedenen kategorien verwendet.
da musst du in der tabelle natürlich auch eine spalte "idcat" anlegen.

gruss
oma

//hat sich wohl gekreuzt

imuhcs
Beiträge: 27
Registriert: Do 30. Sep 2004, 07:59
Kontaktdaten:

Beitrag von imuhcs » Do 7. Apr 2005, 18:50

also eigentlich klappts jetzt ohne fehlermeldungen, nur steht in meinem Backend in der konfiguration jetzt nur noch lapidar:

Code: Alles auswählen

Modul in Container 3:  Bilder Gallerie 
Galerie erfolgreich angelegt!
Für diesen Artikel ist folgende Galerie angelegt:  


Wie kann ich denn jetzt noch an der Gallerie konfigurieren, bzw sie löschen???

munin
Beiträge: 18
Registriert: So 7. Mär 2004, 19:21
Wohnort: Lueneburger Heide
Kontaktdaten:

404er im i-frame

Beitrag von munin » Do 7. Apr 2005, 23:06

Hallo Allezusammen,

habe das Fotoalbum jetzt unter wamp5 zu laufen mit contenido 4.5.2. Es läuft mit mehreren Alben bis auf ein paar kleinen Fehlern:

In der Vorschau erscheint ein 404er. I-Frame und Thumbs werden nicht angezeigt. Alle weiteren Seitenelemente haben keine css Formatierung in der Vorschau.
Im Browser wird aber alles korrekt dargestellt. Und ich kann im Editormodus keine Bildbeschreibung abspeichern, dann erscheint ebenfalls ein 404er.

Ich benutze den Code von Oma für die 4.5 mit den input Modifizierungen von emergence. Und erhalte keine Fehlermeldung in der errorlog.

Der mandant liegt bei mir im root und alle? Parameter sind dahingehend angepaßt. Aber in der Apache error.log kommt immer:
[Thu Apr 07 22:38:24 2005] [error] [client 127.0.0.1] File does not exist: d:/wamp/www/contenido/external/backendedit/front_content.php
[Thu Apr 07 22:38:29 2005] [error] [client 127.0.0.1] File does not exist:
d:/wamp/www/schweizerhof/css/upload/bilder/hintergrund/eiverl.gif
Hier stimmen die Pfade nicht. Vielleicht weiß Oma oder irgendjemand, wo ich was übersehen habe?

munin

grossy
Beiträge: 57
Registriert: Mi 28. Apr 2004, 12:56
Wohnort: downunder
Kontaktdaten:

Beitrag von grossy » Fr 8. Apr 2005, 06:16

@oma

sorry arbeite noch offline an der seite, online is noch nichts zu sehen. aber hier mal ne idee wie es aussehen muss:

Bild

das mit dem onLoad klingt ganz gut, daran hab ich bisher noch nicht gedacht. hatte jetzt halt immer das problem dass ich immer nur ein iframe bestuecken kann...

wenn jemand noch andere idee hat,, wie man mein problem loesen kann, bitte posten. bin fuer jede idee dankbar :)
< put intelligent quote here />

oma wetterwax
Beiträge: 97
Registriert: Do 6. Mai 2004, 07:38
Kontaktdaten:

Beitrag von oma wetterwax » Fr 8. Apr 2005, 11:40

@ munin

du musst in der picture.php (ziemlich weit unten) die form-action wie folgt ändern:

Code: Alles auswählen

<form method="post" action="front_content.php?changeview=edit&client=1&lang=1&action=con_editart&idartlang='.$idartlang.'&type=&typenr=&idart='.$idart.'" target="right_bottom">
beim zweiten fehlenden file sind css-pfad und upload-pfad irgendwie durcheinander geraten. am besten, du kontrollierst beide.

@imuhcs
Konfigurieren (sprich: reihen und kommentieren) kannst du die einzelnen fotos im editor.
wenn du in der artikelkonfiguration bei der ordnerauswahl "galerie löschen" wählst, wird die galerie gelöscht.

@grossy

am besten ist wahrscheinlich ein zweiter iframe mit "abgespecktem" file nur mit textabfrage:

Code: Alles auswählen

$dbF = new DB_contenido;
$sqlF = "SELECT * from ".$cfg["tab"]["fotos"]." WHERE foto_id = ".$picture;
$dbF->query($sqlF);
if ($dbF->num_rows() == 1)  {
  $dbF->next_record();
  $text = $dbF->f("foto_text");
  echo $text;
} 
in der picture.php ersetzt du den body-tag durch php:

Code: Alles auswählen

echo '<body onload="parent.textframe.location.replace (\'text.php?picture='.$img_to_show.'\');">';
und die größe des picture-iframes musst du wahrscheinlich für frontend und backend entsprechend anpassen, damit du auch die eingabefelder sehen kannst:

Code: Alles auswählen

<iframe name="hauptbild" src="picture.php?client=1&lang=1&idcat='.$idcat.'&idart='.$idart;
  if ($picture)  {  echo '&picture='.$picture;  }
  if ($contenido)  {  
    echo '&contenido='.$contenido.'" height="450"'; //hier stellst du die höhe für den editor ein
  } else  {
    echo '" height="450" //hier stellst du die höhe für das frontend ein
 }
echo 'width="394" scrolling="no" border="0" frameborder="0" style="background:#eeeeee; padding:0px; margin-top:0px;">
    </iframe>
gruss
oma

Gesperrt