} 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 {
            echo $coodletermin->errormsg;
        }
        break;
    default:
        die('Invalid Work Parameter');
}
Beispiel #2
0
/**
 * 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'));
    }
}
            $termine = new coodle();
            $termine->getRessourceTermin($umfrage->coodle_id, $ressource_id);
            foreach ($termine->result as $termin) {
                //Start und Ende berechnen
                $date = new DateTime($termin->datum . ' ' . $termin->uhrzeit);
                $dtstart = $date->format('Ymd\\THis');
                $interval = new DateInterval('PT' . $umfrage->dauer . 'M');
                $date->add($interval);
                $uhrzeit_ende = $date->format('H:i:s');
                $dtende = $date->format('Ymd\\THis');
                echo "\nFREEBUSY;TZID=Europe/Vienna: {$dtstart}/{$dtende}";
            }
        }
    } elseif ($umfrage->coodle_status_kurzbz == 'abgeschlossen') {
        // Bei abgeschlossenen Umfragen wird nur mehr der ausgewaehlte Termin zur FreeBusy hinzugefuegt
        $termin = new coodle();
        $coodle_termin_id = $termin->getTerminAuswahl($umfrage->coodle_id);
        if ($termin->loadTermin($coodle_termin_id)) {
            //Start und Ende berechnen
            $date = new DateTime($termin->datum . ' ' . $termin->uhrzeit);
            $dtstart = $date->format('Ymd\\THis');
            $interval = new DateInterval('PT' . $umfrage->dauer . 'M');
            $date->add($interval);
            $uhrzeit_ende = $date->format('H:i:s');
            $dtende = $date->format('Ymd\\THis');
            echo "\nFREEBUSY;TZID=Europe/Vienna: {$dtstart}/{$dtende}";
        }
    }
    // stornierte Umfragen werden nicht beruecksichtigt
}
echo "\nEND:VFREEBUSY";
    <br>
    <div class="wrapper">
    <h4>' . $p->t('coodle/laufendeUmfragen') . '</h4>
    <table id="myTableFiles" class="tablesorter">
    <thead>
        <tr>
            <th>' . $p->t('coodle/titel') . '</th>
            <th>' . $p->t('coodle/letzterStatus') . '</th>
            <th>' . $p->t('coodle/ersteller') . '</th>
            <th>' . $p->t('coodle/endedatum') . '</th>
            <th>' . $p->t('coodle/aktion') . '</th>
        </tr>
    </thead><tbody>';
$beendeteUmfragen = '';
$datum = new datum();
$coodle = new coodle();
$coodle->loadStatus();
$coodle->getCoodleFromUser($uid);
foreach ($coodle->result as $c) {
    $benutzer = new benutzer();
    $benutzer->load($c->ersteller_uid);
    $ersteller = $benutzer->nachname . ' ' . $benutzer->vorname;
    $row = '<tr>
            <td>' . $coodle->convert_html_chars($c->titel) . '</td>
            <td>' . $coodle->convert_html_chars($coodle->status_arr[$c->coodle_status_kurzbz]) . '</td>
            <td>' . $coodle->convert_html_chars($ersteller) . '</td>
            <td>' . $coodle->convert_html_chars($datum->formatDatum($c->endedatum, 'd.m.Y')) . '</td>
            <td nowrap>
            ';
    // Bearbeiten Button
    if ($c->coodle_status_kurzbz == 'neu' && $uid == $c->ersteller_uid) {
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 *
 * Authors: Andreas Oesterreicher 	<*****@*****.**>
 */
/**
 * Cronjob zur Versendung von Infomails wenn Coodle Umfragen Beendet sind 
 */
require_once '../config/vilesci.config.inc.php';
require_once '../include/coodle.class.php';
require_once '../include/phrasen.class.php';
require_once '../include/benutzer.class.php';
require_once '../include/mail.class.php';
$coodle = new coodle();
$coodle->getCoodleBeendet();
$p = new phrasen();
foreach ($coodle->result as $row) {
    $benutzer = new benutzer($row->ersteller_uid);
    $subject = 'Ablauf der Coodle Umfrage';
    $mailtext = '';
    $mailtexthtml = '';
    switch ($benutzer->geschlecht) {
        case 'm':
            $mailtext .= "Sehr geehrter Herr " . $benutzer->vorname . ' ' . $benutzer->nachname . "!\n\n";
            $mailtexthtml .= "Sehr geehrter Herr " . $benutzer->vorname . ' ' . $benutzer->nachname . "!<br><br>";
            break;
        case 'w':
            $mailtext .= "Sehr geehrte Frau " . $benutzer->vorname . ' ' . $benutzer->nachname . "!\n\n";
            $mailtexthtml .= "Sehr geehrte Frau " . $benutzer->vorname . ' ' . $benutzer->nachname . "!<br><br>";
        $coodle->coodle_status_kurzbz = 'neu';
    }
    $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();
Beispiel #7
0
        $bezeichnung = $benutzer->nachname . ' ' . $benutzer->vorname;
    } elseif ($row->ort_kurzbz != '') {
        $typ = 'Ort';
        $id = $row->ort_kurzbz;
        $ort = new ort();
        $ort->load($row->ort_kurzbz);
        $bezeichnung = $ort->bezeichnung;
    } elseif ($row->email != '') {
        $typ = 'Extern';
        $id = $row->email;
        $bezeichnung = $row->name;
    }
    echo 'addRessourceToContent("' . $db->convert_html_chars($id) . '", "' . $db->convert_html_chars($typ) . '", "' . $db->convert_html_chars($bezeichnung) . '");';
}
// Bereits eingetragene Terminvorschlaege laden
$coodletermin = new coodle();
if (!$coodletermin->getTermine($coodle_id)) {
    die('Fehler:' . $coodletermin->errormsg);
}
foreach ($coodletermin->result as $row) {
    echo '
		var eventObject = 
		{
			id: "' . $db->convert_html_chars($row->coodle_termin_id) . '",
			title: "' . $db->convert_html_chars($event_titel) . '",
			start: "' . $db->convert_html_chars($row->datum) . 'T' . $db->convert_html_chars($row->uhrzeit) . '",
			allDay: false,
			termin: true
		};
		$("#calendar").fullCalendar("renderEvent", eventObject, true);
		';