diff --git a/cis/private/coodle/coodle_autocomplete.php b/cis/private/coodle/coodle_autocomplete.php index 3fbb51f48..3cd0d935b 100755 --- a/cis/private/coodle/coodle_autocomplete.php +++ b/cis/private/coodle/coodle_autocomplete.php @@ -20,6 +20,7 @@ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/ort.class.php'); require_once('../../../include/benutzer.class.php'); +require_once('../../../include/gruppe.class.php'); if(!isset($_REQUEST['work'])) die('Parameter Work missing'); @@ -64,6 +65,23 @@ switch($work) $item['bezeichnung']=$row->nachname.' '.$row->vorname; $result[]=$item; } + + $gruppe = new gruppe(); + + if(!$gruppe->searchGruppen(array($q))) + die('Fehler beim Laden der Gruppe: '.$gruppe->errormsg); + + foreach($gruppe->result as $row) + { + if ($row->sichtbar) + { + $item['uid']=$row->gruppe_kurzbz; + $item['typ']='Gruppe'; + $item['bezeichnung']='Gruppe'; + $result[]=$item; + } + } + echo json_encode($result); break; default: diff --git a/cis/private/coodle/coodle_worker.php b/cis/private/coodle/coodle_worker.php index 44c697e3e..000ae50a8 100644 --- a/cis/private/coodle/coodle_worker.php +++ b/cis/private/coodle/coodle_worker.php @@ -27,6 +27,7 @@ require_once('../../../include/functions.inc.php'); require_once('../../../include/ort.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/coodle.class.php'); +require_once('../../../include/gruppe.class.php'); $user = get_uid(); @@ -65,6 +66,7 @@ switch($work) $uid=''; $ort=''; $email=''; + $gruppe_kurzbz=''; $name=''; switch($typ) { @@ -74,27 +76,61 @@ switch($work) $email = $id; $name=$bezeichnung; break; + case 'Gruppe': $gruppe_kurzbz = $id; break; default: die('Ungueltiger Typ:'.$typ); break; - } - - if($coodle->RessourceExists($coodle_id, $uid, $ort, $email)) - die('Ressource ist bereits zugeteilt'); - - $coodle->coodle_id = $coodle_id; - $coodle->uid = $uid; - $coodle->ort_kurzbz = $ort; - $coodle->email = $email; - $coodle->name = $name; - $coodle->zugangscode = uniqid(); - $coodle->insertamum = date('Y-m-d H:i:s'); - $coodle->insertvon = $user; - $coodle->updateamum = date('Y-m-d H:i:s'); - $coodle->updatevon = $user; - - if($coodle->saveRessource(true)) + } + + if($typ=='Gruppe') + { + $gruppe = new gruppe(); + if(!$gruppe->loadUser($gruppe_kurzbz)) + die('Fehler: '.$gruppe->errormsg); + + foreach($gruppe->result as $row) + { + $coodle->coodle_id = $coodle_id; + $coodle->uid = $row->uid; + $coodle->ort_kurzbz = $ort; + $coodle->email = $email; + $coodle->name = $name; + $coodle->zugangscode = uniqid(); + $coodle->insertamum = date('Y-m-d H:i:s'); + $coodle->insertvon = $user; + $coodle->updateamum = date('Y-m-d H:i:s'); + $coodle->updatevon = $user; + + if(!$coodle->RessourceExists($coodle_id, $row->uid, $ort, $email)) + { + if(!$coodle->saveRessource(true)) + { + echo 'Fehler beim Speichern:'.$coodle->errormsg; + continue; + } + } + } echo 'true'; - else - echo 'Fehler beim Speichern:'.$coodle->errormsg; + } + else + { + if($coodle->RessourceExists($coodle_id, $uid, $ort, $email)) + die('Ressource ist bereits zugeteilt'); + + $coodle->coodle_id = $coodle_id; + $coodle->uid = $uid; + $coodle->ort_kurzbz = $ort; + $coodle->email = $email; + $coodle->name = $name; + $coodle->zugangscode = uniqid(); + $coodle->insertamum = date('Y-m-d H:i:s'); + $coodle->insertvon = $user; + $coodle->updateamum = date('Y-m-d H:i:s'); + $coodle->updatevon = $user; + + if($coodle->saveRessource(true)) + echo 'true'; + else + echo 'Fehler beim Speichern:'.$coodle->errormsg; + } break; case 'removeressource': @@ -122,20 +158,29 @@ switch($work) $uid=''; $ort=''; $email=''; + $gruppe=''; $name=''; switch($typ) { case 'Ort': $ort = $id; break; case 'Person': $uid = $id; break; case 'Extern': $email = $id; break; + case 'Gruppe': $gruppe = $id; break; default: die('Ungueltiger Typ'); break; } if($coodle_ressource_id = $coodle->RessourceExists($coodle_id, $uid, $ort, $email)) { - if($coodle->deleteRessource($coodle_ressource_id)) - echo 'true'; - else - echo 'Fehler:'.$coodle->errormsg; + //Person darf nur entfernt werden, wenn noch kein Termin gewaelt wurde + $coodle->getRessourceTermin($coodle_id, $coodle_ressource_id); + if (count($coodle->result) == 0) + { + if($coodle->deleteRessource($coodle_ressource_id)) + echo 'true'; + else + echo 'Fehler:'.$coodle->errormsg; + } + else + echo 'Die Person kann nicht entfern werden, da sie bereits eine Terminauswahl getroffen hat'; } else { @@ -206,10 +251,13 @@ switch($work) 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($coodletermin->checkTerminGewaehlt($coodle_termin_id)) + die('Der Termin kann nicht verschoben werden, da er schon ausgewählt wurde'); $coodletermin->datum = $datum; $coodletermin->uhrzeit = $uhrzeit; @@ -249,6 +297,9 @@ switch($work) die('Termin und Umfrage passen nicht zusammen!'); } + if($coodletermin->checkTerminGewaehlt($coodle_termin_id)) + die('Der Termin kann nicht gelöscht werden, da er schon ausgewählt wurde'); + if($coodletermin->deleteTermin($coodle_termin_id)) echo 'true'; else diff --git a/cis/private/coodle/stammdaten.php b/cis/private/coodle/stammdaten.php index 6e01dbb21..58ab6db3c 100755 --- a/cis/private/coodle/stammdaten.php +++ b/cis/private/coodle/stammdaten.php @@ -38,17 +38,39 @@ if(!check_lektor($user)) echo ' + "http://www.w3.org/TR/html4/strict.dtd"> - + + - - + + + '.$p->t('coodle/coodle').' @@ -123,10 +236,24 @@ if(isset($_POST['save'])) { //Speichern $titel = $_POST['titel']; - $beschreibung = $_POST['beschreibung']; + $beschreibung = ($_POST['beschreibung']==''?null:$_POST['beschreibung']); $dauer = $_POST['dauer']; $endedatum = $_POST['endedatum']; $coodle_id = $_POST['coodle_id']; + if (isset($_POST['mailversand'])) + $mailversand = true; + else + $mailversand = false; + + if (isset($_POST['teilnehmer_anonym'])) + $teilnehmer_anonym = true; + else + $teilnehmer_anonym = false; + + if (isset($_POST['termin_anonym'])) + $termin_anonym = true; + else + $termin_anonym = false; $coodle = new coodle(); @@ -139,15 +266,15 @@ if(isset($_POST['save'])) { die($p->t('basis/keineBerechtigung')); } - $coodle->new=false; + $coodle->new = false; } else { - $coodle->new=true; + $coodle->new = true; $coodle->ersteller_uid = $user; $coodle->insertamum = date('Y-m-d H:i:s'); $coodle->insertvon = $user; - $coodle->coodle_status_kurzbz='neu'; + $coodle->coodle_status_kurzbz = 'neu'; } $coodle->titel = $titel; @@ -156,10 +283,25 @@ if(isset($_POST['save'])) $coodle->endedatum = $datum_obj->formatDatum($endedatum, 'Y-m-d'); $coodle->updateamum = date('Y-m-d H:i:s'); $coodle->updatevon = $user; + $coodle->mailversand = $mailversand; + $coodle->teilnehmer_anonym = $teilnehmer_anonym; + $coodle->termine_anonym = $termin_anonym; if($coodle->save()) { $message.= ''.$p->t('global/erfolgreichgespeichert').''; + //Fuer alle neuen Umfragen wird ein Termine am 01.01.1900 00:00:01 als Option fuer "Keine Auswahl" angelegt + if ($coodle->new == true) + { + $coodletermin = new coodle(); + + $coodletermin->datum = '1900-01-01'; + $coodletermin->uhrzeit = '00:00:01'; + $coodletermin->coodle_id = $coodle->coodle_id; + + if (!$coodletermin->saveTermin(true)) + $message.= ''.$coodletermin->errormsg.''; + } } else { @@ -175,9 +317,9 @@ elseif(isset($_GET['coodle_id'])) if($coodle->ersteller_uid!=$user) die($p->t('global/keineBerechtigungFuerDieseSeite')); - if($coodle->coodle_status_kurzbz!='neu') + if(($coodle->coodle_status_kurzbz!='neu') && ($coodle->coodle_status_kurzbz!='laufend')) { - // Wenn bereits gestartet, abgeschlosse oder storniert, + // Wenn bereits abgeschlosse oder storniert, // kann nicht mehr bearbeitet werden die($p->t('coodle/umfrageNichtGueltig')); } @@ -193,6 +335,7 @@ else $coodle = new coodle(); $coodle->endedatum=date('d.m.Y',strtotime("+7 day")); $coodle->dauer=60; + $coodle->mailversand=true; } echo ' << '.$p->t('coodle/zurueckZurUebersicht').'
@@ -202,6 +345,8 @@ echo '

'; if($coodle->coodle_id=='') echo $p->t('coodle/neuerEintrag'); +elseif($coodle->coodle_status_kurzbz=='laufend') + echo $p->t('coodle/laufendeUmfrageBearbeiten'); else echo $p->t('coodle/bearbeiten'); echo '

'; @@ -210,27 +355,49 @@ echo ' - - + + + - + + - - + + - - + + + + + + + + + + + + + + + + + + - +
'.$p->t('coodle/titel').''.$p->t('coodle/titel').' + + coodle_status_kurzbz=='laufend'?'disabled':'').'/>'.$p->t('coodle/titelInfotext').'
'.$p->t('coodle/beschreibung').'

'.$p->t('coodle/beschreibungInfotext').'
'.$p->t('coodle/dauer').' - + '.$p->t('coodle/dauer').' + + coodle_status_kurzbz=='laufend'?'disabled':'').'/> '.$p->t('coodle/dauerminuten').' '.$p->t('coodle/dauerInfotext').'
'.$p->t('coodle/endedatum').''.$p->t('coodle/endedatum').''.$p->t('coodle/endeInfotext').'
'.$p->t('coodle/mailversand').'mailversand=='t'?'checked':'').'/>'.$p->t('coodle/infotextMailversand').'
'.$p->t('coodle/teilnehmerAnonym').'teilnehmer_anonym=='t'?'checked':'').'/>'.$p->t('coodle/infotextTeilnehmerAnonym').'
'.$p->t('coodle/terminAnonym').'termine_anonym=='t'?'checked':'').'/>'.$p->t('coodle/infotextTerminAnonym').'
'.$message.' '.$message.'
'; @@ -241,8 +408,10 @@ echo ' if($coodle->coodle_id) { - echo '
>> '.$p->t('coodle/weiterZurTerminauswahl').'
'; + echo '
'.$p->t('coodle/weiterZurTerminauswahl').'
'; } +/*elseif ($coodle->coodle_status_kurzbz=='laufend') + echo '
'.$p->t('coodle/umfrageLaeuftBereits').'
';*/ echo ' '; diff --git a/cis/private/coodle/termin.php b/cis/private/coodle/termin.php index bf34b27ef..b29e04cfa 100755 --- a/cis/private/coodle/termin.php +++ b/cis/private/coodle/termin.php @@ -55,7 +55,7 @@ if(!$coodle->load($coodle_id)) } $event_titel = $coodle->titel; -if($coodle->coodle_status_kurzbz == 'storniert' || $coodle->coodle_status_kurzbz == 'abgeschlossen' || $coodle->coodle_status_kurzbz=='laufend') +if($coodle->coodle_status_kurzbz == 'storniert' || $coodle->coodle_status_kurzbz == 'abgeschlossen') { die($p->t('coodle/umfrageNichtGueltig')); } @@ -67,7 +67,7 @@ if(isset($_POST['action']) && $_POST['action']=='start') echo ' - + @@ -132,15 +132,22 @@ if(isset($_POST['action']) && $_POST['action']=='start') $html=$anrede.'!

Sie wurden zu einer Terminumfrage zum Thema "'.$db->convert_html_chars($coodle->titel).'" eingeladen.
- Bitte folgen Sie dem Link um Ihre Terminwünsche bekannt zu geben: + Bitte folgen Sie dem Link, um Ihre Terminwünsche bekannt zu geben: Link zur Terminumfrage -

'.nl2br($sign); +

+ Beschreibung:

+ '.$coodle->beschreibung.'

+ '.nl2br($sign); $text=$anrede."!\n\nSie wurden zu einer Terminumfrage zum Thema \"".$db->convert_html_chars($coodle->titel)."\" eingeladen.\n - Bitte folgen Sie dem Link um Ihre Terminwünsche bekannt zu geben:\n - $link\n\n$sign"; + Bitte folgen Sie dem Link, um Ihre Terminwünsche bekannt zu geben:\n + $link\n\n + Beschreibung:\n\n + ".strip_tags($coodle->beschreibung)." + \n\n + $sign"; - $mail = new mail($email, $von,'Termineinladung - '.$coodle->titel, $text); + $mail = new mail($email, $von,'Terminumfrage - '.$coodle->titel, $text); $mail->setHTMLContent($html); if($mail->send()) { @@ -199,9 +206,11 @@ echo ' } #external-events h4 { - font-size: 16px; + font-size: 17px; margin-top: 0; - padding-top: 1em; + padding-top: 10px; + padding-bottom: 10px; + text-decoration: none; } .external-event { /* try to mimick the look of a real event */ @@ -211,6 +220,8 @@ echo ' color: #fff; font-size: .85em; cursor: pointer; + border-radius: 2px; + box-shadow: 3px 3px 3px #bbb; } #external-events p { @@ -239,9 +250,11 @@ echo ' } #ressourcen h4 { - font-size: 16px; + font-size: 17px; margin-top: 0; - padding-top: 1em; + padding-top: 10px; + padding-bottom: 10px; + text-decoration: none; } .ressourcen { @@ -285,9 +298,11 @@ echo ' #fertig h4 { - font-size: 16px; + font-size: 17px; margin-top: 0; - padding-top: 1em; + padding-top: 10px; + padding-bottom: 10px; + text-decoration: none; } #fertig p @@ -296,7 +311,7 @@ echo ' font-size: 11px; color: #666; } - + - - '; echo' '.$p->t('coodle/uebersicht').' - - '; + + '; $method = isset($_GET['method'])?$_GET['method']:''; // coodle umfrage löschen if($method=='delete') { - $coodle= new coodle(); - $coodle_id = isset($_GET['coodle_id'])?$_GET['coodle_id']:''; - - if($coodle->load($coodle_id)) + $coodle= new coodle(); + $coodle_id = isset($_GET['coodle_id'])?$_GET['coodle_id']:''; + + if($coodle->load($coodle_id)) { - // löschen nur von eigenen Umfragen möglich + // löschen nur von eigenen Umfragen möglich if($coodle->ersteller_uid!=$uid) $message = ''.$p->t('global/keineBerechtigung').''; - else - { - if($coodle->delete($coodle_id)) - $message ='Erfolgreich storniert!'; - else - $message =''.$p->t('coodle/umfrageKonnteNichtGeloeschtWerden').''; - } + else + { + if($coodle->delete($coodle_id)) + $message ='Erfolgreich storniert!'; + else + $message =''.$p->t('coodle/umfrageKonnteNichtGeloeschtWerden').''; + } } - else - $message = ''.$p->t('coodle/umfrageNichtGeladen').''; + else + $message = ''.$p->t('coodle/umfrageNichtGeladen').''; } -echo'

'.$p->t('coodle/uebersicht').'

-
'; +echo'

'.$p->t('coodle/uebersicht').'

'; + +echo $p->t('coodle/einfuehrungstext').'

'; if(check_lektor($uid)) { echo ' -
+

'; } echo ' -
'.$message.'
-
-
-

'.$p->t('coodle/laufendeUmfragen').'

- - - - - - - - - - '; +
'.$message.'
+
+
+

'.$p->t('coodle/laufendeUmfragen').'

+
'.$p->t('coodle/titel').''.$p->t('coodle/letzterStatus').''.$p->t('coodle/ersteller').''.$p->t('coodle/endedatum').''.$p->t('coodle/aktion').'
+ + + + + + + + + '; $beendeteUmfragen=''; $datum = new datum(); @@ -144,50 +151,52 @@ foreach($coodle->result as $c) $benutzer = new benutzer(); $benutzer->load($c->ersteller_uid); $ersteller = $benutzer->nachname.' '.$benutzer->vorname; - $row = ' - - - - - + + + + + - '; - - if($c->coodle_status_kurzbz=='laufend' || $c->coodle_status_kurzbz=='neu') + $row.=' + + '; + + if($c->coodle_status_kurzbz=='laufend' || $c->coodle_status_kurzbz=='neu') echo $row; else $beendeteUmfragen.=$row; @@ -217,17 +226,17 @@ if($beendeteUmfragen!='')

'.$p->t('coodle/beendeteUmfragen').'

'.$p->t('coodle/titel').''.$p->t('coodle/letzterStatus').''.$p->t('coodle/ersteller').''.$p->t('coodle/endedatum').''.$p->t('coodle/aktion').'
'.$coodle->convert_html_chars($c->titel).''.$coodle->convert_html_chars($coodle->status_arr[$c->coodle_status_kurzbz]).''.$coodle->convert_html_chars($ersteller).''.$coodle->convert_html_chars($datum->formatDatum($c->endedatum, 'd.m.Y')).' - '; - - // Bearbeiten Button - if(($c->coodle_status_kurzbz=='neu') && $uid==$c->ersteller_uid) - { - $row.= ' -   - '; - } - else + $row = '
'.$coodle->convert_html_chars($c->titel).''.$coodle->convert_html_chars($coodle->status_arr[$c->coodle_status_kurzbz]).''.$coodle->convert_html_chars($ersteller).''.$coodle->convert_html_chars($datum->formatDatum($c->endedatum, 'd.m.Y')).' + '; + + // Bearbeiten Button + if((($c->coodle_status_kurzbz=='neu')||($c->coodle_status_kurzbz=='laufend')) && $uid==$c->ersteller_uid) { if($c->coodle_status_kurzbz=='laufend') $title=$p->t('coodle/umfrageWurdeBereitsGestartet'); else - $title=$p->t('global/keineBerechtigung'); + $title=$p->t('coodle/bearbeiten'); + + $row.= '  + + '; + } + else + { + $title=$p->t('global/keineBerechtigung'); $row.= ' '; - } - - // Storno Button - if($uid==$c->ersteller_uid && $c->coodle_status_kurzbz!='storniert' && $c->coodle_status_kurzbz!='abgeschlossen') - { - $row.= ' -   - '; - } - else - { - $row.='  '; - } - - // Umfrage Button - if($c->coodle_status_kurzbz=='laufend' || $c->coodle_status_kurzbz=='abgeschlossen') - { - $row.= ' -   + } + + // Storno Button + if($uid==$c->ersteller_uid && $c->coodle_status_kurzbz!='storniert' && $c->coodle_status_kurzbz!='abgeschlossen') + { + $row.= '  + '; - } + } + else + { + $row.='  '; + } + + // Umfrage Button + if($c->coodle_status_kurzbz=='laufend' || $c->coodle_status_kurzbz=='abgeschlossen') + { + $row.= '  + + '; + } else { if($c->coodle_status_kurzbz=='neu') @@ -198,11 +207,11 @@ foreach($coodle->result as $c) $row.='   '; } - $row.=' -
- - - - - - - - - + + + + + + + + + - '.$beendeteUmfragen.' + '.$beendeteUmfragen.'
'.$p->t('coodle/titel').''.$p->t('coodle/letzterStatus').''.$p->t('coodle/ersteller').''.$p->t('coodle/endedatum').''.$p->t('coodle/aktion').'
'.$p->t('coodle/titel').''.$p->t('coodle/letzterStatus').''.$p->t('coodle/ersteller').''.$p->t('coodle/endedatum').''.$p->t('coodle/aktion').'
'; diff --git a/cis/public/coodle.php b/cis/public/coodle.php index 4915669f6..5750880df 100755 --- a/cis/public/coodle.php +++ b/cis/public/coodle.php @@ -46,81 +46,86 @@ $coodle_id = (isset($_GET['coodle_id'])?$_GET['coodle_id']:''); $coodle = new coodle(); if(!$coodle->load($coodle_id)) - die($coodle->errormsg); + die($coodle->errormsg); // Überprüfen ob Coodle Status laufend oder abgeschlossen hat if(!$coodle->checkStatus($coodle_id)) - die($p->t('coodle/umfrageNichtGueltig')); + die($p->t('coodle/umfrageNichtGueltig')); // authentifizierung if(!isset($_GET['zugangscode'])) { - $uid = get_uid(); - if(!$coodle->checkBerechtigung($coodle_id, $uid)) - die($p->t('coodle/keineBerechtigung')); - - // überprüfen ob ersteller gleich uid ist - if($coodle->ersteller_uid == $uid) - $ersteller = true; + $uid = get_uid(); + if(!$coodle->checkBerechtigung($coodle_id, $uid)) + die($p->t('coodle/keineBerechtigung')); + + // überprüfen ob ersteller gleich uid ist + if($coodle->ersteller_uid == $uid) + $ersteller = true; } else { - if(!$coodle->checkBerechtigung($coodle_id, '', $_GET['zugangscode'])) - die($p->t('coodle/keineBerechtigung')); + if(!$coodle->checkBerechtigung($coodle_id, '', $_GET['zugangscode'])) + die($p->t('coodle/keineBerechtigung')); } // checkboxen speichern if(isset ($_POST['save'])) { - $coodle_help = new coodle(); - $error = false; - - // Ressource ID von Zugangscode oder UID holen und Beiträge löschen - if(isset($_GET['zugangscode'])) - { - // Einträge löschen - $coodle_help->getRessourceFromUser($coodle_id, '', $_GET['zugangscode']); - $coodle_ressource_termin= $coodle_help->deleteRessourceTermin($coodle_id, $coodle_help->coodle_ressource_id); - } - else - { - if($coodle_help->RessourceExists($coodle_id, $uid)) - { - $coodle_help->getRessourceFromUser($coodle_id, $uid); - $coodle_ressource_termin= $coodle_help->deleteRessourceTermin($coodle_id, $coodle_help->coodle_ressource_id); - } - } - - // Einträge speichern - foreach($_POST as $key=>$value) - { - if(mb_substr($key, 0, 5) =='check') - { - $termin = explode('_', $key); - $ressource_id = $termin[1]; - $termin_id = $termin[2]; - - $coodle_ressource_termin = new coodle(); - $coodle_ressource_termin->coodle_ressource_id = $ressource_id; - $coodle_ressource_termin->coodle_termin_id = $termin_id; - $coodle_ressource_termin->new = true; + $coodle_help = new coodle(); + $error = false; + $teilnehmer_uid = ''; + + // Ressource ID von Zugangscode oder UID holen und Beiträge löschen + if(isset($_GET['zugangscode'])) + { + // Einträge löschen + $coodle_help->getRessourceFromUser($coodle_id, '', $_GET['zugangscode']); + $coodle_ressource_termin= $coodle_help->deleteRessourceTermin($coodle_id, $coodle_help->coodle_ressource_id); + $teilnehmer_uid = $coodle_help->coodle_ressource_id; + } + else + { + if($coodle_help->RessourceExists($coodle_id, $uid)) + { + $coodle_help->getRessourceFromUser($coodle_id, $uid); + $coodle_ressource_termin= $coodle_help->deleteRessourceTermin($coodle_id, $coodle_help->coodle_ressource_id); + $teilnehmer_uid = $coodle_help->coodle_ressource_id; + } + } + + // Einträge speichern + foreach($_POST as $key=>$value) + { + if(mb_substr($key, 0, 5) =='check') + { + $termin = explode('_', $key); + $ressource_id = $termin[1]; + $termin_id = $termin[2]; + + $coodle_ressource_termin = new coodle(); + $coodle_ressource_termin->coodle_ressource_id = $ressource_id; + $coodle_ressource_termin->coodle_termin_id = $termin_id; + $coodle_ressource_termin->new = true; - if(!$coodle_ressource_termin->saveRessourceTermin()) - $error = true; - } - } - - if($error) - { - $message.= "".$p->t('global/fehlerBeimSpeichernDerDaten')."
"; - } - else - { - // email an ersteller senden - sendBenachrichtigung($coodle_id); - - $saveOk=true; - } + if(!$coodle_ressource_termin->saveRessourceTermin()) + $error = true; + } + } + + if($error) + { + $message.= "".$p->t('global/fehlerBeimSpeichernDerDaten')."
"; + } + else + { + $coodle_help->load($coodle_id); + // email an ersteller senden wenn option aktiviert + if ($coodle_help->mailversand) + sendBenachrichtigung($coodle_id,$teilnehmer_uid); + + $saveOk=true; + } } // endgültige auswahl des termins speichern @@ -128,43 +133,43 @@ if(isset($_POST['auswahl_termin'])) { if($ersteller) { - $auswahl = $_POST['auswahl_termin']; - if($auswahl!='') - { - // setzte auswahl von termin_id auf true - $coodle_help = new coodle(); - $coodle_help->loadTermin($auswahl); - $coodle_help->auswahl = true; - - // alle termine der coodle_id auf false setzen - if(!$coodle_help->setTerminFalse($coodle_id)) - exit('Fehler beim Update aufgetreten'); + $auswahl = $_POST['auswahl_termin']; + if($auswahl!='') + { + // setzte auswahl von termin_id auf true + $coodle_help = new coodle(); + $coodle_help->loadTermin($auswahl); + $coodle_help->auswahl = true; + + // alle termine der coodle_id auf false setzen + if(!$coodle_help->setTerminFalse($coodle_id)) + exit('Fehler beim Update aufgetreten'); - if(!$coodle_help->saveTermin(false)) - $message.="".$p->t('global/fehlerBeimSpeichernDerDaten')."
"; - else + if(!$coodle_help->saveTermin(false)) + $message.="".$p->t('global/fehlerBeimSpeichernDerDaten')."
"; + else $saveOk=true; - - $coodle_status = new coodle(); - $coodle_status->load($coodle_id); - $coodle_status->coodle_status_kurzbz = 'abgeschlossen'; - $coodle_status->new = false; - $coodle_status->save(); - - sendEmail($coodle_id); - - - if($coodle_help->datumgetRaumeFromId($coodle_id); - - //Ende Uhrzeit berechnen - $date = new DateTime($coodle_help->datum.' '.$coodle_help->uhrzeit); - $interval =new DateInterval('PT'.$coodle->dauer.'M'); - $date->add($interval); - $uhrzeit_ende = $date->format('H:i:s'); + + $coodle_status = new coodle(); + $coodle_status->load($coodle_id); + $coodle_status->coodle_status_kurzbz = 'abgeschlossen'; + $coodle_status->new = false; + $coodle_status->save(); + + sendEmail($coodle_id); + + + if($coodle_help->datumgetRaumeFromId($coodle_id); + + //Ende Uhrzeit berechnen + $date = new DateTime($coodle_help->datum.' '.$coodle_help->uhrzeit); + $interval =new DateInterval('PT'.$coodle->dauer.'M'); + $date->add($interval); + $uhrzeit_ende = $date->format('H:i:s'); foreach($coodle_raum->result as $raum) { @@ -178,20 +183,20 @@ if(isset($_POST['auswahl_termin'])) // Stunden reservieren foreach($stunden as $stunde) { - $raum_reservierung = new reservierung(); - $raum_reservierung->studiengang_kz = '0'; - $raum_reservierung->uid = $uid; - $raum_reservierung->ort_kurzbz = $raum->ort_kurzbz; - $raum_reservierung->datum = $coodle_help->datum; - $raum_reservierung->stunde = $stunde; - $raum_reservierung->titel = mb_substr($coodle->titel,0,10); - $raum_reservierung->beschreibung = mb_substr($coodle->titel, 0, 32); - $raum_reservierung->insertamum = date('Y-m-d H:i:s'); - $raum_reservierung->insertvon = $uid; - - //$message.= "Reserviere $raum->ort_kurzbz Stunde $stunde:"; - if(!$raum_reservierung->save(true)) - $reservierung_error=true; + $raum_reservierung = new reservierung(); + $raum_reservierung->studiengang_kz = '0'; + $raum_reservierung->uid = $uid; + $raum_reservierung->ort_kurzbz = $raum->ort_kurzbz; + $raum_reservierung->datum = $coodle_help->datum; + $raum_reservierung->stunde = $stunde; + $raum_reservierung->titel = mb_substr($coodle->titel,0,10); + $raum_reservierung->beschreibung = mb_substr($coodle->titel, 0, 32); + $raum_reservierung->insertamum = date('Y-m-d H:i:s'); + $raum_reservierung->insertvon = $uid; + + //$message.= "Reserviere $raum->ort_kurzbz Stunde $stunde:"; + if(!$raum_reservierung->save(true)) + $reservierung_error=true; } $message.= $p->t('coodle/raumErfolgreichReserviert', array($raum->ort_kurzbz)).'
'; } @@ -199,13 +204,13 @@ if(isset($_POST['auswahl_termin'])) { $message.=''.$p->t('coodle/raumBelegt', array($raum->ort_kurzbz)).'
'; } - } - } - else - { - $message.=''.$p->t('coodle/raumNichtReserviert', array($datum_obj->formatDatum(RES_TAGE_LEKTOR_BIS, 'd.m.Y'))).'
'; - } - } + } + } + else + { + $message.=''.$p->t('coodle/raumNichtReserviert', array($datum_obj->formatDatum(RES_TAGE_LEKTOR_BIS, 'd.m.Y'))).'
'; + } + } } else $message.= ''.$p-t('global/keineBerechtigung').''; @@ -215,80 +220,139 @@ if(isset($_POST['auswahl_termin'])) $coodle->load($coodle_id); if($coodle->coodle_status_kurzbz == 'abgeschlossen') - $abgeschlossen = true; + $abgeschlossen = true; if(isset($_GET['resend'])) { - if($ersteller && $abgeschlossen) - sendEmail ($coodle_id); + if($ersteller && $abgeschlossen) + sendEmail ($coodle_id); } ?> - - + + - <?php echo $p->t('coodle/terminauswahl');?> - - + .infotext + { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; + padding: 6px; + } + .abgeschlossen + { + width: 70%; + color: #3c763d; + background-color: #dff0d8; + padding: 15px; + border: 1px solid #d6e9c6; + } + << ".$p->t('coodle/zurueckZurUebersicht').""; echo '

'; echo '
'; - + $coodle_help = new coodle(); $coodle_help->load($coodle_id); - + $alt = strtotime($coodle_help->insertamum) ; $differenz = time() - $alt; $differenz = $differenz / 86400; $benutzer = new benutzer(); $benutzer->load($coodle->ersteller_uid); -$ersteller_name = trim($benutzer->titelpre.' '.$benutzer->vorname.' '.$benutzer->nachname.' '.$benutzer->titelpost); +//$ersteller_name = trim($benutzer->titelpre.' '.$benutzer->vorname.' '.$benutzer->nachname.' '.$benutzer->titelpost); +$ersteller_name = trim($benutzer->vorname.' '.$benutzer->nachname); echo '

'.$coodle->titel.'

'; $erstellt = array($ersteller_name, round($differenz)); echo ''.$p->t('coodle/erstelltVon', $erstellt).'

'; // echo '
Erstellt von '.$coodle->ersteller_uid.' ( vor '.round($differenz).' Tagen)
'; echo $coodle->beschreibung; -echo ' -
-

+echo '
'; + +if($abgeschlossen) +{ + $datum = new datum(); + $coodle_abgeschlossen = new coodle(); + $termin_id = $coodle_abgeschlossen->getTerminAuswahl($coodle_id); + $coodle_abgeschlossen->loadTermin($termin_id); + echo '

'.$p->t('coodle/umfrageAbgeschlossen',array($datum->formatDatum($coodle_abgeschlossen->datum, 'd.m.Y').' '.$coodle_abgeschlossen->uhrzeit)).'
'; +} + +echo '

'; - - $coodle_ressourcen = new coodle(); - $coodle_ressourcen->getRessourcen($coodle_id); - - // alle termine der coodle umfrage holen - $coodle_termine = new coodle(); - $coodle_termine->getTermine($coodle_id); - - $datum = new datum(); - - echo "
-
+ + $coodle_ressourcen = new coodle(); + $coodle_ressourcen->getRessourcen($coodle_id); + + // alle termine der coodle umfrage holen + $coodle_termine = new coodle(); + $coodle_termine->getTermine($coodle_id); - - "; - foreach($coodle_termine->result as $termin) - { - $class_auswahl='normal'; - $time = strtotime($termin->uhrzeit); - $coodle_auswahl = new coodle(); - - // Falls es schon eine Auswahl gibt - hervorheben - if($coodle_auswahl->checkTerminAuswahl($coodle_id, $termin->coodle_termin_id)) - $class_auswahl = 'auswahl'; - - echo ""; - } - if($ersteller) - echo ''; - echo ""; - - // ressourcen durchlaufen - foreach($coodle_ressourcen->result as $ressource) - { - $name = ''; - $class ='normal'; - $benutzer = new benutzer(); - - // wenn uid gesetzt ist nimm uid - if($ressource->uid != '') - { - $benutzer->load($ressource->uid); - $name =($benutzer->titelpre!='')?$benutzer->titelpre.' ':''; - $name.= $benutzer->vorname.' '; - $name.=$benutzer->nachname.' '; - $name.=$benutzer->titelpost; - } + $datum = new datum(); + $datum_colspan = ''; + $mailadressen = '?subject=Coodle%20Umfrage%20'.htmlspecialchars($coodle->titel).'&bcc='; - // wenn uid nicht gesetzt ist nimm zugangscode - if($ressource->zugangscode !='' && $ressource->uid =='') - $name = $ressource->name; - - if($ressource->ort_kurzbz != '') - continue; - - // eigene Reihe farbig hervorheben - if(isset($_GET['zugangscode']) && $_GET['zugangscode'] == $ressource->zugangscode) - $class ='owner'; - if(!isset($_GET['zugangscode']) && $ressource->uid == $uid) - $class = 'owner'; - - echo ""; - // termine zu ressourcen anzeigen - foreach($coodle_termine->result as $termin) - { - $checked =''; - $disabled=''; - if($coodle_termine->checkTermin($termin->coodle_termin_id, $ressource->coodle_ressource_id)) - $checked = 'checked'; - - $coodle_help = new coodle(); - if(isset($_GET['zugangscode'])) - { - $coodle_help->getRessourceFromUser($coodle_id, '', $_GET['zugangscode']); - if($ressource->coodle_ressource_id != $coodle_help->coodle_ressource_id) - $disabled = 'disabled'; - }else - { - $coodle_help->getRessourceFromUser($coodle_id, $uid); - if($ressource->coodle_ressource_id != $coodle_help->coodle_ressource_id) - $disabled = 'disabled'; - } - - if($abgeschlossen) - $disabled='disabled'; - - echo ""; - } - if($ersteller) - echo ''; - echo ''; - } - - $disabled = $abgeschlossen?'disabled':''; - - if($ersteller) - { - // buttons für auswahl des endgültigen termins - echo ''; - foreach($coodle_termine->result as $termin) - { - $checked=($termin->auswahl)?'checked':''; - echo ''; - } - echo ''; - echo ""; - } + echo "
+ - - echo " -
-
".$datum->formatDatum($termin->datum, 'd.m.Y').'
'.date('H:i',$time)."
'.$p->t('coodle/keineAuswahl').'
".$name."
'.$p->t('coodle/auswahlEndtermin').'
 
"; - + + "; + // Für Colspan bei Datum + $max_colspan = array(); + foreach($coodle_termine->result as $termin) + { + $max_colspan[] .= $termin->datum; + } + + foreach($coodle_termine->result as $termin) + { + $class_auswahl = 'normal'; + $time = strtotime($termin->uhrzeit); + $coodle_auswahl = new coodle(); + + // Falls es schon eine Auswahl gibt - hervorheben + if($coodle_auswahl->checkTerminAuswahl($coodle_id, $termin->coodle_termin_id)) + $class_auswahl = 'auswahl'; + + // Colspan für Datum berechnen + $count = array_count_values($max_colspan); + $colspan = $count[$termin->datum]; + + if($datum_colspan != $termin->datum && $termin->datum != '1900-01-01') + echo ""; + + $datum_colspan = $termin->datum; + } + if($ersteller) + echo ''; + echo ""; + + foreach($coodle_termine->result as $termin) + { + $class_auswahl='normal_uhrzeit'; + $time = strtotime($termin->uhrzeit); + $coodle_auswahl = new coodle(); + + // Falls es schon eine Auswahl gibt - hervorheben + if($coodle_auswahl->checkTerminAuswahl($coodle_id, $termin->coodle_termin_id)) + $class_auswahl = 'auswahl_uhrzeit'; + + if($termin->datum != '1900-01-01') + echo ""; + else + echo ''; + } + echo ""; + + foreach($coodle_ressourcen->result as $ressource) + { + $name = ''; + $benutzer = new benutzer(); + + // wenn uid gesetzt ist nimm uid + if($ressource->uid != '') + { + $benutzer->load($ressource->uid); + //$name .= ($benutzer->titelpre!='')?$benutzer->titelpre.' ':''; + $name .= $benutzer->vorname.' '; + $name .= $benutzer->nachname.' '; + //$name .= $benutzer->titelpost; + + $mailadressen .= $ressource->uid.'@'.DOMAIN.';'; + + $ressource->anzeigename = $name; + $ressource->vorname = $benutzer->vorname; + $ressource->nachname = $benutzer->nachname; + } + + // wenn uid nicht gesetzt ist nimm zugangscode + if($ressource->zugangscode != '' && $ressource->uid == '') + { + $name = $ressource->name; + $ressource->anzeigename = $name; + $ressource->vorname = $name; + $ressource->nachname = $name; + + $mailadressen .= ';'.$ressource->email; + } + + + } + + //Sortiert die Ressourcen alphabetisch nach anzeigename + function sortRessourcen($a, $b) + { + return strcmp($a->nachname.''.$a->vorname, $b->nachname.''.$b->vorname); + } + usort($coodle_ressourcen->result, "sortRessourcen"); + + $owner = false; + // ressourcen durchlaufen + foreach($coodle_ressourcen->result as $ressource) + { + $owner = false; + // Ist der User ident mit einer Ressource + if(isset($_GET['zugangscode']) && $_GET['zugangscode'] == $ressource->zugangscode) + $owner = true; + if(!isset($_GET['zugangscode']) && $ressource->uid == $uid) + $owner = true; + + if ($coodle_help->teilnehmer_anonym && !$owner) + continue; + else + { + + // Ort-Ressourcen ueberspringen + if($ressource->ort_kurzbz != '') + continue; + + $class = 'normal'; + // eigene Reihe farbig hervorheben + if ($owner) + $class = 'owner'; + // Bei anonymen TeilnehmerInnen entfaellt das Hervorheben + if ($coodle_help->teilnehmer_anonym) + $class = 'normal'; + + echo ""; + + $termin_datum = ''; + $disabled = false; + $checked = false; + + $coodle_ressource = new coodle(); + if (isset($_GET['zugangscode'])) + { + $coodle_ressource->getRessourceFromUser($coodle_id, '', $_GET['zugangscode']); + if($ressource->coodle_ressource_id != $coodle_ressource->coodle_ressource_id) + $disabled = true; + } + else + { + $coodle_ressource->getRessourceFromUser($coodle_id, $uid); + if($ressource->coodle_ressource_id != $coodle_ressource->coodle_ressource_id) + $disabled = true; + } + + if($abgeschlossen) + $disabled = true; + + // termine zu ressourcen anzeigen + foreach($coodle_termine->result as $termin) + { + $checked = false; + $style = ''; + if($coodle_termine->checkTermin($termin->coodle_termin_id, $ressource->coodle_ressource_id)) + $checked = true; + + if ($termin_datum != '' && $termin_datum != $termin->datum) + $style = 'style="border-left: 1px solid #DCDDDF;"'; + + if ($coodle_help->termine_anonym && !$owner && !$ersteller) + echo ""; + else + { + if ($disabled) + { + if ($checked) + echo ''; + else + echo ''; + } + else + { + // Der 01.01.1900 wird fuer "Keine Auswahl" verwendet. Beim anklicken der Checkbox werden alle anderen Checkboxen deaktiviert + echo ''; + } + } + + $termin_datum = $termin->datum; + } + if($ersteller) + echo ""; + echo ''; + } + } + + $disabled = $abgeschlossen?'disabled':''; + + // Counter fuer Anzahl der Auswahlen pro Termin + $counter_arr = array(); + foreach($coodle_termine->result as $termin) + { + $countTermine = new coodle(); + $countTermine->countTermin($termin->coodle_termin_id); + + $counter_arr[] = $countTermine->anzahl; + } + if ($coodle_help->teilnehmer_anonym) + echo ''; + elseif ($coodle_help->termine_anonym) + echo ''; + + echo ''; + foreach($coodle_termine->result as $termin) + { + $countTermine = new coodle(); + $countTermine->countTermin($termin->coodle_termin_id); + + if ($countTermine->anzahl == max($counter_arr)) + echo ''; + else + echo ''; + } + if($ersteller) + echo ''; + echo ""; + + if($ersteller) + { + // buttons für auswahl des endgültigen termins + echo ''; + foreach($coodle_termine->result as $termin) + { + $checked=($termin->auswahl)?'checked':''; + if ($termin->datum != '1900-01-01') + echo ''; + else + echo ''; + } + echo ''; + echo ""; + } + if($ersteller && $abgeschlossen) + echo ' '; + echo ' + -
".$datum->formatDatum($termin->datum, 'd.m.Y')."
".date('H:i',$time)."'.$p->t('coodle/keinTerminMoeglich').'
".$ressource->anzeigename." + datum == '1900-01-01'?'id="disableCheckboxes"':'').' + name="check_'.$ressource->coodle_ressource_id.'_'.$termin->coodle_termin_id.'"> +
Die TeilnehmerInnen dieser Umfrage sind anonym
Die Terminwahl dieser Umfrage erfolgt anonym
Summe der Einträge'.$countTermine->anzahl.''.$countTermine->anzahl.''.$p->t('coodle/keineAuswahl').'
'.$p->t('coodle/auswahlEndtermin').'
Mail an alle schicken
'; + if($ersteller && $abgeschlossen) echo ''; if($saveOk===true) echo ' '.$p->t('global/erfolgreichgespeichert').''; echo "
- ".$message.'
'.$mailMessage; - if($abgeschlossen) - echo '

'.$p->t('coodle/umfrageAbgeschlossen').''; - - ?> - - +
+
".$message.'
'.$mailMessage; + + ?> +
+ @@ -454,37 +663,49 @@ echo ' * Sendet eine Email an den Ersteller der Umfrage * @param type $ersteller */ -function sendBenachrichtigung($coodle_id) +function sendBenachrichtigung($coodle_id,$teilnehmer_id) { - $coodle_send = new coodle(); - if(!$coodle_send->load($coodle_id)) - { - die("Fehler beim senden aufgetreten"); - } - - $email = ''; - $mitarbeiter = new mitarbeiter(); - $mitarbeiter->load($coodle_send->ersteller_uid); - $person = new person(); - $person->load($mitarbeiter->person_id); - - $name = ''; - $name.= ($person->titelpre != '')?$person->titelpre.' ':''; - $name.= $person->vorname.' '.$person->nachname; - $name.= ($person->titelpost != '')?' '.$person->titelpost:''; - - - if($person->geschlecht == 'w') - $email.= 'Sehr geehrte Frau '.$name."!

"; - else - $email.="Sehr geehrter Herr ".$name."!

"; - - $email.="Ein Termin Ihrer Coodle-Umfrage wurde ausgewählt
Link zu Ihrer Coodle Übersicht

Mit freundlichen Grüßen

- Fachhochschule Technikum Wien
- Höchstädtplatz 6
- 1200 Wien"; - - $mail = new mail($coodle_send->ersteller_uid.'@'.DOMAIN, 'no-reply', 'Coodle Umfrage', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.'); + $coodle_send = new coodle(); + if(!$coodle_send->load($coodle_id)) + { + die("Fehler beim senden aufgetreten"); + } + + $mitarbeiter = new mitarbeiter(); + $person = new person(); + $teilnehmer = new coodle(); + + $teilnehmer->getRessourceFromId($teilnehmer_id); + if ($teilnehmer->zugangscode!='') + $tn = $teilnehmer->name; + else + { + $mitarbeiter->load($teilnehmer->uid); + $person->load($mitarbeiter->person_id); + $tn = $person->vorname." ".$person->nachname; + } + $mitarbeiter->load($coodle_send->ersteller_uid); + $person->load($mitarbeiter->person_id); + + $email = ''; + + $name = ''; + $name.= ($person->titelpre != '')?$person->titelpre.' ':''; + $name.= $person->vorname.' '.$person->nachname; + $name.= ($person->titelpost != '')?' '.$person->titelpost:''; + + + if($person->geschlecht == 'w') + $email.= 'Sehr geehrte Frau '.$name."!

"; + else + $email.="Sehr geehrter Herr ".$name."!

"; + + $email.= $tn." hat einen Termin Ihrer Coodle-Umfrage ausgewählt
Link zu Ihrer Coodle Übersicht

Mit freundlichen Grüßen

+ Fachhochschule Technikum Wien
+ Höchstädtplatz 6
+ 1200 Wien"; + + $mail = new mail($coodle_send->ersteller_uid.'@'.DOMAIN, 'no-reply', 'Coodle Umfrage', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.'); $mail->setHTMLContent($email); if(!$mail->send()) die("Fehler beim senden des Mails aufgetreten"); @@ -499,64 +720,64 @@ function sendBenachrichtigung($coodle_id) 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'); + 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 + //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 PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN VERSION:2.0 METHOD:PUBLISH @@ -594,69 +815,69 @@ CLASS:PUBLIC END:VEVENT END: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 + if(count($coodle_ressource->result)>0) + { + foreach($coodle_ressource->result as $row) + { + if($row->uid!='') { - // Raueme bekommen kein Mail - continue; - } - $anrede = trim($anrede); - $sign = $p->t('mail/signatur'); + $benutzer = new benutzer(); + if(!$benutzer->load($row->uid)) + { + $mailMessage.="Fehler beim Laden des Benutzers ".$coodle_ressource->convert_html_chars($row->uid); + continue; + } - $datum = new datum(); + if($benutzer->geschlecht=='w') + $anrede = "Sehr geehrte Frau "; + else + $anrede = "Sehr geehrter Herr "; - $html=$anrede.'!

- Die Terminumfrage zum Thema "'.$coodle_ressource->convert_html_chars($coodle->titel).'" ist beendet. -
- Der Termin wurde auf den '.$datum->formatDatum($coodle_help->datum, 'd.m.Y').' '.$coodle_help->uhrzeit.' festgelegt. -

'.nl2br($sign); + $anrede.= $benutzer->titelpre.' '.$benutzer->vorname.' '.$benutzer->nachname.' '.$benutzer->titelpost; - $text=$anrede."!\n\nDie Terminumfrage zum Thema \"".$coodle_help->convert_html_chars($coodle->titel).'"\" ist beendet.\n - Der Termin wurde auf den '.$datum->formatDatum($coodle_help->datum, 'd.m.Y').' '.$coodle_help->uhrzeit." festgelegt\n. - \n\n$sign"; + // 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'); - $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))."
"; - } - } - } - else - { - die($p->t('coodle/keineRessourcenVorhanden')); - } + $datum = new datum(); + + $html=$anrede.'!

+ Die Terminumfrage zum Thema "'.$coodle_ressource->convert_html_chars($coodle->titel).'" ist beendet. +
+ Der Termin wurde auf den '.$datum->formatDatum($coodle_help->datum, 'd.m.Y').' '.$coodle_help->uhrzeit.' festgelegt. +

'.nl2br($sign); + + $text=$anrede."!\n\nDie Terminumfrage zum Thema \"".$coodle_help->convert_html_chars($coodle->titel).'"\" ist beendet.\n + Der Termin wurde auf den '.$datum->formatDatum($coodle_help->datum, 'd.m.Y').' '.$coodle_help->uhrzeit." festgelegt\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))."
"; + } + } + } + else + { + die($p->t('coodle/keineRessourcenVorhanden')); + } } /** diff --git a/include/coodle.class.php b/include/coodle.class.php index 1a4ac0f68..739a8ed25 100755 --- a/include/coodle.class.php +++ b/include/coodle.class.php @@ -40,6 +40,9 @@ class coodle extends basis_db public $updatevon; // varchar(32) public $insertamum; // timestamp public $insertvon; // varchar(32) + public $mailversand; // boolean + public $teilnehmer_anonym; // boolean + public $termine_anonym; // boolean // tbl_coodle_ressource public $coodle_ressource_id; // integer @@ -105,6 +108,9 @@ class coodle extends basis_db $this->updatevon = $row->updatevon; $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; + $this->mailversand = $this->db_parse_bool($row->mailversand); + $this->teilnehmer_anonym = $this->db_parse_bool($row->teilnehmer_anonym); + $this->termine_anonym = $this->db_parse_bool($row->termine_anonym); } else { @@ -156,7 +162,7 @@ class coodle extends basis_db { //Neuen Datensatz einfuegen $qry='BEGIN;INSERT INTO campus.tbl_coodle(ersteller_uid, coodle_status_kurzbz, titel, beschreibung, - dauer, endedatum, insertamum, insertvon, updateamum, updatevon) VALUES('. + dauer, endedatum, insertamum, insertvon, updateamum, updatevon, mailversand, teilnehmer_anonym, termine_anonym) VALUES('. $this->db_add_param($this->ersteller_uid).', '. $this->db_add_param($this->coodle_status_kurzbz).', '. $this->db_add_param($this->titel).', '. @@ -166,7 +172,10 @@ class coodle extends basis_db $this->db_add_param($this->insertamum).', '. $this->db_add_param($this->insertvon).', '. $this->db_add_param($this->updateamum).', '. - $this->db_add_param($this->updatevon).');'; + $this->db_add_param($this->updatevon).', '. + $this->db_add_param($this->mailversand, FHC_BOOLEAN, true).', '. + $this->db_add_param($this->teilnehmer_anonym, FHC_BOOLEAN, true).', '. + $this->db_add_param($this->termine_anonym, FHC_BOOLEAN, true).');'; } else { @@ -184,7 +193,10 @@ class coodle extends basis_db ' dauer='.$this->db_add_param($this->dauer).', '. ' endedatum='.$this->db_add_param($this->endedatum).', '. ' updateamum='.$this->db_add_param($this->updateamum).', '. - ' updatevon='.$this->db_add_param($this->updatevon).' '. + ' updatevon='.$this->db_add_param($this->updatevon).', '. + ' mailversand='.$this->db_add_param($this->mailversand, FHC_BOOLEAN).', '. + ' teilnehmer_anonym='.$this->db_add_param($this->teilnehmer_anonym, FHC_BOOLEAN).', '. + ' termine_anonym='.$this->db_add_param($this->termine_anonym, FHC_BOOLEAN).' '. 'WHERE coodle_id='.$this->db_add_param($this->coodle_id, FHC_INTEGER, false).';'; } @@ -383,6 +395,9 @@ class coodle extends basis_db $coodle->updatevon = $row->updatevon; $coodle->endedatum = $row->endedatum; $coodle->ersteller_uid = $row->ersteller_uid; + $coodle->mailversand = $row->mailversand; + $coodle->teilnehmer_anonym = $row->teilnehmer_anonym; + $coodle->termine_anonym = $row->termine_anonym; $this->result[] = $coodle; } @@ -505,7 +520,7 @@ class coodle extends basis_db } /** - * Speichert die aktuelle Ressource in die Datenbank + * Speichert die Terminwahl der Ressource in die Datenbank * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt * andernfalls wird der Datensatz mit der ID in $coodle_id aktualisiert * @return true wenn ok, false im Fehlerfall @@ -650,6 +665,70 @@ class coodle extends basis_db return false; } + /** + * Überprüft ob der übergebenen Termin schon von einer Ressource gewählt wurde + * @param Integer $termin_id + * @return boolean true, wenn schon ein Termin schon gewaehlt wurde, sonst false + */ + public function checkTerminGewaehlt($termin_id) + { + if( $termin_id == '' || !is_numeric($termin_id)) + { + $this->errormsg = 'Ungültige ID übergeben'; + return false; + } + + $qry="SELECT * FROM campus.tbl_coodle_ressource_termin + WHERE coodle_termin_id=".$this->db_add_param($termin_id, FHC_INTEGER).';'; + + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_row($result)) + { + return true; + } + return false; + } + + return false; + } + + /** + * Zählt, wie oft ein Termin gewählt wurde + * @param Integer $termin_id + * @param Integer $ressource_id + * @return boolean + */ + public function countTermin($termin_id) + { + if($termin_id == '' || !is_numeric($termin_id)) + { + $this->errormsg = 'Ungültige ID übergeben'; + return false; + } + + $qry="SELECT count(*) AS anzahl FROM campus.tbl_coodle_ressource_termin + WHERE coodle_termin_id=".$this->db_add_param($termin_id, FHC_INTEGER).';'; + + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + $this->anzahl = $row->anzahl; + } + else + { + return false; + } + return true; + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + } + /** * * Laedt alle Termine einer Umfrage zu denen eine Ressource zugesagt hat @@ -844,20 +923,28 @@ class coodle extends basis_db /** * Laedt die Terminvorschlaege zu einer Umfrage + * Das Datum 1900-01-01 wird an die letzte Stelle sortiert, da es fuer "Keine Auswahl" benoetigt wird * @param $coodle_id * @return boolean */ public function getTermine($coodle_id) { - if($coodle_id == '' || !is_numeric($coodle_id)) - { - $this->errormsg = "Ungültige Coodle_id"; - return false; - } - - $qry = "SELECT * FROM campus.tbl_coodle_termin - WHERE coodle_id=".$this->db_add_param($coodle_id, FHC_INTEGER, false).' - ORDER BY datum, uhrzeit;'; + if($coodle_id == '' || !is_numeric($coodle_id)) + { + $this->errormsg = "Ungültige Coodle_id"; + return false; + } + + $qry = "(SELECT * FROM campus.tbl_coodle_termin + WHERE coodle_id=".$this->db_add_param($coodle_id, FHC_INTEGER, false)." + AND datum != '1900-01-01' + ORDER BY datum, uhrzeit) + + UNION ALL + + (SELECT * FROM campus.tbl_coodle_termin + WHERE coodle_id=".$this->db_add_param($coodle_id, FHC_INTEGER, false)." + AND datum = '1900-01-01');"; if($result = $this->db_query($qry)) { @@ -910,6 +997,9 @@ class coodle extends basis_db $coodle->insertvon = $row->insertvon; $coodle->updateamum = $row->updateamum; $coodle->updatevon = $row->updatevon; + $coodle->mailversand = $row->mailversand; + $coodle->teilnehmer_anonym = $row->teilnehmer_anonym; + $coodle->termine_anonym = $row->termine_anonym; $this->result[] = $coodle; } @@ -1210,6 +1300,9 @@ class coodle extends basis_db $coodle->updatevon = $row->updatevon; $coodle->endedatum = $row->endedatum; $coodle->ersteller_uid = $row->ersteller_uid; + $coodle->mailversand = $row->mailversand; + $coodle->teilnehmer_anonym = $row->teilnehmer_anonym; + $coodle->termine_anonym = $row->termine_anonym; $this->result[] = $coodle; } diff --git a/locale/de-AT/coodle.php b/locale/de-AT/coodle.php index 195cf743f..73e7477a6 100755 --- a/locale/de-AT/coodle.php +++ b/locale/de-AT/coodle.php @@ -1,13 +1,16 @@ phrasen['coodle/coodle']='Coodle'; $this->phrasen['coodle/titel']='Titel'; -$this->phrasen['coodle/beschreibung']='Beschreibung'; +$this->phrasen['coodle/beschreibung']='Beschreibung
(optional)'; $this->phrasen['coodle/dauer']='Termindauer'; $this->phrasen['coodle/dauerminuten']='Minuten'; $this->phrasen['coodle/endedatum']='Umfrageende'; $this->phrasen['coodle/neuerEintrag']='Neue Umfrage'; $this->phrasen['coodle/bearbeiten']='Umfrage editieren'; +$this->phrasen['coodle/laufendeUmfrageBearbeiten']='Laufende Umfrage editieren'; $this->phrasen['coodle/uebersicht']='Coodle - Übersicht'; +$this->phrasen['coodle/einfuehrungstext']='Coodle hilft Ihnen dabei, Termine mit mehreren Personen zu organisieren. Sie sehen dabei schon vorab die Verfügbarkeit der Personen (gestützt durch die FreeBusy-URL) und Räume. +
Der Vorteil ist eine effizientere Planung und schnellere Terminfindung.'; $this->phrasen['coodle/umfrageKonnteNichtGeloeschtWerden']='Umfrage konnte nicht gelöscht werden'; $this->phrasen['coodle/umfrageNichtGeladen']='Umfrage konnte nicht geladen werden'; $this->phrasen['coodle/coodleId']='Coodle_id'; @@ -17,13 +20,14 @@ $this->phrasen['coodle/aktion']='Aktion'; $this->phrasen['coodle/neueUmfrage']='Neue Umfrage anlegen'; $this->phrasen['coodle/termine']='Termine verwalten'; $this->phrasen['coodle/dragEvent']='Termin'; -$this->phrasen['coodle/terminZiehenBeschreibung']='Ziehen Sie den Termin an die gewünschte Position um Terminvorschläge zu setzen'; -$this->phrasen['coodle/ressourcenBeschreibung']='Hier können Sie Räume und Personen zur Umfrage hinzufügen.

Tippen sie dazu den Namen in das Textfeld und wählen Sie den entsprechenden Eintrag aus.'; -$this->phrasen['coodle/ressourcen']='Ressourcen / TeilnehmerIn'; +$this->phrasen['coodle/terminZiehenBeschreibung']='Ziehen Sie den Termin an die gewünschte(n) Position(en) um Terminvorschläge zu setzen'; +$this->phrasen['coodle/ressourcenBeschreibung']='Hier können Sie Personen, Gruppen und Räume zur Umfrage hinzufügen.

Tippen Sie dazu den Namen in das Textfeld und wählen Sie den entsprechenden Eintrag aus.'; +$this->phrasen['coodle/ressourcen']='Ressourcen / TeilnehmerInnen / Gruppen'; $this->phrasen['coodle/weiterZurTerminauswahl']='Weiter zur Terminauswahl'; +$this->phrasen['coodle/umfrageLaeuftBereits']='Die Umfrage läuft bereits. Sie können keine Änderungen an den Terminen vornehmen.'; $this->phrasen['coodle/ressourceEntfernen']='Ressource entfernen'; $this->phrasen['coodle/umfrageStarten']='Umfrage starten'; -$this->phrasen['coodle/startBeschreibung']='Klicken Sie hier um die Teilnehmer zu Informieren und die Umfrage zu starten'; +$this->phrasen['coodle/startBeschreibung']='Klicken Sie hier, um die TeilnehmerInnen zu informieren und die Umfrage zu starten'; $this->phrasen['coodle/keineTermineVorhanden']='Es sind noch keine Termine für diese Umfrage vorhanden'; $this->phrasen['coodle/keineRessourcenVorhanden']='Es sind noch keine Teilnehmer zugeordnet'; $this->phrasen['coodle/mailVersandtAn']='Mail wurde erfolgreich an %s versandt'; @@ -44,18 +48,33 @@ $this->phrasen['coodle/terminauswahl']='Coodle Terminauswahl'; $this->phrasen['coodle/erstelltVon']='Erstellt von %s (vor %s Tagen)'; $this->phrasen['coodle/zurueckZurUebersicht']='Zurück zur Übersicht'; $this->phrasen['coodle/einladungNeuVerschicken']='Einladungen neu verschicken'; -$this->phrasen['coodle/umfrageAbgeschlossen']='Die Umfrage ist abgeschlossen'; +$this->phrasen['coodle/umfrageAbgeschlossen']='Die Umfrage ist abgeschlossen. Der Termin wurde auf %s festgelegt'; $this->phrasen['coodle/loeschen']='Umfrage stornieren'; $this->phrasen['coodle/zurUmfrage']='Zur Umfrage'; -$this->phrasen['coodle/ressource']='Ressource / TeilnehmerIn'; +$this->phrasen['coodle/ressource']='Ressource / TeilnehmerIn / Gruppe'; $this->phrasen['coodle/raumBelegt']='Der Raum %s kann nicht reserviert werden, da er belegt ist!'; $this->phrasen['coodle/laufendeUmfragen']='Laufende Umfragen'; $this->phrasen['coodle/beendeteUmfragen']='Beendete Umfragen'; $this->phrasen['coodle/ReservierungNichtMoeglich']='Bitte beachten Sie, dass Raumreservierungen nach dem %s noch nicht möglich sind.'; $this->phrasen['coodle/raumNichtReserviert']='Achtung: Ihr Raum wurde nicht reserviert, da Raumreservierungen nach dem %s derzeit noch nicht möglich sind.'; $this->phrasen['coodle/auswahlEndtermin']='Auswahl des Endtermins'; -$this->phrasen['coodle/auswahlHinweis']='Durch diese Auswahl wird der endgültige Termin ausgewählt und die Umfrage beendet. Dieser Vorgang kann nicht rückgängig gemacht werden.'; +$this->phrasen['coodle/auswahlHinweis']='Das Speichern des Endtermins beendet die Umfrage und informiert alle TeilnehmerInnen über das Ergebnis.
Dieser Vorgang kann nicht rückgängig gemacht werden.'; $this->phrasen['coodle/keineAuswahl']='Keine Auswahl'; $this->phrasen['coodle/umfrageWurdeBereitsGestartet']='Umfrage wurde bereits gestartet'; $this->phrasen['coodle/umfrageNochNichtGestartet']='Umfrage wurde noch nicht gestartet'; +$this->phrasen['coodle/titelEingeben']='Titel eingeben'; +$this->phrasen['coodle/titelInfotext']='Geben Sie Ihrer Umfrage einen aussagekräftigen Titel. Dieser wird auch im Betreff der E-Mail angezeigt.'; +$this->phrasen['coodle/beschreibungInfotext']='Erläutern Sie hier Details zum Termin. Diese werden auch im Text der E-Mail angezeigt.'; +$this->phrasen['coodle/dauerInfotext']='Wählen Sie hier die vermutliche Dauer des Termins.'; +$this->phrasen['coodle/endeInfotext']='Sie erhalten eine E-Mail, sobald das Endedatum der Umfrage überschritten wurde.'; +$this->phrasen['coodle/mailversand']='Mailversand'; +$this->phrasen['coodle/infotextMailversand']='Wenn Sie diese Option aktivieren, erhalten Sie bei jeder Terminänderung eines Teilnehmers/einer Teilnehmerin eine Benachrichtigung'; +$this->phrasen['coodle/teilnehmerAnonym']='Anonyme TeilnehmerInnen'; +$this->phrasen['coodle/infotextTeilnehmerAnonym']='Wenn Sie diese Option aktivieren, sehen die TeilnehmerInnen weder die Namen, noch die Anzahl der anderen TeilnehmerInnen, sondern nur die Summen der Einträge'; +$this->phrasen['coodle/terminAnonym']='Anonyme Terminwahl'; +$this->phrasen['coodle/infotextTerminAnonym']='Wenn Sie diese Option aktivieren, sehen die TeilnehmerInnen nicht, ob und welche Termine von den anderen TeilnehmerInnen gewählt wurden, jedoch die Namen der TeilnehmerInnen und die Summe der Einträge'; +$this->phrasen['coodle/dieTeilnehmerDieserUmfrageSindAnonym']='Die TeilnehmerInnen dieser Umfrage sind anonym.'; +$this->phrasen['coodle/dieTermineDieserUmfrageSindAnonym']='Die Terminwahl der TeilnehmerInnen dieser Umfrage ist anonym.'; +$this->phrasen['coodle/TerminInDerVergangenheit']='Dieser Termin liegt in der Vergangenheit und kann nicht gewählt werden'; +$this->phrasen['coodle/keinTerminMoeglich']='Kein Termin möglich'; ?> diff --git a/locale/en-US/coodle.php b/locale/en-US/coodle.php index d8dba30dc..9dcc907bd 100755 --- a/locale/en-US/coodle.php +++ b/locale/en-US/coodle.php @@ -17,7 +17,7 @@ $this->phrasen['coodle/aktion']='Action'; $this->phrasen['coodle/neueUmfrage']='Create a new poll'; $this->phrasen['coodle/termine']='Manage appointments'; $this->phrasen['coodle/dragEvent']='Appointment'; -$this->phrasen['coodle/terminZiehenBeschreibung']='Drag the appointment to the date and time you would like to suggest it take place'; +$this->phrasen['coodle/terminZiehenBeschreibung']='Drag the appointment to the date(s) and time(s) you would like to suggest it take place'; $this->phrasen['coodle/ressourcenBeschreibung']='You can add rooms and people to the poll here.
Simply type the name in the textbox and select the appropriate entry.'; $this->phrasen['coodle/ressourcen']='Ressources'; $this->phrasen['coodle/weiterZurTerminauswahl']='Continue to appointment selection'; @@ -43,7 +43,7 @@ $this->phrasen['coodle/keineOderMehrereRäume']='No room or multiple rooms have $this->phrasen['coodle/terminauswahl']='Coodle appointment selection'; $this->phrasen['coodle/erstelltVon']='Created from %s (%s days ago)'; $this->phrasen['coodle/einladungNeuVerschicken']='Send invitations again'; -$this->phrasen['coodle/umfrageAbgeschlossen']='The poll is closed'; +$this->phrasen['coodle/umfrageAbgeschlossen']='The poll is closed. The date has been scheduled on %s'; $this->phrasen['coodle/loeschen']='Cancel poll'; $this->phrasen['coodle/zurUmfrage']='To the poll'; $this->phrasen['coodle/ressource']='Ressource'; @@ -57,5 +57,11 @@ $this->phrasen['coodle/auswahlHinweis']='Once you have made this selection, the $this->phrasen['coodle/keineAuswahl']='No Item selected'; $this->phrasen['coodle/umfrageWurdeBereitsGestartet']='Poll has already been started.'; $this->phrasen['coodle/umfrageNochNichtGestartet']='Poll has not yet been started.'; - +$this->phrasen['coodle/titelEingeben']='Enter Title'; +$this->phrasen['coodle/titelInfotext']='Geben Sie Ihrer Umfrage einen aussagekräftigen Titel. Dieser wird auch im Betreff der E-Mail angezeigt.'; +$this->phrasen['coodle/beschreibungInfotext']='Erläutern Sie hier Details zum Termin. Diese werden auch im Text der E-Mail angezeigt.'; +$this->phrasen['coodle/dauerInfotext']='Wählen Sie hier die vermutliche Dauer des Termins.'; +$this->phrasen['coodle/endeInfotext']='?'; +$this->phrasen['coodle/TerminInDerVergangenheit']='Dieser Termin liegt in der Vergangenheit und kann nicht gewählt werden'; +$this->phrasen['coodle/keinTerminMoeglich']='Kein Termin möglich'; ?>