Files

206 lines
6.4 KiB
Plaintext

<?php
#Datenbank Verbindung einbinden
require 'Connections/Connections.php';
#Include datei für Loginüberprüfung
include "Includes/Session.php";
function sendIcalEvent($from_name, $from_address, $EmpfArray, $startTime, $endTime, $subject, $description, $location)
{
//Create Members
$string = '';
$mails ="";
$arraysize = sizeof($EmpfArray);
foreach($EmpfArray as $key => $value)
{
$mails .= "$value";
if($arraysize > 1){
$mails .= ", ";
$arraysize--;
}
$string .= "ATTENDEE;CN=\"$key\";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:$value \r\n" ;
}
$domain = 'wiaswuaschd.de';
//Create Email Headers
$mime_boundary = "----Meeting Booking----".MD5(TIME());
$headers = "From: ".$from_name." <".$from_address.">\n";
$headers .= "Reply-To: ".$from_name." <".$from_address.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\n";
$headers .= "Content-class: urn:content-classes:calendarmessage\n";
//Create Email Body (HTML)
$message = "--$mime_boundary\r\n";
$message .= "Content-Type: text/html; charset=UTF-8\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= "<html>\n";
$message .= "<body>\n";
$message .= '<p>'.$description.'</p>';
$message .= "</body>\n";
$message .= "</html>\n";
$message .= "--$mime_boundary\r\n";
$ical = 'BEGIN:VCALENDAR' . "\r\n" .
'PRODID:-//Microsoft Corporation//Outlook 14.0 MIMEDIR//EN' . "\r\n" .
'VERSION:2.0' . "\r\n" .
'METHOD:REQUEST' . "\r\n" .
'BEGIN:VTIMEZONE' . "\r\n" .
'TZID:W. Europe Standard Time' . "\r\n" .
'BEGIN:STANDARD' . "\r\n" .
'DTSTART:16011028T030000' . "\r\n" .
'RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10' . "\r\n" .
'TZOFFSETFROM:+0200' . "\r\n" .
'TZOFFSETTO:+0100' . "\r\n" .
'END:STANDARD' . "\r\n" .
'BEGIN:DAYLIGHT' . "\r\n" .
'DTSTART:16010325T020000' . "\r\n" .
'RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3' . "\r\n" .
'TZOFFSETFROM:+0100' . "\r\n" .
'TZOFFSETTO:+0200' . "\r\n" .
'END:DAYLIGHT' . "\r\n" .
'END:VTIMEZONE' . "\r\n" .
'BEGIN:VEVENT' . "\r\n" .
'ORGANIZER;CN="'.$from_name.'":MAILTO:'.$from_address. "\r\n" .
$string .
'LAST-MODIFIED:' . date("Ymd\TGis") . "\r\n" .
'UID:'.date("Ymd\TGis", strtotime($startTime)).rand()."@".$domain."\r\n" .
'DTSTAMP:'.date("Ymd\TGis"). "\r\n" .
'DTSTART;TZID="W. Europe Standard Time":'.date("Ymd\THis", strtotime($startTime)). "\r\n" .
'DTEND;TZID="W. Europe Standard Time":'.date("Ymd\THis", strtotime($endTime)). "\r\n" .
'TRANSP:OPAQUE'. "\r\n" .
'SEQUENCE:2'. "\r\n" .
'SUMMARY:' . $subject . "\r\n" .
'LOCATION:' . $location . "\r\n" .
'CLASS:PUBLIC'. "\r\n" .
'PRIORITY:5'. "\r\n" .
'END:VEVENT'. "\r\n" .
'END:VCALENDAR'. "\r\n";
$message .= 'Content-Type: text/calendar;name="meeting.ics";method=REQUEST'."\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= $ical;
$mailsent = mail($mails, $subject, $message, $headers);
return ($mailsent)?(true):(false);
}
function setcountdown($Countdowndate)
{
global $con; # setzt die Variable CON für die Datenbank verbindung
$sql = $con->query("UPDATE timestamp SET timestamp='{$Countdowndate}'");
}
#bestellform für welchen user bestellt wird
function print_user()
{
global $con; # setzt die Variable CON für die Datenbank verbindung
$lesen= $con->query("SELECT UserID,CONCAT(Lname, ' ',Fname) as 'Name',Email FROM user where isactive = 1 order by UserID ASC");
echo '<select class="CMField" name="Mail[]" size="10" multiple>';
while($row = mysqli_fetch_array($lesen))
{
echo "<option value=".$row['Email'].">".$row['Name']."</option>";
}
echo '</select>';
}
function send_invite()
{
global $con;
echo '<br/><br/><br/><br/>';
$post = $_POST;
unset($post['Einladen']);
foreach($post as $key => $value)
{
if($key == "Mail"){
$mails = $value;
}else{
switch($key){
case 'Betreff' :
$Betreff = $value;
break;
case 'Ort' :
$Ort = $value;
break;
case 'Startdate' :
$Startdate = $value;
break;
case 'Enddate' :
$Enddate = $value;
break;
case 'Nachricht' :
$Nachricht = $value;
break;
}
}
}
$EmpfArray = array();
$elemente = sizeof($mails);
for($x=0;$x<$elemente;$x++){
$name = $con->query("SELECT CONCAT(Lname, ' ',Fname) as 'Name' FROM user where Email='{$mails[$x]}'")->fetch_object()->Name;
$EmpfArray[$name] = $mails[$x];
}
setcountdown($Startdate);
$from_name = "Waiswuaschd Admin";
$from_address = "admin@waiswuaschd.de";
sendIcalEvent($from_name, $from_address, $EmpfArray, $Startdate, $Enddate, $Betreff, $Nachricht, $Ort);
}
if(isset($_POST['Einladen'])){
send_invite();
}
#Setzen des Titels und der Headline für include Dateien
$webpagetitle = "Einladung erstellen";
#Header und menü einbinden
include "Includes/Header.php";
include "Includes/Menu.php";
#html Content ausgeben
?>
<div class="content">
<div class="Rahmen">
<div class="center">
<form name="Einladen" action="" method="post">
<?php print_user();?>
<div class="FormElement">
<input name="Betreff" class="TField" value="Einladung zum Weisswurst Meeting" type="text" />
</div>
<div class="FormElement">
<input name="Ort" class="TField" VALUE="Raum 111" type="text" />
</div>
<div class="FormElement">
<input name="Startdate" class="TField" placeholder="tt.mm.jjjj --.-- Startdatum" type="datetime-local" />
</div>
<div class="FormElement">
<input name="Enddate" class="TField" placeholder="tt.mm.jjjj --.-- Enddatum" type="datetime-local" />
</div>
<div class="TextElement">
<textarea name="Nachricht" cols="40" rows="10" style="white-space: nowrap;">Hallo Kollegen,
<br /><br/> ohne große Worte. Ihr wisst wie es geht!
<br/><br>Falls nicht : Unter den Link
<?php echo "https://".$_SERVER['HTTP_HOST']."";?> steht das W-Portal zu Verfügung.
<br /><br/>Viele Grüße
<br /><br/>Euer Waiswuschd Admin
</textarea>
</div>
<div class="FormElement">
<input name="Einladen" class="button" type="submit" />
</div>
<br />
</form>
</div>
</div>
</div>
<?php
#Footer einbinden
include "Includes/Footer.php";
?>