echo $coodletermin->errormsg; } break; case 'removeTermin': if (isset($_POST['coodle_id'])) { $coodle_id = $_POST['coodle_id']; } else { die('CoodleID fehlt'); } if (isset($_POST['coodle_termin_id'])) { $coodle_termin_id = $_POST['coodle_termin_id']; } else { die('CoodleTerminID fehlt'); } $coodle = new coodle(); if (!$coodle->load($coodle_id)) { die('Fehler: ' . $coodle->errormsg); } if ($coodle->ersteller_uid != $user) { die('Diese Aktion ist nur durch den Ersteller der Umfrage möglich'); } $coodletermin = new coodle(); if (!$coodletermin->loadTermin($coodle_termin_id)) { die('Fehler: ' . $coodletermin->errormsg); } if ($coodle->coodle_id != $coodletermin->coodle_id) { die('Termin und Umfrage passen nicht zusammen!'); } if ($coodletermin->deleteTermin($coodle_termin_id)) { echo 'true'; } else {
/** * Funktion sendet den ausgewählten Termin an alle Ressourcen aus der übergebenen Coodleumfrage * @global phrasen $p * @param type $coodle_id * @param type $auswahl */ function sendEmail($coodle_id) { global $mailMessage; global $p; $coodle_help = new coodle(); $termin_id = $coodle_help->getTerminAuswahl($coodle_id); $coodle_help->loadTermin($termin_id); $coodle_ressource = new coodle(); $coodle_ressource->getRessourcen($coodle_id); $coodle = new coodle(); $coodle->load($coodle_id); $ort = ''; $teilnehmer = ''; foreach ($coodle_ressource->result as $row) { if ($row->ort_kurzbz != '') { if ($ort != '') { $ort .= ', '; } $ort .= "{$row->ort_kurzbz}"; } else { if ($row->uid != '') { $benutzer = new benutzer(); $benutzer->load($row->uid); $name = trim($benutzer->titelpre . ' ' . $benutzer->vorname . ' ' . $benutzer->nachname . ' ' . $benutzer->titelpost); $mail = $row->uid . '@' . DOMAIN; } else { $mail = $row->email; $name = $row->name; } $coodle_ressource_termin = new coodle(); $partstat = ''; if ($coodle_ressource_termin->checkTermin($termin_id, $row->coodle_ressource_id)) { $partstat = 'ACCEPTED'; } else { $partstat = 'TENTATIVE'; } $teilnehmer .= 'ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=' . $partstat . ';CN=' . $name . "\n :MAILTO:" . $mail . "\n"; } } $date = new DateTime($coodle_help->datum . ' ' . $coodle_help->uhrzeit); //Datum des Termins ins richtige Format bringen $dtstart = $date->format('Ymd\\THis'); //Ende Datum berechnen $interval = new DateInterval('PT' . $coodle->dauer . 'M'); $date->add($interval); $dtend = $date->format('Ymd\\THis'); $date = new DateTime(); $dtstamp = $date->format('Ymd\\THis'); $benutzer = new benutzer(); $benutzer->load($coodle->ersteller_uid); $erstellername = trim($benutzer->titelpre . ' ' . $benutzer->vorname . ' ' . $benutzer->nachname . ' ' . $benutzer->titelpost); //Ical File erstellen $ical = "BEGIN:VCALENDAR\nPRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN\nVERSION:2.0\nMETHOD:PUBLISH\nBEGIN:VTIMEZONE\nTZID:Europe/Vienna\nBEGIN:DAYLIGHT\nTZOFFSETFROM:+0100\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\nDTSTART:19810329T020000\nTZNAME:GMT+02:00\nTZOFFSETTO:+0200\nEND:DAYLIGHT\nBEGIN:STANDARD\nTZOFFSETFROM:+0200\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\nDTSTART:19961027T030000\nTZNAME:GMT+01:00\nTZOFFSETTO:+0100\nEND:STANDARD\nEND:VTIMEZONE\nBEGIN:VEVENT\nORGANIZER:MAILTO:" . $erstellername . " <" . $coodle->ersteller_uid . "@" . DOMAIN . "\n" . $teilnehmer . "\nDTSTART;TZID=Europe/Vienna:" . $dtstart . "\nDTEND;TZID=Europe/Vienna:" . $dtend . "\nLOCATION:" . $ort . "\nTRANSP:OPAQUE\nSEQUENCE:0\nUID:FHCompleteCoodle" . $coodle_id . "\nDTSTAMP;TZID=Europe/Vienna:" . $dtstamp . "\nDESCRIPTION:" . strip_tags(html_entity_decode($coodle->beschreibung, ENT_QUOTES, 'UTF-8')) . "\nSUMMARY:" . strip_tags($coodle->titel) . "\nPRIORITY:5\nCLASS:PUBLIC\nEND:VEVENT\nEND:VCALENDAR"; if (count($coodle_ressource->result) > 0) { foreach ($coodle_ressource->result as $row) { if ($row->uid != '') { $benutzer = new benutzer(); if (!$benutzer->load($row->uid)) { $mailMessage .= "Fehler beim Laden des Benutzers " . $coodle_ressource->convert_html_chars($row->uid); continue; } if ($benutzer->geschlecht == 'w') { $anrede = "Sehr geehrte Frau "; } else { $anrede = "Sehr geehrter Herr "; } $anrede .= $benutzer->titelpre . ' ' . $benutzer->vorname . ' ' . $benutzer->nachname . ' ' . $benutzer->titelpost; // Interner Teilnehmer $email = $row->uid . '@' . DOMAIN; } elseif ($row->email != '') { // Externe Teilnehmer $email = $row->email; $anrede = 'Sehr geehrte(r) Herr/Frau ' . $row->name; } else { // Raueme bekommen kein Mail continue; } $anrede = trim($anrede); $sign = $p->t('mail/signatur'); $datum = new datum(); $html = $anrede . '!<br><br> Die Terminumfrage zum Thema "' . $coodle_ressource->convert_html_chars($coodle->titel) . '" ist beendet. <br> Der Termin wurde auf den <b>' . $datum->formatDatum($coodle_help->datum, 'd.m.Y') . ' ' . $coodle_help->uhrzeit . '</b> festgelegt. <br><br>' . nl2br($sign); $text = $anrede . "!\n\nDie Terminumfrage zum Thema \"" . $coodle_help->convert_html_chars($coodle->titel) . '"\\" ist beendet.\\n Der Termin wurde auf den <b>' . $datum->formatDatum($coodle_help->datum, 'd.m.Y') . ' ' . $coodle_help->uhrzeit . "</b> festgelegt\n.\n \n\n{$sign}"; $mail = new mail($email, 'no-reply@' . DOMAIN, 'Terminbestätigung - ' . $coodle->titel, $text); $mail->setHTMLContent($html); //ICal Termineinladung hinzufuegen $mail->addAttachmentPlain($ical, 'text/calendar', 'meeting.ics'); if ($mail->send()) { $mailMessage .= $p->t('coodle/mailVersandtAn', array($email)) . "<br>"; } } } else { die($p->t('coodle/keineRessourcenVorhanden')); } }
} $coodle->titel = $titel; $coodle->beschreibung = $beschreibung; $coodle->dauer = $dauer; $coodle->endedatum = $datum_obj->formatDatum($endedatum, 'Y-m-d'); $coodle->updateamum = date('Y-m-d H:i:s'); $coodle->updatevon = $user; if ($coodle->save()) { $message .= '<span class="ok">' . $p->t('global/erfolgreichgespeichert') . '</span>'; } else { $message .= '<span class="error">' . $coodle->errormsg . '</span>'; } } elseif (isset($_GET['coodle_id'])) { // Bearbeiten $coodle = new coodle(); if ($coodle->load($_GET['coodle_id'])) { if ($coodle->ersteller_uid != $user) { die($p->t('global/keineBerechtigungFuerDieseSeite')); } if ($coodle->coodle_status_kurzbz != 'neu') { // Wenn bereits gestartet, abgeschlosse oder storniert, // kann nicht mehr bearbeitet werden die($p->t('coodle/umfrageNichtGueltig')); } } else { die('Error:' . $coodle->errormsg); } } else { // Neu $coodle = new coodle(); $coodle->endedatum = date('d.m.Y', strtotime("+7 day"));