ich habe mir für einen Blog eine Artikelkalender geschreiben.
Es besteht aus 2 Modulen, einmal dem Kalender selbst und dann einer Ausgabeseite für die Artikel.
Kalender
Eingabe:
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Kalender v.1
* Author : Phillip Baumgärtner
* Copyright : Phillip Baumgärtner
* Created : 19-01-2006
* Modified :
************************************************/
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">";
echo "<tr valign=\"top\"><td>Kategorie wählen:</td><td><select name=\"CMS_VAR[0]\">";
$selected = "CMS_VALUE[0]";
if($selected!="0" && $selected!=""){
echo"<option value=\"0\">--- kein ---</option>";
} else {
echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
}
$sql = "
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
";
$db->query($sql);
while ($db->next_record()) {
$spaces = "|";
$levels = $db->f("level");
for ($i = 0; $i < $levels; $i ++) {
$spaces = $spaces . "--";
}
$spaces .= ">";
if ($selected == $db->f("idcat")) {
echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} else {
echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
}
}
echo "</select></td></tr>";
echo "<tr><td>Artikel der Ausgabeseite:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\" size=\"15\" /></td>";
echo "</table>";
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Kalender v.1
* Author : Phillip Baumgärtner
* Copyright : Phillip Baumgärtner
* Created : 19-01-2006
* Modified :
************************************************/
if (isset($_GET["jahr"])) {
$jahr = $_GET["jahr"];
} else {
$jahr = date("Y");
}
if (isset($_GET["monat"])) {
$monat = $_GET["monat"];
} else {
$monat = date("n");
}
if ($monat == 1) {
$b_jahr = $jahr -1;
$b_monat = 12;
} else {
$b_monat = $monat -1;
$b_jahr = $jahr;
}
$b_link = "front_content.php?idcat=$idcat&jahr=$b_jahr&monat=$b_monat";
if ($monat == 12) {
$n_jahr = $jahr +1;
$n_monat = 1;
} else {
$n_monat = $monat +1;
$n_jahr = $jahr;
}
$n_link = "front_content.php?idcat=$idcat&jahr=$n_jahr&monat=$n_monat";
$datum = mktime(1,0,0,$monat,1,$jahr);
$t = date("t",$datum); // Anzahl der Tage des angegebenen Monats
$w = date("w",$datum); // Numerischer Tag einer Woche
$tag = array(1,0,6,5,4,3,2);
$monat_ohne_erste_woche = $t - $tag[$w];
$letzte_woche = $erste_woche % 7;
$wochen = ($monat_ohne_erste_woche - $letzte_woche) / 7;
$leere_zellen_erste_woche = 7 - $tag[$w];
$volle_zellen_erste_woche = 7 - $w + 1;
$leere_zellen_letzte_woche = 7 - $letzte_woche;
global $cfg, $idcat;
$db = new DB_Contenido;
$resultat = "SELECT DAYOFMONTH(created)
AS tag FROM ".$cfg["tab"]["art_lang"]." WHERE YEAR(created)= $jahr
AND MONTH(created) = $monat";
if ($result = $db->query($resultat)) {
} else {
echo "<li>SQL error: ".mysql_error()."</li>";
}
if ($monat == 1) {$monat_title = "Januar"; $b_monat = "Dezember"; $n_monat ="Februar";}
elseif ($monat == 2) {$monat_title = "Februar"; $b_monat = "Januar"; $n_monat ="März";}
elseif ($monat == 3) {$monat_title = "März"; $b_monat = "Februar"; $n_monat ="April";}
elseif ($monat == 4) {$monat_title = "April"; $b_monat = "März"; $n_monat ="Mai";}
elseif ($monat == 5) {$monat_title = "Mai"; $b_monat = "April"; $n_monat ="Juni";}
elseif ($monat == 6) {$monat_title = "Juni"; $b_monat = "Mai"; $n_monat ="Juli";}
elseif ($monat == 7) {$monat_title = "Juli"; $b_monat = "Juni"; $n_monat ="August";}
elseif ($monat == 8) {$monat_title = "August"; $b_monat = "Juli"; $n_monat ="September";}
elseif ($monat == 9) {$monat_title = "September"; $b_monat = "August"; $n_monat ="Oktober";}
elseif ($monat == 10) {$monat_title = "Oktober"; $b_monat = "September"; $n_monat ="November";}
elseif ($monat == 11) {$monat_title = "November"; $b_monat = "Oktober"; $n_monat ="Dezember";}
else {$monat_title = "Dezember"; $b_monat = "November"; $n_monat ="Januar";}
echo "<h3>$monat_title $jahr</h3>";
echo "<table id=\"Kalender\">";
echo "<tr class=\"navigation\"><td colspan=\"3\"><a href=\"$b_link\">$b_monat</a></td><td></td><td colspan=\"3\"><a href=\"$n_link\">$n_monat</a></td></tr>";
echo "<tr><th>Mo</th><th>Di</th><th>Mi</th><th>Do</th><th>Fr</th><th>Sa</th><th>So</th></tr>";
$tage_aktivitaeten = array();
$zaehler = 0;
while (list($tag)=mysql_fetch_row($result)) {
$tage_aktivitaeten[$zaehler] = $tag;
$zaehler++;
}
if ($monat < 10) {
$monat = "0".$monat;
}
$schon_gezaehlte_tage = 0;
if ($w == 0) {
print "<tr>";
for ($i = 0; $i < 6; $i++) {
print '<td></td>';
}
$schon_gezaehlte_tage += 1;
if (in_array($schon_gezaehlte_tage, $tage_aktivitaeten)){
if ($schon_gezaehlte_tage < 10) {
$aktueller_tag = "0".$schon_gezaehlte_tage;
} else {
$aktueller_tag = $schon_gezaehlte_tage;
}
echo '<td class="aktivitaet"><a href="front_content.php?idart=CMS_VALUE[1]&date='.$jahr.'-'.$monat.'-'.$aktueller_tag.'">1</a></td>';
} else {
print '<td>1</td>';
}
print "</tr>";
} elseif ($w != 0) {
print "<tr>";
for ($i = 0; $i < $leere_zellen_erste_woche; $i++) {
print '<td></td>';
}
for ($i = 0; $i < $volle_zellen_erste_woche; $i++) {
$schon_gezaehlte_tage += 1;
if (in_array($schon_gezaehlte_tage, $tage_aktivitaeten)) {
if ($schon_gezaehlte_tage < 10) {
$aktueller_tag = "0".$schon_gezaehlte_tage;
} else {
$aktueller_tag = $schon_gezaehlte_tage;
}
echo '<td class="aktivitaet"><a href="front_content.php?idart=CMS_VALUE[1]&date='.$jahr.'-'.$monat.'-'.$aktueller_tag.'">'.$schon_gezaehlte_tage.'</a></td>';
} else {
print "<td>$schon_gezaehlte_tage</td>";
}
}
print "</tr>";
}
for ($i = 0; $i < $wochen; $i++) {
print "<tr>";
for ($d = 0; $d < 7; $d++) {
$schon_gezaehlte_tage += 1;
if ($schon_gezaehlte_tage < $t +1) {
if (in_array($schon_gezaehlte_tage, $tage_aktivitaeten)) {
if ($schon_gezaehlte_tage < 10) {
$aktueller_tag = "0".$schon_gezaehlte_tage;
} else {
$aktueller_tag = $schon_gezaehlte_tage;
}
echo '<td class="aktivitaet"><a href="front_content.php?idart=CMS_VALUE[1]&date='.$jahr.'-'.$monat.'-'.$aktueller_tag.'">'.$schon_gezaehlte_tage.'</a></td>';
} else {
print "<td>$schon_gezaehlte_tage</td>";
}
} else {
print "<td></td>";
}
}
print "</tr>";
}
/*if ($schon_gezaehlte_tage < $t) {
print '<tr>';
while ($letzte_woche > 0) {
$letzte_tage = $t - $letzte_woche + 1;
if (in_array($letzte_tage, $tag)) {
echo '<td class="aktivitaet">'.$letzte_tage.'</td>';
} else {
print "<td>$letzte_tage</td>";
}
$letzte_woche -= 1;
}
for ($i = 0; $i < leere_zellen_letzte_woche; $i++) {
print '<td></td>';
}
print '</tr>';
}*/
echo "</table>";
?>
Sie ist auf der Artikelliste w3concepts.alist.thumb.v1 aufgebaut.
Eingabe
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : w3concepts.alist.thumb.v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 07-11-2004
* Modified : 07-11-2004
************************************************/
class pfadAlistThumb {
function pfadAlistThumb($pfad) {
$this->pfad = $pfad;
$this->pathlen = strlen($this->pfad);
}
function getPath($root,$level = 0) {
$content = $this->readDir($root);
foreach ($content as $file) {
if (is_dir($root.$file)) {
$verzeichnis = substr($root,$this->pathlen);
$returnvalue["{$verzeichnis}{$file}/"] = str_repeat(" ",$level * 5).$file;
$returnvalue = array_merge($returnvalue,$this->getPath($root.$file."/",$level+1));
}
}
return $returnvalue;
}
function readDir($path) {
$handle = opendir($path);
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") $returnvalue[] = $file;
}
closedir($handle);
return $returnvalue;
}
function makeSelect($preselection) {
$pfad = $this->getPath($this->pfad);
foreach ($pfad as $key => $value) {
echo "$key :: $value<br/>\n";
if ($preselection == $key) {
echo "<option value=\"$key\" selected=\"selected\">$value</option>";
} else {
echo "<option value=\"$key\">$value</option>";
}
}
}
}
$pfad = new pfadAlistThumb($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload']);
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">";
echo "<tr><td>Thumbnailpfad:</td>";
echo "<td><select size=\"1\" name=\"CMS_VAR[0]\" />";
$pfad->makeSelect("CMS_VALUE[0]");
echo "</td>";
echo "<tr valign=\"top\"><td>Kategorie wählen:</td><td><select name=\"CMS_VAR[1]\">";
$selected = "CMS_VALUE[1]";
if($selected!="0" && $selected!=""){
echo"<option value=\"0\">--- kein ---</option>";
} else {
echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
}
$sql = "
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
";
$db->query($sql);
while ($db->next_record()) {
$spaces = "|";
$levels = $db->f("level");
for ($i = 0; $i < $levels; $i ++) {
$spaces = $spaces . "--";
}
$spaces .= ">";
if ($selected == $db->f("idcat")) {
echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} else {
echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
}
}
echo "</select></td></tr>";
echo "<tr><td>Anzahl Artikel je Seite:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\" size=\"3\" /></td>";
echo "<tr><td>Text für Previous-Link:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\" size=\"15\" /></td>";
echo "<tr><td>Text für Next-Link:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\" size=\"15\" /></td>";
echo "<tr><td>Thumbnail-Breite:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\" size=\"5\" /></td>";
echo "<tr><td>Artikel anzeigen bis:</td>";
echo "<td><select name=\"CMS_VAR[6]\">";
$ebene = "CMS_VALUE[6]";
for ($i=0;$i>-3;$i--) {
if ($i == $ebene) {
echo"<option value=\"$i\" selected=\"selected\">Ebene $i</option>";
} else {
echo"<option value=\"$i\">Ebene $i</option>";
}
}
echo "</table>";
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : w3concepts.alist.mod4.v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 06-21-2004
* Modified : 06-21-2004
************************************************/
class alistThumbs {
function alistThumbs() {
// Initialwerte festlegen
$this->setIniValues();
// Datenbankverbindung herstellen
$this->db = new DB_Contenido;
$this->db2 = new DB_Contenido;
// Anzahl Artikel ermitteln
$this->anzahl_artikel = $this->getNumberOfArticles();
// Artikel auslesen
$this->getArticles();
// Navigation ausgeben
echo "<div class=\"topAddContrContainer\">";
$this->showNavigation();
echo "</div>";
// Artikel ausgeben
$this->showArticles();
// Navigation ausgeben
echo "<div class=\"bottomAddContrContainer\">";
$this->showNavigation();
echo "</div>";
}
function setIniValues() {
$bildzielpfad = "CMS_VALUE[0]";
$this->bildzielpfad['frontend'] = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['path']['htmlpath'].$GLOBALS['cfgClient']["{$GLOBALS['client']}"]['upload'].$bildzielpfad;
$this->bildzielpfad['backend'] = $GLOBALS['cfgClient']["{$GLOBALS['client']}"]['path']['frontend'].$GLOBALS['cfgClient']["{$GLOBALS['client']}"]['upload'].$bildzielpfad;
$this->categorie = "CMS_VALUE[1]";
$this->angezeigte_anzahl = "CMS_VALUE[2]";
if ($this->angezeigte_anzahl == '') $this->angezeigte_anzahl = 10;
$this->navigationslink['previous'] = "CMS_VALUE[3]";
if ($this->navigationslink['previous'] == '') $this->navigationslink['previous'] = '[:: rückwärts ]';
$this->navigationslink['next'] = "CMS_VALUE[4]";
if ($this->navigationslink['next'] == '') $this->navigationslink['next'] = '[ vorwärts ::]';
$this->ebene = "CMS_VALUE[6]";
$this->bildbreite = "CMS_VALUE[5]";
$this->limit = (isset($_GET['displaylimit']) && $_GET['displaylimit'] > 0)?($_GET['displaylimit']):(0);
$this->datum = $_GET['date'];
}
function createImage($dirname, $filename) {
global $cfg, $cfgClient, $client;
$bilddateiname = "{$this->bildbreite}_$filename.jpg";
if (!file_exists("{$this->bildzielpfad['backend']}$bilddateiname")) {
$src_image_size = getimagesize($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
$bildhoehe = round($src_image_size[1] * $this->bildbreite / $src_image_size[0]);
if ($bildhoehe > $this->bildbreite) {
$bildhoehe = $this->bildbreite;
$bildbreite = round($src_image_size[0] * $bildhoehe / $src_image_size[1]);
} else {
$bildbreite = $this->bildbreite;
}
$dst_im = imagecreatetruecolor($bildbreite,$bildhoehe);
if ($src_image_size[2] == 1) {
$src_im = imagecreatefromGIF($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
} elseif ($src_image_size[2] == 2) {
$src_im = ImageCreateFromJPEG($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
} else {
$src_im = imagecreatefromgd($cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upload'].$dirname.$filename);
}
imagecopyresampled ($dst_im,$src_im,0,0,0,0,$bildbreite,$bildhoehe,$src_image_size[0],$src_image_size[1]);
imagejpeg ($dst_im,$this->bildzielpfad['backend'].$bilddateiname,100);
}
return $this->bildzielpfad['frontend'].$bilddateiname;
}
function showNavigation() {
global $sess, $client, $lang, $idcat, $idart, $cfgClient;
if ($this->limit > 0 || $this->anzahl_artikel > $this->limit + $this->angezeigte_anzahl) {
echo '<div class="ArtikelNavigation">';
if ($this->limit > 0) {
$displaylimit = ($this->limit - $this->angezeigte_anzahl >= 0)?($this->limit - $this->angezeigte_anzahl):(0);
echo "<a class=\"navigator\" href=\"".$sess->url($cfgClient[$client]['path']['htmlpath']."front_content.php?idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."\">{$this->navigationslink['previous']}</a> ";
} else {
echo '';
}
if ($this->anzahl_artikel > $this->limit) {
$this->zaehler = 0;
$this->seiten = $this->anzahl_artikel / $this->angezeigte_anzahl;
$this->seiten = ceil($this->seiten);
$this->newlimit = 0;
while ($this->zaehler < $this->seiten) {
if ($this->newlimit == $this->limit) {
$this->zaehler++;
echo " <a class=\"active\" href=\"".$sess->url($cfgClient[$client]['path']['htmlpath']."front_content.php?idcat=$idcat&idart=$idart&displaylimit=$this->newlimit")."\">" .$this->zaehler. "</a> ";
$this->newlimit = $this->newlimit + $this->angezeigte_anzahl;
} else {
$this->zaehler++;
echo " <a class=\"seite\" href=\"".$sess->url($cfgClient[$client]['path']['htmlpath']."front_content.php?idcat=$idcat&idart=$idart&displaylimit=$this->newlimit")."\">" .$this->zaehler. "</a> ";
$this->newlimit = $this->newlimit + $this->angezeigte_anzahl;
}
}
} else {
echo '';
}
if ($this->anzahl_artikel > $this->limit + $this->angezeigte_anzahl) {
$displaylimit = $this->limit + $this->angezeigte_anzahl;
echo " <a class=\"navigator\" href=\"".$sess->url($cfgClient[$client]['path']['htmlpath']."front_content.php?idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."\">{$this->navigationslink['next']}</a>";
} else {
echo '';
}
echo '</div>';
}
}
function getNumberOfArticles() {
global $cfg, $lang;
switch ($this->ebene) {
case -2:
$this->db->query("
SELECT count(*) AS anzahl
FROM
{$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
LEFT JOIN {$cfg['tab']['cat_lang']} AS f ON (f.idcat = d.idcat AND f.idlang = $lang)
WHERE
(
(
c.parentid = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = {$this->categorie}
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
AND f.startidartlang != e.idartlang
AND e.created LIKE '$this->datum%'
");
break;
case -1:
$this->db->query("
SELECT count(*) AS anzahl
FROM
{$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
LEFT JOIN {$cfg['tab']['cat_lang']} AS f ON (f.idcat = d.idcat AND f.idlang = $lang)
WHERE
(
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = {$this->categorie}
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
AND f.startidartlang != e.idartlang
AND e.created LIKE '$this->datum%'
");
break;
case 0:
$this->db->query("
SELECT count(*) AS anzahl
FROM
{$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
LEFT JOIN {$cfg['tab']['cat_lang']} AS f ON (f.idcat = d.idcat AND f.idlang = $lang)
WHERE
(
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = {$this->categorie}
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
AND f.startidartlang != e.idartlang
AND e.created LIKE '$this->datum%'
");
break;
}
$this->db->next_record();
return $this->db->f('anzahl');
}
function getArticles() {
global $cfg, $lang;
switch ($this->ebene) {
case -2:
$this->db->query("
SELECT f.name, e.pagetitle, c.idcat, d.idart, e.idartlang, e.summary, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
FROM
{$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
LEFT JOIN {$cfg['tab']['cat_lang']} AS f ON (f.idcat = d.idcat AND f.idlang = $lang)
WHERE
(
(
c.parentid = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = {$this->categorie}
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
AND f.startidartlang != e.idartlang
AND e.created LIKE '$this->datum%'
ORDER BY e.created DESC
LIMIT {$this->limit}, {$this->angezeigte_anzahl}
");
break;
case -1:
$this->db->query("
SELECT f.name, e.pagetitle, c.idcat, d.idart, e.idartlang, e.summary, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
FROM
{$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
LEFT JOIN {$cfg['tab']['cat_lang']} AS f ON (f.idcat = d.idcat AND f.idlang = $lang)
WHERE
(
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = {$this->categorie}
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
AND f.startidartlang != e.idartlang
AND e.created LIKE '$this->datum%'
ORDER BY artsort
LIMIT {$this->limit}, {$this->angezeigte_anzahl}
");
break;
case 0:
$this->db->query("
SELECT f.name, e.pagetitle, c.idcat, d.idart, e.idartlang, e.summary, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
FROM
{$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
LEFT JOIN {$cfg['tab']['cat_lang']} AS f ON (f.idcat = d.idcat AND f.idlang = $lang)
WHERE
(
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = {$this->categorie}
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
AND f.startidartlang != e.idartlang
AND e.created LIKE '$this->datum%'
ORDER BY artsort
LIMIT {$this->limit}, {$this->angezeigte_anzahl}
");
break;
}
$counter = 0;
while ($this->db->next_record()) {
$this->articles[$counter]['name'] = $this->db->f('name');
$this->articles[$counter]['pagetitle'] = $this->db->f('pagetitle');
$this->articles[$counter]['idcat'] = $this->db->f('idcat');
$this->articles[$counter]['idart'] = $this->db->f('idart');
$this->articles[$counter]['idartlang'] = $this->db->f('idartlang');
$this->articles[$counter]['created'] = $this->db->f('erstellungsdatum');
$this->articles[$counter]['summary'] = $this->db->f('summary');
$counter++;
}
for ($i=0;$i<count($this->articles);$i++) {
$this->db->query("
SELECT a.value, a.typeid, b.type, c.filename, c.dirname
FROM {$cfg['tab']['content']} AS a
LEFT JOIN {$cfg['tab']['type']} AS b ON a.idtype = b.idtype
LEFT JOIN {$cfg['tab']['upl']} AS c ON a.value = c.idupl
WHERE
a.idartlang = {$this->articles[$i]['idartlang']}
AND b.type = 'CMS_IMG'
");
if ($this->db->next_record()) {
$this->articles[$i]['picture'] = $this->createImage($this->db->f('dirname'),$this->db->f('filename'));
}
}
}
function showArticles() {
global $sess, $cfgClient, $client, $lang, $edit;
if (count($this->articles) == 0 || $edit) {
echo "<div class=\"text\">CMS_HTML[10]</div>";
} else {
echo '<div id="ArtikelListe">';
for ($i=0;$i<count($this->articles);$i++) {
list($key,$artikel) = each($this->articles);
$link = $sess->url($cfgClient[$client]['path']['htmlpath']."front_content.php?idcat={$artikel['idcat']}&idart={$artikel['idart']}");
// Titelzeile ausgeben
echo "<div class=\"alistHeader\"><h2><a title=\"{$artikel['pagetitle']}\" href=\"$link\">{$artikel['pagetitle']}</a> <span class=\"created\">vom {$artikel['created']}</span></h2></div>";
if (!empty($artikel['picture'])) {
// Zusammenfassung und Bild ausgeben
echo "<div class=\"alistSummary\"><div class=\"Image\"><a href=\"$link\"><img alt=\"{$artikel['pagetitle']}\" title=\"{$artikel['pagetitle']}\" src=\"{$artikel['picture']}\" border=\"0\"/></a></div><p>{$artikel['summary']} <a title=\"{$artikel['pagetitle']}\" href=\"$link\">Mehr lesen...</a></p></div>";
} else {
// Zusammenfassung ausgeben
echo "<div class=\"alistSummary\"><p>{$artikel['summary']} <a title=\"{$artikel['pagetitle']}\" href=\"$link\">Mehr lesen...</a></p></div>";
}
if ($i < count($this->articles) -1) {
//echo '<div class="alistSeparator"><img src="upload/bilder/layout/spc.gif" border="0" title=\"{$artikel['pagetitle']}\" alt=\"{$artikel['pagetitle']}\" /></div>';
echo "<div class=\"alistSeparator\"><hr noshade=\"noshade\" /></div>";
}
}
echo '</div>';
}
}
}
$alistThumbs = new alistThumbs();
?>
ToDos
- SQL Abfrage muss noch angepasst werden, diese liest im moment noch die komplette tabelle mit allen mandanten usw. aus.