Page 1 of 1
Neu Kalender - Module 1.05
Posted: Tue Jul 12, 2005 11:04 am
by piratos
Steht bei mir im Downlaodangebot.
XHTML Fehlerbeseitigung (Ampersandregel).
Re: Neu Kalender - Module 1.05
Posted: Thu Jul 14, 2005 7:28 am
by piratos
Gute Idee !
Kann ich machen, aber nicht gleich.
Aus welchem Kalender hast Du das ?
Kalendertermine per RSS?
Posted: Fri Aug 05, 2005 3:59 pm
by Alex_Leipzig
Hallo Piratos,
wäre es möglich, den Kalender um eine RSS-Funktion zu erweitern? Das wäre wirklich klasse!
Re: Neu Kalender - Module 1.05
Posted: Mon Aug 08, 2005 10:10 am
by piratos
Meinst du so etwas wie eine backend - funktion, bei denen die neuesten Termine als xml also für einne rss - reader ausgegeben werden ?
Re: Neu Kalender - Module 1.05
Posted: Wed Aug 10, 2005 9:47 am
by Alex_Leipzig
Eher Frontend, oder? Also ein Button neben/unter... dem Kalender oder den entsprechenden Pfad zum Einbinden ins Template - damit Opera und Firefox die entsprechenden RSS-Symbole einblenden.
Re: Neu Kalender - Module 1.05
Posted: Wed Aug 10, 2005 3:37 pm
by piratos
Das Backend erstellt eine rdf - Datei (siehe z.B.
http://www.tagesschau.de/newsticker.rdf) aus den vorhandenen Daten.
Dein Frontend wäre z.B. den Einsatz von Pirss in der cms oder der normale Einsatz eiens Browsers.
Den berühmten XML - Button aus der Erstinstallation der CMS , kannst du vergessen, weil mit dem versucht wird die entsprechende PHP - Datei zu öffnen, die natürlich weder XML noch RSS ist. Das würde auch so bei einer Linksetzung z.B. auf eine backend.php so laufen.
Mein Backend ist bereits fertig und läuft im Test. Es muss entweder in die index.php oder besser in die include.php eingebunden werden.
Im Default wird die rdf - Datei alle 3600 Sekunden erneuert, aber auch nur, wenn es einen normalen Besucher der betreffenden Website gegeben hat, denn der veranlasst so den Check ob die Cachezeit abgelaufen ist und eine neue rdf - Datei angelegt werden muss.
Wegen der bereits vorhandenen Schreibrechte wird die rdf im Verzeichnis tmp angelegt.
Re: Neu Kalender - Module 1.05
Posted: Thu Aug 11, 2005 9:06 am
by piratos
Die Testversion im Ergebnis ist hier zu sehen :
http://piratos.coftware.de/index.php?page=Testseite
Die RDF - Datei in der aktuellen Testversion ist hier
http://piratos.coftware.de/tmp/kalender.rdf
Die Scriptdatei backend.php wird in die index.php eingebunden. Um nicht eine volle Instanz von adodb aufzurufen (siehe Thema Speicerüberlauf unter aktuellen Linuxversionen) wird NUR mysql und zwar direkt verwendet. Daher ist das nicht unter postgresql lauffähig. Da ich annehme, dass 99,99% aller Anwender Mysql verwenden, sehe ich das nicht als störend an.
Bis jetzt ist die Steuerung so.
Es gibt folgende Parameter, die vom Anwender anzupassen sind.
$titel="Piratos Testsite";
$link="
http://piratos.coftware.de/index.php";
$language="de_de";
$description='Testsite für Freunde von CMSMadeSimple';
$limit=30;
$cachezeit=300;
$link beinhaltet den Standardlink - jeder Kalendereintrag trägt ihn.
$limit enthält die Anzahl der aufzubereitenden Datensätze, ausgewertet werden nur Termine größer gleich Tag 0:0.
$cachezeit enthält den Wert der in der Rechnung aktuellertimeststamp plus timestamp der RDF- Datei zum Vergleich herangezogen wird.
Der Vergleich entscheidet, wann eine neue RDF - Datei geschrieben wird.
Da die Einbindung in der index.php erfolgt, sorgen die Besucher selbst für eine Aktualisierung der RDF - Datei, wenn die Auswertung der Timestamps es so bestimmt.
Es gibt nur einen Standardlink zur Homepage, da Kalender als Modul inline läuft, Link zum speziellen Termin ist auch nicht erfordelrich, weil die Details angezeigt werden - mehr gibt es da also nicht zu sehen.
Zur Zeit fummel ich noch ein wenig an der RDF - Datei herum. Die ist zwar 100% nach Norm, aber z.B. Firefox hat da ein Problem bei einbinden als News - Konto mit. Werde wahrscheinlich auf ein verkürztes Format gehen (wie bei der Tagesschau.de).
Re: Neu Kalender - Module 1.05
Posted: Thu Aug 11, 2005 10:31 am
by Alex_Leipzig
Super! Das ist ziemlich genau das, was ich mir vorgestellt hatte. Details braucht's, wie du gesagt hast, nicht, nur eben die knappen Infos. Danke!
Neu Kalender - Module 1.06
Posted: Thu Aug 11, 2005 11:10 am
by piratos
Update fertig, downloadangebot aktualisiert, anleitung in der readme.txt im download.
Axel : es werden die Details angezeigt um den Link zu sparen.
Re: Neu Kalender - Module 1.05
Posted: Sat Aug 13, 2005 10:18 am
by piratos
Achtung das Downlaodangebot ab jetzt enthält eine backend - Version die direkt von Newsreadern verwendet wird.
Es wird keine RDF - Datei mehr geschrieben und somit werden immer die aktuellsten Daten aus dem kalender angeboten.
Wer die alte backend verwendet sollte vorher den include Eintrag aus der index.php entfernen.
Ein include ist nicht mehr erforderlich, im Gegenteil nmit dieser Version schädlich !!
Re: Neu Kalender - Module 1.05
Posted: Tue Dec 06, 2005 3:49 pm
by Piratos
Habe ich auf die todo liste gesetzt, aber ich habe wenig Zeit.
Bekomme in den nächsten 2 Tagen einen Programmierauftrag für eine Maschinensteuerung und das hat Vorrang.
Re: Neu Kalender - Module 1.05
Posted: Thu Jan 19, 2006 7:11 pm
by Piratos
Kalender hat bei mir 0 Priorität, wenn ich Zeit habe will ich da eine Version mit Smarty - Templates draus machen.
Re: Neu Kalender - als CSS-Version
Posted: Sat Jan 21, 2006 12:11 am
by evoluzzer
Hi zusammen,
ich habe mir mal die Arbeit gemacht und die Kalenderausgabe in HTML und CSS getrennt.
Also ihr müssstet um davon in Genuss kommen eine Stylesheet erstellen, das mit Template verbinden und folgende Klassen einfügen:
Code: Select all
.kal-prev{}
.kal-monat{}
.kal-next{}
.kal-monat{
text-align: center;
}
table.kal_gr_tabelle{
border:1px;
border-style: solid;
border-color: #fff;
width:100%;
text-align: center;
}
/*Weekday*/
.kal_gr_tabelle{
text-align: center;
width:14%;
vertical-align:top;
height:15px;
font-size: 2;
color: #fff;
}
.kal_gr_tabelle_th_wochenende{
border: 1px;
border-style: solid;
border-color: #fff;
background-color:#800000;
}
.kal_gr_tabelle_th_werktag{
border: 1px;
border-style: solid;
border-color: #fff;
background-color:#000080;
}
/*Days*/
.kal_gr_tabelle_td_blank{
}
.kal_gr_tabelle_td_ohnetermin{
border: 1px;
border-style: solid;
border-color: #fff;
vertical-align:top;
}
.kal_gr_tabelle_td_termin{
border: 1px;
border-style: solid;
border-color: #fff;
}
desweiteren müsste ihr folgende Datei aus dem Kalendermodul editieren:
Kalender/Kalender.module.php und die Funktion generate_calendar durch diese ersetzen:
Code: Select all
function generate_calendar($year, $month, $days = array(), $month_href = NULL, $first_day = 0, $pn = array()){
$first_of_month = gmmktime(0,0,0,$month,1,$year);
$day_names = array();
$n=0;
while ($n<=6){
$day_names[$n] = $this->lang['d'.$n];
$n++;
}
list($month, $year, $month_name, $weekday) = explode(',',gmstrftime('%m,%Y,%B,%w',$first_of_month));
$month_name=$this->lang['m'.date('n', $first_of_month)];
$weekday = ($weekday + 7 - $first_day) % 7;
$title = $month_name.' '.$year;
@list($p, $pl) = each($pn); @list($n, $nl) = each($pn); #previous and next links, if applicable
if($p) $p = '<span class="kal-prev">'.($pl ? '<a href="'.htmlspecialchars($pl).'">'.$p.'</a>' : $p).'</span> ';
if($n) $n = ' <span class="kal-next">'.($nl ? '<a href="'.htmlspecialchars($nl).'">'.$n.'</a>' : $n).'</span>';
$calendar2='<div class="kalender"><div class="kal-monat">'.$p.($month_href ? '<a href="'.$month_href.'">'.$title.'</a>' : $title).$n."</div>\n";
$calendar= '<table class="kal_gr_tabelle" summary="Kalenderausgabe"><tr>';
$w=0;
foreach($day_names as $d){
if ($w==0 OR $w==6) {
$calendar .= '<th class="kal_gr_tabelle_th_wochenende">'.$d.'</th>';
}
else
{
$calendar .= '<th class="kal_gr_tabelle_th_werktag">'.$d.'</th>';
}
$w++;
}
$calendar .= "</tr>\n<tr>";
$w=0;
while($w<$weekday) {$calendar .= '<td class="kal_gr_tabelle_td_blank" ></td>';$w++;}
for($day=1,$days_in_month=gmdate('t',$first_of_month); $day<=$days_in_month; $day++,$weekday++){
if($weekday == 7){
$weekday = 0;
$calendar .= "</tr><tr>";
}
if(isset($days[$day]) and is_array($days[$day])){
@list($link, $classes, $content, $additional_content) = $days[$day];
if(is_null($content)) $content = $day;
$calendar .= '<td class="kal_gr_tabelle_td_termin">'.
($link ? '<a href="'.$link.'">'.$content.'</a>' : $content);
if(!is_null($additional_content)) // RKA addition
$calendar .= $additional_content;
$calendar .= '</td>';
}
else $calendar .= '<td class="kal_gr_tabelle_td_ohnetermin">'.$day.'test</td>';
}
$w=$weekday;
while($w <7) {$calendar .= '<td class="kal_gr_tabelle_td_blank"> </td>';$w++;}
$calendar=str_replace('&','&',$calendar);
$calendar=str_replace(' ',' ',$calendar);
return $calendar2.$calendar."</tr>\n</table>\n</div>\n";
}
Im grossen und ganzen sollte es das gewesen sein. Umgesetzt wurde nur der HTML-Layout in CSS. Auch funktioniert das Ganze nur für die Monatsansicht und nicht für die Listenansicht.
Gruß
Christoph
Re: Neu Kalender - Module 1.05
Posted: Sat Jan 21, 2006 8:43 am
by Piratos
gmmktime
Wie man unschwer erkennen kann bezieht sich das auf eine alte Version.
Damit das auch alles unter 4.4.X läuft gmmktime auf mktime ändern.
Re: Neu Kalender - Module 1.05
Posted: Sat Jan 21, 2006 1:07 pm
by evoluzzer
HI,
ja klar ist die Version 1.06. Mir ist da noch ein Fehler aufgefallen und zwar um Zeile 1119 quasi der Else Zweig für Tag ohne Termine, so zumindest mein Verständnis. Fehlt das < für die Zelle und das Kalendermodul springt immer in den if-zweig nie in den else Zweig auch ohne Termin für den Tag. Oder hab ich den code falsch interpretiert?
Gruß
Christoph