Habe den von
acquire unter
http://contenido.org/forum/viewtopic.php?p=45059#45059 abgeänderten code noch etwas verändert:
Der folgende Code produziert
gültiges xhtml (die URLs werden nicht mehr mit & sondern als & geschrieben).
Als weiteres "Feature" wird
jeweils eine Titelzeile ausgegeben. Bei der Übersichts-Ansicht muss der Titel selber noch angepasst werden. Bei der Einzelansicht eines Newsletters wird der
Newsletter-Betreff als Titel markiert. Es wird dabei die css-Klasse Titel benutzt.
Bei der Übersichts-Ansicht werden
nur Newsletter aufgelistet,
die im Newsletternamen das Zeichen # haben. Somit kann man selber wählen, welche Newsletter aufgelistet werden: Es reicht, den entsprechenden Newsletter mit einem # im Namen abzuspeichern. Das # wird in der Übersichts-Anzeige natürlich rausgefiltert.
Code: Alles auswählen
<?php
cInclude("classes", "class.newsletter.php");
$newsletters = New NewsletterCollection;
if (is_numeric($idnews) && $idnews > 0)
{
$newsletters->select("idclient='$client' AND idlang='$lang' AND idnews=" . $idnews);
if ($newsletter = $newsletters->next())
{
// Getting all date for your convenience, currently only $news_id, $news_subject and $news_message are used
$news_id = $newsletter->get("idnews");
$news_subject = $newsletter->get("subject");
$news_message = $newsletter->get("message");
$news_name = $newsletter->get("name");
$news_newsfrom = $newsletter->get("newsfrom");
$news_newsdate = $newsletter->get("newsdate");
$news_author = $newsletter->get("author");
$news_created = $newsletter->get("created");
$news_lastmodified = $newsletter->get("lastmodified");
// Cleaning $message
$news_message = str_replace("MAIL_NAME", "", $news_message);
$news_message = str_replace("MAIL_NUMBER", "", $news_message);
$news_message = str_replace("MAIL_DATE", "", $news_message);
$news_message = str_replace("MAIL_TIME", "", $news_message);
$news_message = str_replace("MAIL_UNSUBSCRIBE", "", $news_message);
$news_message = str_replace("MAIL_CHANGE", "", $news_message);
$news_message = str_replace("MAIL_STOP", "", $news_message);
$news_message = str_replace("MAIL_GOON", "", $news_message);
// Newsletter Message
echo '<p class="Titel">' . $news_subject . '</p>';
echo nl2br($news_message) . chr(10);
}
$link = "front_content.php?client=$client&lang=$lang&idcatart=$idcatart";
echo "<br /><br /><a href=\"" . $link . "\" class=\"navi\">Zurück</a><br />" . chr(10);
} else {
$newsletters->select("idclient='$client' AND idlang='$lang'","","name");
$zaehler = 0;
while ($newsletter = $newsletters->next())
{
// Getting all date for your convenience, currently only $news_id, $news_subject and $news_message are used
$news_name = $newsletter->get("name");
// wenn der newsletter-name das zeichen # beinhaltet
if (preg_match("/#/",$news_name)) {
// zähler, damit titel nur ein mal ausgegeben wird
if ($zaehler == 0) {echo '<p class="Titel">Newsletter Archiv Titel</p>';}
// Newsletter-Name as Headline, incl. Link
$link = "front_content.php?client=$client&lang=$lang&idcatart=$idcatart&idnews=" . $newsletter->get("idnews");
// Cleaning $message von trailing #
$news_name = str_replace("#", "", $news_name);
// Link ausgeben
echo "<a href=\"" . $link . "\">" . $news_name . ":</a><br />" . chr(10);
// Zähler hochzählen
$zaehler = $zaehler+1;
} // preg_match ende
}
}
?>