Ich vesuche gerade die kalender-Einträge auszulesen und als RSS-Feed darstellen zu lassen, aber komme nicht weiter....
http://warpspeed.4thdimension.de/modules.php?name=Forums&file=viewtopic&t=10942#43682
Kann jemand helfen ?
------------------------------------------------------------------
Und leider wurde die angepaßte backend.php in diesem Topic
http://www.pragmamx.org/Forum-topic-17962.html
von den Admins gelöscht bzw. das Thema gesperrt - von 2006 aber immer noch aktuell (heute mehr denn je !).
Im Übrigen werden bei mir in der backend.php nicht mal die normalen news artikel angezeigt...
Diese Änderungen sind für pragmaMX
In der includes/myheader.php folgendes bei den anderen Feeds einfügen:
<link rel="alternate" type="application/rss+xml" title="Partykalender - ' . htmlspecialchars($GLOBALS['sitename']) . '" href="backend.php?op=calendar">
---------------------------------
in die backend.php folgendes suchen:
function rss_bbencode($msg)
Davor folgendes einfügen:
function calendar ($version)
{
global $rss, $limit, $prefix, $itemdescriptiontrunk, $modcheck ;
$d = (int)Date("d");
$m = (int)Date("m");
$y = (int)Date("Y");
$qrydate = "" . $y . "-" . $m . "-" . $d . "";
$result = sql_query("SELECT eid, title, hometext, startDate, endDate FROM " . $prefix . "_events WHERE (startDate>= '$qrydate' or endDate>= '$qrydate') ORDER BY startDate asc, endDate asc limit " . $limit . "");
if (!$result) {
echo "<!-- An database error occured: " . mysql_error() . " -->";
} else {
if ((mxModuleAllowed("Kalender")) && ($modcheck['Kalender'])) {
while ($data_down = sql_fetch_object($result)) {
if (($version == "RSS1.0")or($version == "RSS2.0")) {
$data_down->title = rss_bbencode($data_down->title);
$data_down->hometext = rss_bbencode($data_down->hometext);
}
$item = new FeedItem();
$item->descriptionTruncSize = $itemdescriptiontrunk;
$item->title = strip_tags(rss_bbencode("" . $data_down->startDate . " - " . $data_down->title . ""));
$item->link = PMX_HOME_URL . "/modules.php?name=Kalender&op=view&eid=" . $data_down->eid . "";
$item->description = strip_tags(rss_bbencode($data_down->hometext));
$item->source = PMX_HOME_URL . "/modules.php?name=Kalender";
$rss->addItem($item);
}
} else {
moduleerror("Kalender");
}
}
}
---------------------------------
Nach folgender Zeile suchen:
$actions = array("news", "story", "downs", "board", "link", "auswahl", "all");
Zusätzlichen Eintrag im array machen:
$actions = array("news", "story", "downs", "board", "link", "auswahl", "all", "calendar");
---------------------------------
Nach diesem Code suchen:
case "downs":
downloads ($version);
break;
Folgendes danach einfügen:
case "calendar":
calendar($version);
break;
Dieses muss 2 mal gemacht werden, einmal bei
switch ($op) {
und einmal in
function auswahl ()
Meine Backend.php sieht schon mal ganz anders aus - die zu suchenden Punkte sind da gar nicht drin.
Zitat<?php
include("mainfile.php");
global $prefix, $db, $nukeurl;
header("Content-Type: text/xml");
$gmtdiff = date("O", time());
$gmtstr = substr($gmtdiff, 0, 3) . ":" . substr($gmtdiff, 3, 9);
$now = date("Y-m-d\TH:i:s", time());
$now = $now . $gmtstr;
echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?><?xml-stylesheet title=\"XSL_formatting\" type=\"text/xsl\" href=\"rss.xsl\" ?>\n";
echo "<rss version=\"2.0\" \n";
echo " xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n";
echo " xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"\n";
echo " xmlns:admin=\"http://webns.net/mvcb/\"\n";
echo " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n\n";
echo "<channel>\n";
echo "<title>".htmlspecialchars($sitename)."</title>\n";
echo "<link>".htmlspecialchars($nukeurl)."</link>\n";
echo "<description></description>\n";
echo "<dc:language>".$backend_language."</dc:language>\n";
echo "<dc:creator>".$adminmail."</dc:creator>\n";
echo "<dc:date>".$now."</dc:date>\n\n";
echo "<sy:updatePeriod>hourly</sy:updatePeriod>\n";
echo "<sy:updateFrequency>1</sy:updateFrequency>\n";
echo "<sy:updateBase>".$now."</sy:updateBase>\n\n";
$result = $db->sql_query("SELECT t.topic_id, t.topic_title, p.post_id, p.post_time, pt.post_text, pt.bbcode_uid, f.forum_name FROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . POSTS_TEXT_TABLE . " AS pt, " . FORUMS_TABLE . " AS f WHERE f.forum_id = t.forum_id AND f.auth_view = " . AUTH_ALL . " AND p.topic_id = t.topic_id AND p.post_id = $sql_post_id_field AND pt.post_id = p.post_id $sql_where ORDER BY $sql_orderby LIMIT $count");
while ($row = $db->sql_fetchrow($result)) {
$rsid = intval($row['topic_id']);
$topicname = $row['topic_title'];
$informant = $row['informant'];
$title = $row['title'];
$time = $row['time'];
$hometext = $row['post_text'];
// format: 2004-08-02T12:15:23-06:00
$date = date("Y-m-d\TH:i:s", strtotime($time));
$date = $date . $gmtstr;
echo "<item>\n";
echo "<title>".$title."</title>\n";
echo "<link>$nukeurl/modules.php?name=News&file=article&sid=$rsid</link>\n";
echo "<guid isPermaLink=\"false\">".$rsid."@".$nukeurl."</guid>\n";
echo "<dc:subject>".$topicname."</dc:subject>\n";
echo "<dc:date>".$date."</dc:date>\n";
echo "<dc:creator>Posted by ".$informant."</dc:creator>\n";
echo "</item>\n\n";
}
echo "</channel>\n";
echo "</rss>\n";
?>
In der myheader.php steht nur:
// NaviNuke
include("modules/NaviNuke/navinuke.php");
...sonst nichts.
Wie kann ich die Datums-Ausgabe umformatieren ?
In meinem Script gibt es folgende zeilen fürs Datum:
Zitat. "<dc:date>".date("Y-m-d")."T".date("H:i:s")."-05:00</dc:date>\n"
und weiter unten dann nochmal:
Zitat
$time = str_replace(" ", "T", $time);
$content[$m] .= "<dc:date>$startDate-05:00</dc:date>\n";
In der Ausgabe meines RSS-Feeds erhalte ich dann das Datum startDate:
ZitatSamstag, 3. Oktober 2009 02:00
wie kann ich die Datumsausgabe ohne die Uhrzeit am Ende erhalten ? Stimmt sowieso nicht....ich bräuchte nur das Datum ohne Uhrzeit.