ich habe das Artikellisten-Modul von Detlev auf Contenido 4.3 portiert. Viel Spaß damit!
Grüße
Daniel
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : News-Liste rechts
* Author(s) : 4fb - Jan Lengowski, Jose Rodriguez, Detlev Wagner
* Copyright : Contenido - four for business, Jose Rodriguez
* Created : 15-08-2002
* Modified : 21-09-2002
* Converted to Contenido 4.3.2.1b by D. Kreuzhofer 06.08.2003 */
// selected category
$selected = "CMS_VALUE[0]";
echo "<table>
<tr valign=\"top\">
<td width=\"202\">News-Spalte zeigen?</td>
<td><select name=\"CMS_VAR[2]\" size=\"1\">";
if ("CMS_VALUE[2]" == "")
{
echo "<option selected>Ja</option>";
echo "<option>Nein</option>";
}
if ("CMS_VALUE[2]" != "")
{
echo "<option selected>CMS_VALUE[2]</option>";
echo "<option>Ja</option>";
echo "<option>Nein</option>";
}
echo "</SELECT></td>
</tr>
<tr valign=\"top\">
<td>Kategorie wählen:</td>
<td>
<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>
</tr>
<tr>
<td>Anzahl Artikel:</td>";
if("CMS_VALUE[1]"!=0)
{
echo"<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td>";
}
else
{
echo"<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"5\"></td>";
}
echo "</tr>
<tr>
<td>Untertitel (Anzahl Zeichen)</td>";
if("CMS_VALUE[3]"!=0)
{
echo"<td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\"></td>";
}
else
{
echo"<td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"100\"></td>";
}
echo "</tr>
</table>";
// End of INPUT Module
<?
//////////////////////////////////////////////////////////
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Artikelliste
* Author(s) : 4fb - Jan Lengowski, Jose Rodriguez
* Copyright : Contenido - four for business, Jose Rodriguez
* Created : 15-08-2002
* Modified : 21-09-2002
* Converted for Contenido 4.3.2.1b by Daniel Kreuzhofer 06.08.2003 */
if("CMS_VALUE[2]"!="Nein")
{ //start Abfrage Modul ja oder nein
// second db class instance
//$db2 = new DB_Contenido;
// selected category
$selcat = "CMS_VALUE[0]";
// anzahl articles
$showart= "CMS_VALUE[1]";
// anzahl der zeichen h1
$mxh = "CMS_VALUE[3]";
// select all articles in category widthout start article
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ".
"ARTLANG.online = '1' ORDER BY CATART.idart DESC";
// execute query
$db->query($query);
unset($articleID);
unset($linkID);
// any news?
$newscounter = $db->num_rows($db);
if ($newscounter > 0)
{
// session register des Startwertes für die Wiederkehr
// die Variable start_news ist ein Array,
// bei dem als Nummer des Arrayfeldes der
// jeweilige Nav-Start Wert aus der Linkleiste gilt
$sess->register("startwert_news");
//wenn per link ($startwert_url) ein Startwert kommt
if(isset($startwert_url))
$startwert_news[$nav_start]=$startwert_url;
//wenn weniger Artikel da sind, als gezeigt werden sollen
if ($startwert_news[$nav_start]<$showart)
$startwert_news[$nav_start]=0;
// start html-output
echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"
border=\"0\">
<tr valign=\"middle\" bgcolor=\"#000099\">
<td class=\"font\" align=\"right\" valign=\"top\" colspan=\"2\">
<img src=\"".$root."/pages/grafiken/leer.gif\" width=\"1\" height=\"5\"
alt=\"\"></td>
</tr>
<tr valign=\"middle\">
<td align=\"left\" class=\"font\" valign=\"top\"
colspan=\"2\"><b>News intern:</b> </td>
</tr>";
//wenn die Weiterschaltung benötigt wird
if($newscounter>$showart)
{
$link = PHP_SELF."?client=$client&lang=$lang&idcat=$idcat&idart=$idart";
echo"<tr><td align = \"left\" width=\"50%\" class = \"fontklein\">";
if($startwert_news[$nav_start]>0)
{
$summe=$startwert_news[$nav_start] - $showart;
if ($startwert_news[$nav_start]<$showart)
$summe=0;
echo "<a href=\"".$link."&startwert_url=".$summe."\"><img
src=\"$root/pages/grafiken/graupfeil_links.gif\" border=\"0\"> neuere</a>";
}
echo" </td><td align = \"right\" width=\"50%\" class = \"fontklein\">";
if($startwert_news[$nav_start]<$newscounter-$showart)
{
$summe=$startwert_news[$nav_start]+$showart;
echo "<a href=\"$link&startwert_url=".$summe."\">ältere <img
src=\"$root/pages/grafiken/graupfeil.gif\" border=\"0\"></a>";
}
echo" </td></tr>";
}
//Ausgabe der Variablen
/*
echo"
<tr><td class=\"fontklein\" colspan=\"2\">
counter: ".$newscounter."<br>
limit: ".$showart."<br>
startwert_news: ".$startwert_news[$nav_start]
."</td></tr>";
*/
echo "<tr valign=\"middle\" bgcolor=\"#000099\">
<td class=\"font\" align=\"right\" valign=\"top\" colspan=\"2\">
<img src=\"".$root."/pages/grafiken/leer.gif\" width=\"1\" height=\"5\"
alt=\"\"></td>
</tr>";
// get id's of sub articles
while ($db->next_record())
{
$articleID[] = $db->f("idartlang");
$linkID[] = $db->f("idart");
} // end while
// loop through subarticles
if($newscounter >= $showart+$startwert_news[$nav_start]) $i_max=$showart+$startwert_news[$nav_start];
if($newscounter < $showart+$startwert_news[$nav_start]) $i_max=$newscounter;
for ($i=$startwert_news[$nav_start]; $i<$i_max;$i++)
{
// select all CMS variables of the article
// $query = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' ORDER BY typeid";
$query = "SELECT title,summary, created FROM ".$cfg["tab"]["art_lang"]." WHERE idartlang = '$articleID[$i]'";
// execute query
$db->query($query);
// link
//// $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$i]&m=$m&s=$s");
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$i]");
// loop through result and extraxt data
while ($db->next_record())
{
// data type
$headline = $db->f("title");
//rausfiltern vo (intern), ( interna)
$headline=eregi_replace("\(.?intern.?\)","",$headline);
$created= date("d.m.y H:i",strtotime($db->f("created")));
$summary = $db->f("summary");
$len = strlen($summary);
// cut summary if too long
if ($len > $mxh )
{
$summary = substr($summary,0,$mxh);
$summary = $summary . " ...";
} // end if
} // end while
// HTML template for one element
echo " <tr>
<td width=\"100%\" colspan=\"2\">
<span class=\"font\"><b>$headline</b><br /></span>
<span class=\"fontklein\">($created) <br />";
if($summary!="") echo $summary."<br>";
echo "</span>
</td>
</tr>
<tr>
<td align=\"right\" width=\"100%\" colspan=\"2\">
<a href=\"$link\" class=\"fontkleinaktiv\">lesen </a>
<a href=\"$link\"><img
src=\"$root/pages/grafiken/graupfeil_leer.gif\" border=\"0\"></a>
<br />
</td>
</tr>";
unset($headline);
unset($summary);
unset($created);
} // end foreach
echo "</table>";
} // end any news?
} // end Abfrage ob Modul ja oder nein
?>