Leitgedanken/outlook_vcs.php
2022-11-21 09:47:28 +01:00

1983 lines
65 KiB
PHP

<?php
/*
# Fuer debugging
error_reporting(E_ALL);
ini_set('display_errors', 1);
#echo __LINE__."<br>";
*/
require("config/datenbankanbindung.php"); // f&uuml;gt die Datenbankanbindung ein: Sys:\php\includes\kurs\datenbankanbindung.php
require_once("func_rollenrechte.php");
$user_admin=$_COOKIE["user_admin"];
$timezone = 'Europe/Berlin';
ini_set('date.timezone',$timezone);
if(isset($_GET['mon'])){
$mon = $_GET['mon'];
}else{
$mon = "";
}
if(isset($_GET['jahr'])){
$jahr = $_GET['jahr'];
}else{
$jahr = "";
}
if(isset($_GET['tag'])){
$tag = $_GET['tag'];
}else{
$tag = "";
}
if(isset($_GET['typ'])){
$typ = $_GET['typ'];
}else{
$typ = "";
}
if(isset($_GET['lid'])){
$lid = $_GET['lid'];
}else{
$lid = "";
}
// Rechteüberprüfung
dbconnect();
if ($user_admin == ""){ require("index.php"); exit;} //Wenn man nicht angemeldet ist, darf man nicht auf die Seite
if(!rore($user_admin,'a_outlook','RE')){require("lib/rechte.php");exit;}
// Rechteüberprüfung ende
#################
## TYP=1 Einzelexport
#################
if ($typ == 1){
$datum = "$jahr-$mon-$tag";
$Filename = "LG-Online.vcs";
header("Content-Type: text/x-vCalendar");
header("Content-Disposition: inline; filename=$Filename");
$db = dbconnect();
$result = $db->query("SELECT textstelle, ueberschrift, botschaft, textwort, inhalt, zusammenfassung, kontext, datum, DATE_Format(datum, '%d') tag, DATE_Format(datum, '%m') monat, DATE_Format(datum, '%Y') jahr, DATE_Format(datum, '%Y-%m-%d')AS datum_berechnung
FROM quelle
WHERE lid=$lid");
$row = $result->fetch_array();
$date_nlg = mktime(0, 0, 0, 12, 1, 2007); // Datum ab dem neue LGs gelten
$date_nlg_format = date("Y-m-d", $date_nlg); // ISO-8601 Format wie in der Datenbank: Formatierung f&uuml;r Vergleiche erforderlich
$switch_date = strtotime ($date_nlg_format); //Umrechnung des Fristgrenztages in eine Zahl
$lg_datum = strtotime ($row['datum_berechnung']); // Umrechnung des Enddatums in eine Zahl
$result2 = $db->query("SELECT notiz
FROM notizen
WHERE lid = '$lid'
AND user = '$user_admin'
");
$row2 = $result2->fetch_array();
##################################
## Aufbau der Lieder
##################################
$query = "SELECT nr, titel FROM lieder_quelle, lieder WHERE art='el' AND lid=$lid AND lieder_quelle.gbid = lieder.gbid ORDER BY lieder.gbid";
$result4 = $db->query( $query)
or die ("Cannot execute query");
$zaehler = 1;
$el ="";
while ($row4 = $result4->fetch_array()){
if($zaehler != 1){
$el .= "; $row4[nr] - $row4[titel]";
}else{
$el = "Eingangslied: $row4[nr] - $row4[titel]";
$zaehler = $zaehler+1;
}
}
$query = "SELECT nr, titel FROM lieder_quelle, lieder WHERE art='al' AND lid=$lid AND lieder_quelle.gbid = lieder.gbid ORDER BY lieder.gbid";
$result4 = $db->query( $query)
or die ("Cannot execute query AL");
$zaehler = 1;
$al = "";
while ($row4 = $result4->fetch_array()){
if($zaehler != 1){
$al .= "; $row4[nr] - $row4[titel]";
}else{
$al = "Abendmahlslied: $row4[nr] - $row4[titel]";
$zaehler = $zaehler+1;
}
}
$query = "SELECT nr, titel FROM lieder_quelle, lieder WHERE art='wl' AND lid=$lid AND lieder_quelle.gbid = lieder.gbid ORDER BY lieder.gbid";
$result4 = $db->query( $query)
or die ("Cannot execute query WL");
$zaehler = 1;
$wl = "";
while ($row4 = $result4->fetch_array()){
if($zaehler != 1){
$wl .= "; $row4[nr] - $row4[titel]";
}else{
$wl = "Weitere Lieder: $row4[nr] - $row4[titel]";
$zaehler = $zaehler+1;
}
}
$query = "SELECT nr, titel FROM lieder_quelle, lieder WHERE art='bl' AND lid=$lid AND lieder_quelle.gbid = lieder.gbid ORDER BY lieder.gbid";
$result5 = $db->query( $query)
or die ("Cannot execute query BL");
$zaehler = 1;
$bl ="";
while ($row5 = $result5->fetch_array()){
if($zaehler != 1){
$bl .= "; $row5[nr] - $row5[titel]";
}else{
$bl = "Bu=DFlied: $row5[nr] - $row5[titel]";
$zaehler = $zaehler+1;
}
}
if ($el != ""){
$el .= "=0D=0A";
}
if ($al != ""){
$al .= "=0D=0A";
}
if ($wl != ""){
$wl .= "=0D=0A";
}
if ($bl != ""){
$bl .= "=0D=0A";
}
if ($el != "" OR $al != "" OR $wl != "" OR $bl != ""){
$lieder ="$el$bl$al$wl=0D=0A";
}
##################################
## Aufbau der Lieder ENDE
##################################
$textwort = strip_tags($row['textwort'],'<br>,<li>,<p>,<ul>');
$text = strip_tags($row['inhalt'],'<br>,<li>,<p>,<ul>');
$ueberschrift = strip_tags($row['ueberschrift'],'<br>,<li>,<p>,<ul>');
$notiz = strip_tags($row2['notiz'],'<br>,<li>,<p>,<ul>');
# =0D=0A --> Zeilenumbrüche im VCS
if ($lg_datum >= $switch_date){
$botschaft = strip_tags($row['botschaft'],'<br>,<li>,<p>,<ul>');
$zusammenfassung = strip_tags($row['zusammenfassung'],'<br>,<li>,<p>,<ul>');
$kontext = strip_tags($row['kontext'],'<br>,<li>,<p>,<ul>');
}
$lieder = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $lieder
);
$lieder = trim(str_replace(array("\n", "\r")
, array("","")
, $lieder
));
$textstelle = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $row['textstelle']
);
$textstelle = trim(str_replace(array("\n", "\r")
, array("","")
, $textstelle
));
$textwort = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $textwort
);
$textwort = trim(str_replace(array("\n", "\r")
, array("","")
, $textwort
));
$text = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $text
);
$text = trim(str_replace(array("\n", "\r")
, array("","")
, $text
));
$text_header="=0D=0A=0D=0A=0D=0A";
$ueberschrift = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $ueberschrift
);
$ueberschrift = trim(str_replace(array("\n", "\r")
, array("","")
, $ueberschrift
));
$notiz = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $notiz
);
$notiz = trim(str_replace(array("\n", "\r")
, array("","")
, $notiz
));
if ($notiz == ""){
$notiz_header = "";
}else{
$notiz_header = "=0D=0A=0D=0A=0D=0ANotizen:=0D=0A";
}
if ($lg_datum >= $switch_date){ #Neue LGs?
$text_header="=0D=0A=0D=0A=0D=0AAusf=FChrungen:=0D=0A"; ## Soll nur angezeigt werden in den neuen LGs
$botschaft = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $botschaft
);
$botschaft = trim(str_replace(array("\n", "\r")
, array("","")
, $botschaft
));
$botschaft_header="=0D=0A=0D=0A=0D=0ABotschaft:=0D=0A";
$zusammenfassung = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $zusammenfassung
);
$zusammenfassung = trim(str_replace(array("\n", "\r")
, array("","")
, $zusammenfassung
));
# Das Tag <ul> wird durch Zeilenumbruch ersetzt (=0D=0A). Gerade bei der Zusammenfassung
# kommt es vor, dass mit <ul> begonnen wird. Dann soll nicht gleich eine Leerzeile
# nach der Überschrift erscheinen
if(ereg("^=0D=0A", $zusammenfassung)){
$zusammenfassung_header="=0D=0A=0D=0A=0D=0AZusammenfassung:";
}else{
$zusammenfassung_header="=0D=0A=0D=0A=0D=0AZusammenfassung:=0D=0A";
}
$kontext = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $kontext
);
$kontext = trim(str_replace(array("\n", "\r")
, array("","")
, $kontext
));
$kontext_header="=0D=0A=0D=0AKontext:=0D=0A";
}
#$notiz = str_replace("\n", "=0D=0A", $notiz);
#$notiz = str_replace("\r", "=0D=0A", $notiz);
$wochentag = date("l", mktime(0,0,0,$row['monat'],$row['tag'],$row['jahr']));
$result_gd = $db->query("SELECT wgd FROM profil WHERE user = '$user_admin'");
$row_gd = $result_gd->fetch_array();
if($wochentag == 'Wednesday' AND $row_gd['wgd'] != '0'){
$datum = date("Ymd", mktime(0,0,0,$row['monat'],$row['tag']+$row_gd['wgd'],$row['jahr'])); // + relativer Tag zum Mittwoch Do--> +1
}else{
$datum = date("Ymd", mktime(0,0,0,$row['monat'],$row['tag'],$row['jahr'])); // Diese Zeile ist für Sonntag, da braucht man den Tag ja nicht verschieben, nur Werktags
}
# Pear Package date: Wird hier zur Überprüfung der Sommerzeit verwendet
require_once("Date/Date.php");
$date=new Date("$row[jahr]-$row[monat]-$row[tag] 06:00:00"); ## Uhrzeit egal. Zu den Zeiten wo GDs stattfinden ist die Zeitumstellung schon rum
// UTC hat keine Sommerzeit
$date->setTZbyID("Europe/Berlin");
if (true==$date->inDaylightTime())
{
$faktor = "0";
}else{
$faktor = "1";
}
switch($wochentag)
{
case 'Sunday':
$stunde_beg = 7+$faktor; # Sommerzeitbedingt
$stunde_end = 8+$faktor; # Sommerzeitbedingt
$vCalStart = "$datum"."T0".$stunde_beg."3000Z";
$vCalEnd ="$datum"."T0".$stunde_end."3000Z";
break;
case 'Wednesday':
$stunde_beg = 18+$faktor; # Sommerzeitbedingt
$stunde_end = 19+$faktor; # Sommerzeitbedingt
$vCalStart = "$datum"."T".$stunde_beg."0000Z";
$vCalEnd ="$datum"."T".$stunde_end."0000Z";
break;
case 'Thursday':
$stunde_beg = 18+$faktor; # Sommerzeitbedingt
$stunde_end = 19+$faktor; # Sommerzeitbedingt
$vCalStart = "$datum"."T".$stunde_beg."0000Z";
$vCalEnd ="$datum"."T".$stunde_end."0000Z";
break;
default:
$stunde_beg = 7+$faktor; # Sommerzeitbedingt
$stunde_end = 8+$faktor; # Sommerzeitbedingt
$vCalStart = "$datum"."T0".$stunde_beg."3000Z";
$vCalEnd ="$datum"."T0".$stunde_end."3000Z";
break;
}
$description = "$lieder$textstelle: \"$textwort\" $botschaft_header$botschaft $text_header$text $zusammenfassung_header$zusammenfassung $kontext_header$kontext $notiz_header$notiz";
#$vCalStart = $row['datum'];
#$vCalEnd = $row['datum']#date("Ymd\THi00", $row['datum']);
echo"
BEGIN:VCALENDAR
VERSION:1.0
PRODID:LG-Online
BEGIN:VEVENT
SUMMARY;ENCODING=QUOTED-PRINTABLE:Gottesdienst: $ueberschrift \n
CATEGORIES:NAK
DESCRIPTION;ENCODING=QUOTED-PRINTABLE: $description \n
DTSTART:$vCalStart \n
DTEND: $vCalEnd \n
ATTACH;VALUE=URL:http://www.lg-on.de
END:VEVENT
END:VCALENDAR
";
exit;
}
#################
## TYP=2 Monatsexport
#################
if ($typ == 2){
if($mon < 10){
$mon = "0".$mon; # 0 voranstellen
}
$datum = "$jahr-$mon";
$Filename = "LG-Online_Monat-$mon.vcs";
header("Content-Type: text/x-vCalendar");
header("Content-Disposition: inline; filename=$Filename");
$db = dbconnect();
$query2 = "SELECT lid, textstelle, ueberschrift, textwort, botschaft, inhalt, zusammenfassung, kontext, datum, DATE_Format(datum, '%d') tag, DATE_Format(datum, '%m') monat, DATE_Format(datum, '%Y') jahr, DATE_Format(datum, '%Y-%m-%d')AS datum_berechnung
FROM quelle
WHERE datum LIKE'$datum%'
AND kid=1
AND ( ukid=1 OR ukid=2 OR ukid=6 OR ukid=13 OR ukid=14 OR ukid=15 OR ukid=16 OR ukid=17 OR ukid=22 OR ukid=25 OR ukid=26 OR ukid=30 OR ukid=68 )
ORDER BY datum ASC
";
#echo $query2;
#exit;
$result = $db->query( $query2)
or die ("Cannot execute query2");
echo"
BEGIN:VCALENDAR
VERSION:1.0
PRODID:LG-Online
";
while ($row = $result->fetch_array()){
$lieder=""; ## Sonst bekommen bei der Schleife die nachfolgenden GDs dieselben Lieder, wenn keine erfasst wurden
$el="";
$al="";
$wl="";
$date_nlg = mktime(0, 0, 0, 12, 1, 2007); // Datum ab dem neue LGs gelten
$date_nlg_format = date("Y-m-d", $date_nlg); // ISO-8601 Format wie in der Datenbank: Formatierung f&uuml;r Vergleiche erforderlich
$switch_date = strtotime ($date_nlg_format); //Umrechnung des Fristgrenztages in eine Zahl
$lg_datum = strtotime ($row[datum_berechnung]); // Umrechnung des Enddatums in eine Zahl
$result2 = $db->query("SELECT notiz
FROM notizen
WHERE lid = '$row[lid]'
AND user = '$user_admin'
");
$row2 = $result2->fetch_array();
##################################
## Aufbau der Lieder
##################################
$query = "SELECT nr, titel FROM lieder_quelle, lieder WHERE art='el' AND lid=$row[lid] AND lieder_quelle.gbid = lieder.gbid ORDER BY lieder.gbid";
$result4 = $db->query( $query)
or die ("Cannot execute query");
$zaehler = 1;
$el ="";
while ($row4 = $result4->fetch_array()){
if($zaehler != 1){
$el .= "; $row4[nr] - $row4[titel]";
}else{
$el = "Eingangslied: $row4[nr] - $row4[titel]";
$zaehler = $zaehler+1;
}
}
$query = "SELECT nr, titel FROM lieder_quelle, lieder WHERE art='al' AND lid=$row[lid] AND lieder_quelle.gbid = lieder.gbid ORDER BY lieder.gbid";
$result4 = $db->query( $query)
or die ("Cannot execute query AL");
$zaehler = 1;
$al ="";
while ($row4 = $result4->fetch_array()){
if($zaehler != 1){
$al .= "; $row4[nr] - $row4[titel]";
}else{
$al = "Abendmahlslied: $row4[nr] - $row4[titel]";
$zaehler = $zaehler+1;
}
}
$query = "SELECT nr, titel FROM lieder_quelle, lieder WHERE art='wl' AND lid=$row[lid] AND lieder_quelle.gbid = lieder.gbid ORDER BY lieder.gbid";
$result4 = $db->query( $query)
or die ("Cannot execute query WL");
$zaehler = 1;
$wl ="";
while ($row4 = $result4->fetch_array()){
if($zaehler != 1){
$wl .= "; $row4[nr] - $row4[titel]";
}else{
$wl = "Weitere Lieder: $row4[nr] - $row4[titel]";
$zaehler = $zaehler+1;
}
}
$query = "SELECT nr, titel FROM lieder_quelle, lieder WHERE art='bl' AND lid=$row[lid] AND lieder_quelle.gbid = lieder.gbid ORDER BY lieder.gbid";
$result5 = $db->query( $query)
or die ("Cannot execute query BL");
$zaehler = 1;
$bl = "";
while ($row5 = $result5->fetch_array()){
if($zaehler != 1){
$bl .= "; $row5[nr] - $row5[titel]";
}else{
$bl = "Bu=DFlied: $row5[nr] - $row5[titel]";
$zaehler = $zaehler+1;
}
}
if ($el != ""){
$el .= "=0D=0A";
}
if ($al != ""){
$al .= "=0D=0A";
}
if ($wl != ""){
$wl .= "=0D=0A";
}
if ($bl != ""){
$bl .= "=0D=0A";
}
if ($el != "" OR $al != "" OR $wl != "" OR $bl != ""){
$lieder ="$el$bl$al$wl=0D=0A";
}
##################################
## Aufbau der Lieder ENDE
##################################
$text = strip_tags($row['inhalt'],'<br>,<li>,<p>,<ul>');
$textwort = strip_tags($row['textwort'],'<br>,<li>,<p>,<ul>');
$ueberschrift = strip_tags($row['ueberschrift'],'<br>,<li>,<p>,<ul>');
$notiz = strip_tags($row2['notiz'],'<br>,<li>,<p>,<ul>');
# =0D=0A --> Zeilenumbrüche im VCS
if ($lg_datum >= $switch_date){
$botschaft = strip_tags($row['botschaft'],'<br>,<li>,<p>,<ul>');
$zusammenfassung = strip_tags($row['zusammenfassung'],'<br>,<li>,<p>,<ul>');
$kontext = strip_tags($row['kontext'],'<br>,<li>,<p>,<ul>');
}
$lieder = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $lieder
);
$lieder = trim(str_replace(array("\n", "\r")
, array("","")
, $lieder
));
$textstelle = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $row['textstelle']
);
$textstelle = trim(str_replace(array("\n", "\r")
, array("","")
, $textstelle
));
$textwort = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $textwort
);
$textwort = trim(str_replace(array("\n", "\r")
, array("","")
, $textwort
));
$text = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $text
);
$text = trim(str_replace(array("\n", "\r")
, array("","")
, $text
));
$text_header="=0D=0A=0D=0A=0D=0A";
$ueberschrift = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $ueberschrift
);
$ueberschrift = trim(str_replace(array("\n", "\r")
, array("","")
, $ueberschrift
));
$notiz = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $notiz
);
$notiz = trim(str_replace(array("\n", "\r")
, array("","")
, $notiz
));
if ($notiz == ""){
$notiz_header = "";
}else{
$notiz_header = "=0D=0A=0D=0A=0D=0ANotizen:=0D=0A";
}
if ($lg_datum >= $switch_date){ #Neue LGs?
$text_header="=0D=0A=0D=0A=0D=0AAusf=FChrungen:=0D=0A"; ## Soll nur angezeigt werden in den neuen LGs
$botschaft = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $botschaft
);
$botschaft = trim(str_replace(array("\n", "\r")
, array("","")
, $botschaft
));
$botschaft_header="=0D=0A=0D=0A=0D=0ABotschaft:=0D=0A";
$zusammenfassung = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $zusammenfassung
);
$zusammenfassung = trim(str_replace(array("\n", "\r")
, array("","")
, $zusammenfassung
));
# Das Tag <ul> wird durch Zeilenumbruch ersetzt (=0D=0A). Gerade bei der Zusammenfassung
# kommt es vor, dass mit <ul> begonnen wird. Dann soll nicht gleich eine Leerzeile
# nach der Überschrift erscheinen
if(ereg("^=0D=0A", $zusammenfassung)){
$zusammenfassung_header="=0D=0A=0D=0A=0D=0AZusammenfassung:";
}else{
$zusammenfassung_header="=0D=0A=0D=0A=0D=0AZusammenfassung:=0D=0A";
}
$kontext = str_replace (array("<li> ",
"<li>",
"</li></ul><p>",
"</li> ",
"</li>",
"<ul> ",
"<ul>",
"</ul>",
"<p>",
"</p>",
"<br style=\"\" />",
"&middot;",
"&nbsp;",
"&lt;",
"&gt;",
"&quot;",
"&bdquo;",
"&ldquo;",
"&sbquo;",
"&lsquo;",
"&laquo;",
"&raquo;",
"<br /> ",
"<br />",
"&bull;",
"&auml;",
"&Auml;",
"&uuml;",
"&Uuml;",
"&ouml;",
"&Ouml;",
"&szlig;",
chr(9),
"&#39;"
)
, array("- ",
"- ",
"=0D=0A=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"=0D=0A",
"",
"",
"",
"",
chr(183),
" ",
chr(60),
chr(62),
chr(34),
chr(132),
chr(148),
"'",
"'",
chr(174),
chr(175),
"=0D=0A",
"=0D=0A",
chr(149),
"=E4",
"=C4",
"=FC",
"=DC",
"=F6",
"=D6",
"=DF",
"",
"'"
)
, $kontext
);
$kontext = trim(str_replace(array("\n", "\r")
, array("","")
, $kontext
));
$kontext_header="=0D=0A=0D=0AKontext:=0D=0A";
}
$wochentag = date("l", mktime(0,0,0,$row['monat'],$row['tag'],$row['jahr']));
$result_gd = $db->query("SELECT wgd FROM profil WHERE user = '$user_admin'");
$row_gd = $result_gd->fetch_array();
if($wochentag == 'Wednesday' AND $row_gd['wgd'] != '0'){
$datum = date("Ymd", mktime(0,0,0,$row['monat'],$row['tag']+$row_gd['wgd'],$row['jahr'])); // + relativer Tag zum Mittwoch Do--> +1
}else{
$datum = date("Ymd", mktime(0,0,0,$row['monat'],$row['tag'],$row['jahr'])); // Diese Zeile ist für Sonntag, da braucht man den Tag ja nicht verschieben, nur Werktags
}
# Pear Package date: Wird hier zur Überprüfung der Sommerzeit verwendet
require_once("Date/Date.php");
$date=new Date("$row[jahr]-$row[monat]-$row[tag] 06:00:00"); ## Uhrzeit egal. Zu den Zeiten wo GDs stattfinden ist die Zeitumstellung schon rum
// UTC hat keine Sommerzeit
$date->setTZbyID("Europe/Berlin");
if (true==$date->inDaylightTime())
{
$faktor = "0";
}else{
$faktor = "1";
}
switch($wochentag)
{
case 'Sunday':
$stunde_beg = 7+$faktor; # Sommerzeitbedingt
$stunde_end = 8+$faktor; # Sommerzeitbedingt
$vCalStart = "$datum"."T0".$stunde_beg."3000Z";
$vCalEnd ="$datum"."T0".$stunde_end."3000Z";
break;
case 'Wednesday':
$stunde_beg = 18+$faktor; # Sommerzeitbedingt
$stunde_end = 19+$faktor; # Sommerzeitbedingt
$vCalStart = "$datum"."T".$stunde_beg."0000Z";
$vCalEnd ="$datum"."T".$stunde_end."0000Z";
break;
case 'Thursday':
$stunde_beg = 18+$faktor; # Sommerzeitbedingt
$stunde_end = 19+$faktor; # Sommerzeitbedingt
$vCalStart = "$datum"."T".$stunde_beg."0000Z";
$vCalEnd ="$datum"."T".$stunde_end."0000Z";
break;
default:
$stunde_beg = 7+$faktor; # Sommerzeitbedingt
$stunde_end = 8+$faktor; # Sommerzeitbedingt
$vCalStart = "$datum"."T0".$stunde_beg."3000Z";
$vCalEnd ="$datum"."T0".$stunde_end."3000Z";
break;
}
$description = "$lieder$textstelle: \"$textwort\" $botschaft_header$botschaft $text_header$text $zusammenfassung_header$zusammenfassung $kontext_header$kontext $notiz_header$notiz";
echo"
BEGIN:VEVENT
SUMMARY;ENCODING=QUOTED-PRINTABLE:Gottesdienst: $ueberschrift \n
CATEGORIES:NAK
DESCRIPTION;ENCODING=QUOTED-PRINTABLE: $description \n
DTSTART:$vCalStart \n
DTEND: $vCalEnd \n
ATTACH;VALUE=URL:http://www.lg-on.de
END:VEVENT
";
}
echo"
END:VCALENDAR
";
exit;
}
?>