Seite 1 von 1

Erweiterte Artikelliste mit Seitenzählung

Verfasst: Do 27. Aug 2009, 07:32
von Fips
Hallo,
ich setzen seit einiger Zeit das Modul von 4fb "Erweiterte Artikelliste Version 1.1 mit Seitenzählung" ein, aber leider werden jetzt mit der Version 4.8.11 und 4.8.12 die Bilder in der Übersicht nicht mehr angezeigt.
Ich kann leider nicht finden, woran dies liegt. Kann mir da jemand weiterhelfen?
INPUT

Code: Alles auswählen

/** 
* CONTENIDO MODUL - INPUT
*
* Erweiterte Artikel liste Version 1.1 mit Seitenzählung
*
* Liste von Artikeln mit mehreren Daten basierend 
* auf 4fb referenz modul 
* 1.Gibt die Subheadline eines Artikel mit aus 
* 2.Anschnitte nur nach ganzen Wörtern 
* 3.Thumnails werden vernünftig berechnet 
* 4.Image für Erzeugung von Thumbs kann gewählt werden 
* Author : Evert Smit / Dirk Uptmoor / Peter Beauvain 
* Copyright : None 
* Created : 13-07-03 
* Modified : 16-08-02 /20-09-03 upt /02-02-04 Beau/04-04-04 Beau 
*/ 


// selected category
$selected = "CMS_VALUE[0]";
$seldir = "CMS_VALUE[9]";
$selimg = "CMS_VALUE[11]";
//funktion für die checkboxen
function d_checked($which) {
  if ($which != "") {
    return "checked";
  }
} // end function

echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\">        
  <tr>
         <td></td> <td></td><td width=\"120\">Anzahl Einträge/Seite:   </td><td></td>
          <td><input type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\"></td></tr>
<tr bgcolor=\"#E8E8EE\" valign=\"top\">
            <td></td>
            <td><input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[14]")." name=\"CMS_VAR[14]\"></td>
            <td width=\"120\">Ausgabe mit Startartikel</td>
            <td></td>
<td>Kategorie wählen:<br>
         
<select name=\"CMS_VAR[0]\">";

if($selected!="0" && $selected!=""){
             echo"<option value=\"0\">--- kein ---</option>";

            }else{
            echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
            }

            // fetch all categorys
            $query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ".
                     $cfg["tab"]["cat"]." AS B,  ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ".
                     "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ".
                     "AND C.visible=1 ORDER BY A.idtree";
            // execute query
            $db->query($query);

            // loop result and build the options
            while ($db->next_record()) {

              // indent spacer
              $spaces = "|";

              // how many levels
              $levels = $db->f("level");

              for ($i = 0; $i < $levels; $i ++) {
                // add 2 spaces for every level
                $spaces = $spaces . "--";

              } // end for
             
              $spaces .= ">";


              if ($selected == $db->f("idcat")) {
                // selected category
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } else {
                // category
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } // end if

            } // end while

echo "</select>";
       
echo "</td>
<td></td>      
</tr>
      <tr valign=\"top\">
         <td></td>
         <td></td>
         <td width=\"120\"></td>
            <td></td>
            <td>Überschrift: (wenn leer, keine Ausgabe)<br>
               <input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\" size=\"24\"></td>
         </tr>
         <tr bgcolor=\"#E8E8EE\" valign=\"top\">
            <td></td>
            <td> <input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[4]")." name=\"CMS_VAR[4]\"> </td>
            <td width=\"120\">Ausgabe der Artikel-Headline</td>
            <td></td>
            <td>Angezeigte Zeichen Artikel-Headline:<br>
               <input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\" size=\"24\"></td>
         </tr>
         <tr valign=\"top\">
            <td></td>
            <td><input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[5]")."  name=\"CMS_VAR[5]\"></td>
            <td width=\"120\">Ausgabe der Artikel-Subheadline:</td>
            <td></td>
            <td>Angezeigte Zeichen Artikel-Subheadline:<br>
               <input type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\" size=\"24\"></td>
         </tr>
         <tr bgcolor=\"#E8E8EE\" valign=\"top\">
            <td></td>
            
<tr bgcolor=\"#E8E8EE\" valign=\"top\">
            <td></td>
            <td><input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[7]")."  name=\"CMS_VAR[7]\" ></td>
            <td width=\"120\">Ausgabe der Thumbnails:</td>
            <td></td>
            <td>Bildcontainer für Thumbnail Quelle:<br>";
               

$db  = new DB_Contenido;
$query = "SELECT output AS out, name AS beschreibung FROM ".$cfg["tab"]["mod"]." "; 
$db->query($query); 
echo"<select name=\"CMS_VAR[11]\">";
echo"<option value=\"kein\">-- kein --</option> ";
while ($db->next_record()) { 
$frontendpath = $db->f("out"); 
$name = $db->f("beschreibung");

$rest = substr("$frontendpath", 3, 30); 

$find = strpos($rest,"CMS_IMG");
if ($find === false) {
}
else {
$ok = substr($rest, $find, 10); 
$nummer = substr($ok, 8, 1);
?>
            
	<option value="<?php echo $nummer ?>"<?php if ($selimg == $nummer) echo " selected" ?>><?php echo $db->f("beschreibung") ?>
 <?php
}
}
echo" </option> </select> ";
echo"</td>
</tr>
<td></td><td></td>
 <td width=\"120\">Thumbnail Ordner</td>
 <td></td><td>Bitte wählen:<br><select name=\"CMS_VAR[9]\" size=\"1\">";
echo"<option value=\"kein\">-- kein --</option>"; 

$db  = new DB_Contenido;
$query = "SELECT DISTINCT dirname FROM ".$cfg["tab"]["upl"]." ORDER BY dirname ASC"; 
$db->query($query);
while ($db->next_record()) {
?> 
            <option value="<?php echo $db->f("dirname") ?>"<?php if ($seldir == $db->f("dirname")) echo " selected" ?>><?php echo $db->f("dirname") ?></option> 
<?php 
   }
echo "</select></td>
<tr valign=\"top\">
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
"; //Ende
Output

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Erweiterte Artikel liste Version 1.1 mit Seitenzählung
*
* Liste von Artikeln mit mehreren Daten basierend
* auf 4fb referenz modul
* 1.Gibt die Subheadline eines Artikel mit aus
* 2.Anschnitte nur nach ganzen Wörtern
* 3.Thumnails werden vernünftig berechnet
*   Author : Evert Smit / Dirk Uptmoor / Peter Beauvain
* Copyright : None
* Created : 13-07-03
* Modified : 16-08-02 /20-09-03 upt /31-01-04 Beau/04-04-04 Beau 
* ************************************************/

//Frontendpfad ermitteln 
$query = "SELECT  frontendpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='".$client."'"; 
//echo $query."<br>";
$db->query($query); 
$db->next_record(); 
$frontendpath = $db->f("frontendpath");
$meineseite=$auth->url();

//die Überschrift wird ausgegeben wenn sie nicht leer ist.
$print_mainheadline = "CMS_VALUE[2]";
//soll headline ausgegeben werden?
$print_headline = "CMS_VALUE[4]";
//soll subheadline ausgegeben werden?
$print_subheadline = "CMS_VALUE[5]";
//soll ein thumnail ausgegeben werden?
$print_thumbnail = "CMS_VALUE[7]";
//thumbnail breite
$thumbnail_width = "CMS_VALUE[8]";
//wenn thumbnails = 0
$imagetag = "";

// second db class instance
$db2 = new DB_Contenido;

// selected category
$selcat = "CMS_VALUE[0]";
if($selcat!="0" && $selcat!=""){
  //soll der startartikel mit ausgegeben werden?.
  $print_startartikel = "CMS_VALUE[14]";
  unset($startartikelIdcat);
  if($print_startartikel !="on"){
    $sql="SELECT * FROM ".$cfg["tab"]["cat_lang"]." WHERE 1 AND `idcat` = '$selcat' ";
    //echo $sql."<br>";
    $db->query($sql);
    while ($db->next_record()) {
      $startartikelIdcat=$db->f("startidartlang");
    }
  }
  $sql = "SELECT
          ARTLANG.idart,
          ARTLANG.idartlang,
          CONTENT.typeid,
          CONTENT.value
        FROM
          ".$cfg["tab"]["cat_art"]." AS CATART,
          ".$cfg["tab"]["art_lang"]." AS ARTLANG,
          ".$cfg["tab"]["content"]." AS CONTENT "."
        WHERE
          CATART.idcat = '$selcat'
        AND
          ARTLANG.idart = CATART.idart
        AND
          CONTENT.typeid='5'
        AND
          ARTLANG.idartlang = CONTENT.idartlang
        AND
          ARTLANG.idlang = '$lang'
        AND
          ARTLANG.online = '1'
        ORDER BY
          CONTENT.value DESC";
  //echo $sql."<br>";
  $abfrage=$db->query($sql);
  $anzahlDaten = mysql_num_rows($abfrage); // Anzahl aller Einträge in der Datenbank

  // falls kein Startartikel ausgegeben werden soll wird dieser in der gesammtanzahl abgezogen
  if(isset($startartikelIdcat)){
    $anzahlDaten=$anzahlDaten-1;
  }
  
  // erstellen der Seitennavigation
  $zps = "CMS_VALUE[8]";  // Anzahl der Einträge die pro Seite angezeigt werden sollen
  $seitenlinks=$anzahlDaten/$zps; // errechnen der Inhaltsseiten
  $seitenlinks=ceil($seitenlinks); // aufrunden der Inhaltsseiten auf ganze Zahl
  unset($seitenLinkAnzeigen);
  // erstellen der links
  if(isset($_GET["von"])){
    $artikelVon=$_GET["von"]+1;
    $artikelBis=$_GET["von"]+$zps;
    if($artikelBis>$anzahlDaten){
      $artikelBis=$anzahlDaten;
    }
  }else{
    $artikelVon=1;
    $artikelBis=$zps;
  }
   $seitenLinkAnzeigen="<tr><td colspan=2 class=text>".mi18n("Artikel")." ".$artikelVon."-".$artikelBis." ".mi18n("von")." $anzahlDaten&nbsp;&nbsp;";
  if($seitenlinks>1){
    $von=1;
    for($i=1;$i<=$seitenlinks;$i++){
      if(($_GET["von"]==$von)OR(((!isset($_GET["von"]))AND($i==1))))
      {
        $seitenLinkAnzeigen.="&nbsp;<a href=\"front_content.php?idcat=".$idcat."&von=".$von."\">[<strong>Seite&nbsp;".$i."</strong>]</a>&nbsp;";
      }else{
        $seitenLinkAnzeigen.="&nbsp;<a href=\"front_content.php?idcat=".$idcat."&von=".$von."\">[Seite&nbsp;".$i."]</a>&nbsp;";
      }
    $von=$von+$zps;
    }
  }
  $seitenLinkAnzeigen.="</td></tr>";

  unset($articleID);
  unset($linkID);
  unset($datum);
  
  // ermitteln der ID der Artikel
  while ($db->next_record()) {
    if($startartikelIdcat!=$db->f("idart")){
      $articleID[] = $db->f("idartlang");
      $linkID[] = $db->f("idart");
      $datum[]=$db->f("value");
    }
  } // end while

  for($i=0;$i<count($articleID);$i++){
    $sortieren_art[$articleID[$i]] = $datum[$i];
  }
  for($i=0;$i<count($linkID);$i++){
    $sortieren_link[$linkID[$i]] = $datum[$i];
  }
  foreach ($sortieren_art as $key => $inhalt){
    $articleID_sort[$key]=substr($inhalt,6,4).substr($inhalt,3,2).substr($inhalt,0,2);
  }
  foreach ($sortieren_link as $key => $inhalt){
    $link_sort[$key]=substr($inhalt,6,4).substr($inhalt,3,2).substr($inhalt,0,2);
  }
  
  arsort($articleID_sort);
  arsort($link_sort);
  unset($articleID);
  unset($linkID);
  unset($datum);
  
  foreach ($articleID_sort as $key2 => $datum_sort){
    $articleID[]=$key2;
  }
  foreach ($link_sort as $key2 => $datum_sort){
    $linkID[]=$key2;
    $datum_eintrag[]=$datum_sort;
  }
  

  /****************** start table **************************/
  echo '
  <table border="0" cellpadding="3" cellspacing="0" width="96%">';
  
  /**** Überschrift der Artikelliste wird ausgegeben, wenn nicht leer ********/

  if($print_mainheadline !=""){
    echo ' <tr><td colspan="2" class="h1">CMS_VALUE[2]</td></tr>';
  }
  if($print_mainheadline ==""){
  echo ' <tr colspan="2" ><td> </td></tr>';
  }
  $datum_array=-1;
  
  // zuweisen der Inhalte von-bis der einzlnen Seiten
  if(isset($_GET["von"])){
    $start=$_GET["von"];
  }else{
    $start=0;
  }
  // Ändern der anzeige der Artikel für Unterseiten
  //foreach($articleID as $a=>$b) {echo  "A ".$b."<br>";}
  $articleID=array_slice($articleID, $start, $zps);
  $datum_eintrag=array_slice($datum_eintrag, $start, $zps);
  $linkID=array_slice($linkID, $start, $zps);
  //foreach($articleID as $a=>$b) {echo  "B" .$b."<br>";}
  
  // Loop through articles
  if (is_array($articleID)) {
    foreach ($articleID as $key => $value) {
      // select all CMS variables of the article
      $datum_array++;
      $datum_anzeigen=$datum_eintrag[$datum_array];
      $datum_anzeigen=substr($datum_anzeigen,6,2).".".substr($datum_anzeigen,4,2).".".substr($datum_anzeigen,0,4);
  
      if($print_headline!="0" && $print_headline!=""){
        $sql = "SELECT
              * 
            FROM
              ".$cfg["tab"]["content"]."
            WHERE
              idartlang = '$value'
            AND
              idtype = '1'
            AND
              typeid = '1'";
        //echo $sql."<br>";
        $db->query($sql);
        $db->next_record();
        $headline = urldecode($db->f("value"));

        for ($j=CMS_VALUE[3]; $j < CMS_VALUE[3]+20; $j++)
        {
          $headline1 = substr($headline , 0, $j);

          $cut = substr($headline, $j);
          if ((ord ($cut) == 32)||(ord ($cut) == 44)||(ord ($cut) == 45)) {

            $headline= substr($headline , 0, $j);
            $headline .= ' .....';
          }
        }
      }

      if($print_subheadline!="0" && $print_subheadline!=""){
      $sql_subheadline="SELECT
                  *
                FROM
                  ".$cfg["tab"]["content"]."
                WHERE
                  idartlang = '$value'
                AND
                  idtype = '1'
                AND
                  typeid = '2'";
      //echo $sql."<br>";
      $db->query($sql_subheadline);
      $db->next_record();

      $subheadline = urldecode($db->f("value"));


      for ($i=CMS_VALUE[6]; $i < CMS_VALUE[6]+20; $i++)
      {
        $subheadline1 = substr($subheadline , 0, $i);
        $cut = substr($subheadline, $i);
        if ((ord ($cut) == 32)||(ord ($cut) == 44)||(ord ($cut) == 45)) {

          $subheadline= substr($subheadline , 0, $i);
          $subheadline .= ' .....';
        }
      }
    }
    /******************* begin thumbnails **********************************/
    if($print_thumbnail !="0" && $print_thumbnail !=""){
      // select and resolve image path
      $imagesql="select
              value
            from
              ".$cfg["tab"]["content"]."
            where
              idartlang='$value'
            and
              idtype='4'
            and
              typeid='CMS_VALUE[11]'";
      //echo $imagesql."<br>";
      $db2->query($imagesql);
      $db2->next_record();
      $image_id= $db2->f("value");


      // get image name and path
      $imagesql="select
              *
            from
              ".$cfg["tab"]["upl"]."
            where
              idupl='$image_id'";
      //echo $imagesql."<br>";        
      $db2->query($imagesql);
      $db2->next_record();


      $webdir='upload/';
      $thumbdir='CMS_VALUE[9]';
      $filedir=$frontendpath;
      $imagelocation=$filedir.$webdir.$db2->f('dirname').$db2->f('filename');

      $thumblocation=$filedir.$webdir.$thumbdir.$db2->f('filename');
      if (!file_exists($thumblocation)){
        // create thunbnail
        $fileinformation= getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $imagelocation));
        $imagewidth = $fileinformation[0];
        $imageheight = $fileinformation[1];
        $imagetype=$db2->f('filetype');
        $imageattributes = $fileinformation[3];
        //$newfile= $last_id."-image.".$imagetype;
        $target=$thumblocation;
        if ( !(copy($imagelocation,$target)))
        {
          echo "Could not copy file to destintaion., Command returned Error Message. Please check your log files. ".$imagelocation." ".$target;
          die;
        }
        //create thumbnails 80xrelational height; neu $thumbnail_width x proportionale Höhe
        // Determine what filetype and set pointer to source image

  
        $original_image=ImageCreateFromJPEG($target);
 
        if (!$original_image){
          echo 'Error getting image from '.$target.'.';
        }



        $palette_image =$filedir.$webdir.$thumbdir.'top.gif';
        $thumbsize =  getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"],$palette_image)); 
        $maxdim = $thumbsize[0]; 
        $draw_from = $imagelocation; 
        $dim = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"],$draw_from)); 
        if($dim[0]>$dim[1]) 
        { 
          $to_w = $maxdim; 
          $to_h = round($dim[1]*($maxdim/$dim[0])); 
          $to_x = 0; 
          $to_y = round($maxdim-$to_h)/2; 
        }
        else 
        { 
          $to_h = $maxdim; 
          $to_w = round($dim[0]*($maxdim/$dim[1])); 
          $to_y = 0; 
          $to_x = round($maxdim-$to_w)/2; 
        } 

        if($dim[2]==1) {$from = ImageCreateFromGIF($draw_from);} 
        elseif($dim[2]==2) {$from = ImageCreateFromJPEG($draw_from);} 
        elseif($dim[2]==3) {$from = ImageCreateFromPNG($draw_from);} 
        $thumb = ImageCreateFromJPEG($palette_image); 
        // $set_bg_colour = ImageColorAllocate($thumb,255,0,0); 
        // $fill_bg_colour = ImageFill($thumb,0,0,$set_bg_colour); 
        imagecopyresampled($thumb, $from, $to_x, $to_y, 0, 0, $to_w, $to_h, $dim[0], $dim[1]); 

        //echo $target;
        // set image width and height of thunbnail and put pointer for filesytsem
        $thumbfile= $db2->f('filename');
        $target_thumb=$thumblocation;
        $t_width=$thumbnail_width;
        // calculating height to maintain ratio
        $t_height=($thumbnail_width/$imagewidth)*$imageheight;
        // remove digits to get solid number
        list ($t_height,$notimportand)=explode('.',$t_height);
        // create blank image
        $thumb_image=imagecreatetruecolor($t_width,$t_height);
        //     $thumb_image=imagecreate($t_width,$t_height);
        //   $thumb_image=ImageCreateFromJPEG($palette_image);
        // resize image based on height and width
        imagecopyresampled($thumb_image,$original_image,0,0,0,0,$t_width,$t_height,$imagewidth,$imageheight);
        // store image on file system
        // requires different functionf for either gif or jpeg
   
        imagejpeg($thumb,$target_thumb);
 
        imagedestroy($thumb);
        imagedestroy($original_image);
      }
      $image=$webdir.$thumbdir.$db2->f('filename');
    
      //wenn Artikel kein Bild hat   

      if (!$db2->f('filename')){
        $image=$webdir.$thumbdir.'_leer.gif';
      }
      //Ende 
      $imagetag="<img src=\" $image \" border=0>";
    } // ende wenn keine thumbs gewünscht
    /**************** Ende Thumbnails ***********************/

    // link
    $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]");
    /***********************Anfang Tablezeile für Artikelliste**********************/
    echo '
       <tr><td valign="top"><a class="datum" href="'.$link.'">'.$datum_anzeigen.'</a></td><td valign="top"><A HREF="'.$link.'">'.$headline.'</a><BR><BR>'.$subheadline.'</td></tr>
        <tr><td> </td><td width="$thumbnail_width" valign="top" bgcolor="#ffffff"><A HREF="'.$link.'">'.$imagetag.'</a></td></tr>
        <tr><td> </td><td ><a href="'.$link.'">mehr ...</a></td></tr>
       <tr><td colspan="2"><HR></td></tr>';
  } // end while

  echo "CMS_HTML[5]";

  unset($headline);
  unset($headline1);
  unset($subheadline);
  unset($subheadline1);

} // end foreach
} // end if (is_array)
echo $seitenLinkAnzeigen;
echo '</table>';

/***********************ende Table**********************/
$sort_datum = $_POST["sort_datum"];
?>
Bildmodul:

Code: Alles auswählen

<DIV id="Bild">
<?php
if ("CMS_IMG[1]" != "") {

    $imge = '<img src="CMS_IMG[1]" alt="CMS_IMGTITLE[1]" border="0">';

    if ("CMS_LINK[1]" != "http://") {
        $imge = sprintf('<a href="%s" target="%s">%s</a>',"CMS_LINK[1]", "CMS_LINKTARGET[1]", $imge);
    }
    echo $imge;
}
echo "<p class='Bildbeschreibung'>CMS_IMGDESCR[1]&nbsp;</p>";
echo "CMS_LINKDESCR[1]";
?></DIV>
Vielen Dank im voraus.
Fips