ich hab mal wieder ein Problem mit einem Modul für die Artikelauflistung von w3concepts welche ich für meine Seite etwas geändert habe. Die änderung besteht darin das alle Artikel einer Kategorie nach ihrem Enddatum aus der Zeitsteuerung aufgelistet werden.
Ich benutze diesen Artikel für eine art Veranstaltungskalender, dabei wird der Lehrgangsartikel mit einem End-Datum versehen wann er beginnt, somit ist der Artikel immer Sichtbar bis zu dem Tag wo er stattfindet. Dabei listet der Artikel die Headline, das End-Datum und einen Ausschnitt aus dem Text aus.
Nun mein problem: ich habe noch nicht für alle Artikel ein End-Datum, diese Artikel werden mir dann "nicht" mit einem Datum ausgegeben sondern mit einem verweiss das für den Lehrgang noch ein Termin bekannt gegeben wird. Leider werden aber diese Artikel ohne Datum zuerst angezeigt, erst dann werden die Lehrgänge mit Datum angezeigt.
Ich benötige es aber genau anderst herum. Erst sollen alle Artikel Ausgegeben werden welche ein Datum haben und danach die mit der bemerkung. Irgendwie bekomme ich das nicht so richtig hin.
Kann mir vieleicht jemand von euch helfen.
Hier der Code für die Ausgabe:
Code: Alles auswählen
<?php
switch ($eintrag) { // das erste mal beim aufruf ist $eintrag undefiniert
case "";
$eintrag = "0"; // deswegen wertzuweisung 0
}
//Frontendpfad ermitteln
$query = "SELECT frontendpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='".$client."'";
$db->query($query);
$db->next_record();
$frontendpath = $db->f("frontendpath");
$zps = "CMS_VALUE[8]"; // Anzahl der Eintr?ge
$max = ($eintrag + $zps);
$meineseite=$auth->url();
//------------- erstmal z?hlen wieviel Artikel vorhanden sind --------------------
$startarton = "AND CATART.is_start = '0' AND";
//soll der startartikel mit ausgegeben werden?.
$print_startartikel = "CMS_VALUE[14]";
if($print_startartikel !=""){
$startarton = "AND";
}
$selcat = "CMS_VALUE[0]";
if($selcat!="0" && $selcat!=""){
/* schau nach, welcher artikel in der kategorie der startartikel is */
$db -> query("SELECT startidartlang FROM con_cat_lang WHERE idcatlang = '".$selcat."'");
$db -> next_record();
$startid = $db -> f("startidartlang");
// select all articles in category widthout start article
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang, ARTLANG.created, ARTLANG.dateend FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE ARTLANG.idart != '".$startid."' AND CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' "." $startarton " ."ARTLANG.online = '1' ORDER BY ARTLANG.dateend ASC ";
/* startartikel aus der navigation raus - 050601 - svo */
// execute query
$db->query($query);
unset($articleID);
unset($linkID);
// get id's of sub articles
while ($db->next_record()) {
$articleID[] = $db->f("idartlang");
$linkID[] = $db->f("idart");
$eintraege = $eintraege+1;
} // end while
}
//---------------------------------Unternavigation zusammenbauen------------------------------
$gbnav = "";
$gbnav .= "<table width=100% cellspacing=0 cellpadding=0><tr><td colspan=\"4\"><br><br><br><br></td></tr><tr>";
if ($max >= $eintraege)
$gbnav .= "<td class=subheadline><p> Lehrgang: ".($eintrag+1)."-".($eintraege)." von ".$eintraege."</p></td>";
else
$gbnav .= "<td class=subheadline><p> Lehrgang: ".($eintrag+1)."-".($max)." von ".$eintraege."</p></td>";
$gbnav .= "<td class=subheadline align=right><p>";
$pages = $eintraege / $zps;
if ($pages > 1) {
$gbnav .= "gehe zu Seite ";
for ($ii = 0; $ii < $pages; $ii++) {
if ($ii != ($eintrag / $zps)) {
$gbnav .= "<a href=\"$meineseite&a=view&eintrag=";
$gbnav .= ($ii * $zps);
$gbnav .= "\">[".($ii+1)."]</a> ";
}
}
}
//-------------------------------- und jetzt gehts los ----------------------------
$startarton = "AND CATART.is_start = '0' AND";
//soll der startartikel mit ausgegeben werden?.
$print_startartikel = "CMS_VALUE[14]";
if($print_startartikel !=""){
$startarton = "AND";
}
//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!=""){
// select all articles in category widthout start article
$query = "SELECT CATART.is_start, ARTLANG.idart, ARTLANG.idartlang, ARTLANG.dateend, ARTLANG.created FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE ARTLANG.idart != '".$startid."' AND CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' "." $startarton " ."ARTLANG.online = '1' ORDER BY ARTLANG.dateend ASC LIMIT $eintrag,$zps";
// execute query
$db->query($query);
unset($articleID);
unset($linkID);
// get id's of sub articles
while ($db->next_record()) {
$articleID[] = $db->f("idartlang");
$linkID[] = $db->f("idart");
} // end while
$gbnav .= "</p></td>";
/****************** start table **************************/
echo '
<table border="0" cellpadding="3" cellspacing="0" width="100%">
';
/**** ?berschrift der Artikelliste wird ausgegeben, wenn nicht leer ********/
if($print_mainheadline !=""){
echo '
<tr>
<td colspan="2" class="headline"> CMS_VALUE[2] <br></td>
<td align="right"> </td>
</tr>
<tr>
<td bgcolor="#ffffff" class="text"> </td>
<td align="right" bgcolor="#ffffff"> </td>
</tr>
';
}
if($print_mainheadline ==""){
echo '
<tr>
<td colspan="2" class="headline"> <br></td>
<td align="right"> </td>
</tr>
<tr>
<td bgcolor="#ffffff" class="text"> </td>
<td align="right" bgcolor="#ffffff"> </td>
</tr>
';
}
// Loop through articles
if (is_array($articleID)) {
foreach ($articleID as $key => $value) {
// select all CMS variables of the article
if($print_headline!="0" && $print_headline!=""){
$sql = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '1'";
$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 .= ' .....';
}
}
}
$cfgTab_art_lang = $cfg['tab']['art_lang'];
$cfgTab_content = $cfg['tab']['content'];
$sql = "SELECT A.author AS author, A.dateend as dateend FROM $cfgTab_art_lang AS A, $cfgTab_content AS B WHERE A.idart='$value' AND B.idartlang=A.idartlang ORDER BY A.dateend ASC";
$db->query($sql);$db->next_record();
if ($db -> f("dateend") != "0000-00-00 00:00:00") {
$modifydate= date("d.m.Y",strtotime($db->f("dateend")));
$modifytime= date("H:i",strtotime($db->f("dateend")));
} else {
$modifydate = "Neuer Termin in Vorbereitung.";
$modifytime = "";
}
if($print_subheadline!="0" && $print_subheadline!=""){
$sql_subheadline = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '2' AND typeid = '1'";
$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]'";
$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'";
$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($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.'vorlage.jpg';
$thumbsize = getImageSize($palette_image);
$maxdim = $thumbsize[0];
$draw_from = $imagelocation;
$dim = GetImageSize($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.'vorlage.jpg';
}
//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]&m=$m&s=$s");
/***********************Anfang Tablezeile f?r Artikelliste**********************/
echo '
<tr>
<td colspan="2" align="left" valign="bottom" class="trnews1" cellpadding="2" ><A HREF="'.$link.'">'.$headline.'</a></td>
<td width="150" align="right" nowrap class="trnews2"><A HREF="'.$link.'">'.$modifydate.'</a></td>
</tr>
<tr>
<td width="25" align="left" valign="top" class="icon"><img src="/images/icon_blatt25.gif" width="25" height="18"></td>
<td valign="top" class="text2"><a href="'.$link.'" style="font-weight: normal;">'.$subheadline.'</a>
<td width="150" valign="bottom" nowrap><a href="'.$link.'">
<img src="images/arrow_mehr.gif" border="0" align="right"></a></td>
</tr>
<tr>
<td align="left" bgcolor=""> </td>
<td height="10" colspan="2" valign="top" bgcolor="" class="newstext" style="background-image:url(images/trenner_balken-news.gif); background-repeat:repeat-x; background-position:top;"> </tr>
';
} // end while
unset($headline);
unset($headline1);
unset($subheadline);
unset($subheadline1);
} // end foreach
// -------------- Ausgabe der Seiten Navigation ----------------------
echo $gbnav;
// --------------- Ende der Seiten Navigation -------------------------
} // end if (is_array)
echo '</table>';
/***********************ende Table**********************/
?>
<br><br>