mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'feature-4366'
This commit is contained in:
@@ -314,6 +314,24 @@ switch($work)
|
||||
echo $coodletermin->errormsg;
|
||||
|
||||
break;
|
||||
|
||||
case 'countTermine':
|
||||
if(isset($_POST['coodle_id']))
|
||||
$coodle_id = $_POST['coodle_id'];
|
||||
else
|
||||
die('CoodleID fehlt');
|
||||
|
||||
$coodle = new coodle();
|
||||
if ($coodle->getTermine($coodle_id))
|
||||
{
|
||||
echo count($coodle->result);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $coodle->errormsg;
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
die('Invalid Work Parameter');
|
||||
}
|
||||
|
||||
@@ -76,11 +76,12 @@ if(isset($_POST['action']) && $_POST['action']=='start')
|
||||
// Start der Umfrage
|
||||
$coodle_termine = new coodle();
|
||||
$coodle_termine->getTermine($coodle_id);
|
||||
if(count($coodle_termine->result)>0)
|
||||
// Die Terminoption "keine Auswahl wird immer benötigt. Deshalb > 1
|
||||
if(count($coodle_termine->result) > 1)
|
||||
{
|
||||
$coodle_ressource = new coodle();
|
||||
$coodle_ressource->getRessourcen($coodle_id);
|
||||
if(count($coodle_ressource->result)>0)
|
||||
if(count($coodle_ressource->result) > 0)
|
||||
{
|
||||
// Status aendern
|
||||
$coodle->coodle_status_kurzbz='laufend';
|
||||
@@ -135,16 +136,18 @@ if(isset($_POST['action']) && $_POST['action']=='start')
|
||||
Bitte folgen Sie dem Link, um Ihre Terminwünsche bekannt zu geben:
|
||||
<a href="'.$link.'">Link zur Terminumfrage</a>
|
||||
<br><br>
|
||||
'.($coodle->beschreibung != '' ? '
|
||||
Beschreibung:<br><br>
|
||||
'.$coodle->beschreibung.'<br><br>
|
||||
'.$coodle->beschreibung.'<br><br>' : '').'
|
||||
'.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
|
||||
".($coodle->beschreibung != "" ? "
|
||||
Beschreibung:\n\n
|
||||
".strip_tags($coodle->beschreibung)."
|
||||
\n\n
|
||||
\n\n" : "")."
|
||||
$sign";
|
||||
|
||||
$mail = new mail($email, $von,'Terminumfrage - '.$coodle->titel, $text);
|
||||
@@ -317,7 +320,6 @@ echo '<html>
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
// Coodle Termin initialisieren
|
||||
@@ -342,7 +344,6 @@ echo '<html>
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// Kalender Initialisieren
|
||||
$("#calendar").fullCalendar(
|
||||
{
|
||||
@@ -568,6 +569,35 @@ echo '<html>
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$("#umfrageStartenSubmitButton").click(function(e)
|
||||
{
|
||||
e.preventDefault(); // avoid to execute the actual submit of the form.
|
||||
|
||||
var form = $(this).parents("form:first");
|
||||
formdata = form.serialize();
|
||||
formdata += (formdata!=="")? "&work=countTermine&coodle_id='.$coodle_id.'":"";
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url:"coodle_worker.php",
|
||||
data: formdata,
|
||||
success: function(data)
|
||||
{
|
||||
if (parseInt(data) > 1)
|
||||
{
|
||||
form.submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("Bitte ziehen Sie mindestens einen Termin in den Kalender");
|
||||
}
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert("Error: "+data);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -847,7 +877,8 @@ echo '
|
||||
}
|
||||
</script>
|
||||
<p>
|
||||
'.$p->t('coodle/ressourcenBeschreibung').'
|
||||
'.$p->t('coodle/ressourcenBeschreibung');
|
||||
echo '
|
||||
<br><br><a href="#" onclick="showExterne(); return false;">'.$p->t('coodle/externePersonhinzu').'</a>
|
||||
</div> <!-- RessourcenInput -->
|
||||
<div id="externePersonen" style="display: none">
|
||||
@@ -864,10 +895,10 @@ echo '
|
||||
</div>
|
||||
<div id="fertig">
|
||||
<h4>'.$p->t('coodle/umfrageStarten').'</h4>
|
||||
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
|
||||
<form id="umfrageStartenForm" action="'.$_SERVER['PHP_SELF'].'" method="POST">
|
||||
<input type="hidden" name="action" value="start" />
|
||||
<input type="hidden" name="coodle_id" value="'.$db->convert_html_chars($coodle_id).'" />
|
||||
<input type="submit" value="'.$p->t('coodle/umfrageStarten').'" />
|
||||
<input id="umfrageStartenSubmitButton" type="submit" value="'.$p->t('coodle/umfrageStarten').'"/>
|
||||
</form>
|
||||
<p>
|
||||
'.$p->t('coodle/startBeschreibung').'
|
||||
|
||||
+665
-533
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,135 @@
|
||||
<?php
|
||||
/* Copyright (C) 2012 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* 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 <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Dieses Script liefert die iCal Informationen für die vorreservierten Coodle Termine
|
||||
*
|
||||
* Aufruf: http://www.example.com/cis/public/ical_coodle.php/[uid]
|
||||
*/
|
||||
require_once('../../config/cis.config.inc.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/coodle.class.php');
|
||||
require_once('../../include/ical.class.php');
|
||||
|
||||
$uid = mb_substr($_SERVER['PATH_INFO'],1);
|
||||
|
||||
$bn = new benutzer();
|
||||
if(!$bn->load($uid))
|
||||
die('User invalid');
|
||||
|
||||
header("Content-Type: text/calendar; charset=UTF-8");
|
||||
|
||||
echo "BEGIN:VCALENDAR\n";
|
||||
echo "VERSION:2.0\n";
|
||||
echo "PRODID:-//FH TECHNIKUM WIEN//EN\n";
|
||||
//echo "METHOD:PUBLISH\n";
|
||||
//echo 'ORGANIZER;CN=',$bn->vorname,' ',$bn->nachname,':mailto:',$uid,'@',DOMAIN,"\n";
|
||||
//echo 'DTSTAMP;TZID=Europe/Vienna:',date('Ymd', mktime(date('H'),date('i'),date('s'),date('m'),date('d')-5,date('Y'))),'T',date('Hms'),"\n";
|
||||
echo 'DTSTART;TZID=Europe/Vienna:',date('Ymd', mktime(0,0,0,date('m'),date('d')-5,date('Y'))),"T000000\n";
|
||||
echo 'DTEND;TZID=Europe/Vienna:',date('Ymd', mktime(0,0,0,date('m'),date('d')+30,date('Y'))),"T000000\n";
|
||||
echo "BEGIN:VTIMEZONE
|
||||
TZID:Europe/Vienna
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0100
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||
DTSTART:19810329T020000
|
||||
TZNAME:GMT+02:00
|
||||
TZOFFSETTO:+0200
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0200
|
||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||
DTSTART:19961027T030000
|
||||
TZNAME:GMT+01:00
|
||||
TZOFFSETTO:+0100
|
||||
END:STANDARD
|
||||
END:VTIMEZONE\n";
|
||||
//echo 'URL:',APP_ROOT,'cis/public/ical_coodle.php/',$uid,"\n";
|
||||
echo "BEGIN:VEVENT";
|
||||
// Alle Umfragen holen an denen der User beteiligt ist
|
||||
$umfragen = new coodle();
|
||||
$umfragen->getCoodleFromUser($uid);
|
||||
$i = 0;
|
||||
foreach($umfragen->result as $umfrage)
|
||||
{
|
||||
if($umfrage->coodle_status_kurzbz=='laufend')
|
||||
{
|
||||
// Bei laufenden Umfragen werden alle angekreuzten Vorschlaege zur FreeBusy hinzugefuegt
|
||||
$ressource = new coodle();
|
||||
if($ressource_id = $ressource->RessourceExists($umfrage->coodle_id, $uid))
|
||||
{
|
||||
// Terminvorschlaege laden die angekreuzt wurden
|
||||
$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');
|
||||
|
||||
if ($i > 0)
|
||||
{
|
||||
echo "\nBEGIN:VEVENT";
|
||||
}
|
||||
echo "\nUID:Coodle_Terminoption".$dtstart."_".$dtende."";
|
||||
echo "\nSUMMARY:Coodle Terminoption";
|
||||
echo "\nDTSTART;TZID=Europe/Vienna:$dtstart";
|
||||
echo "\nDTEND;TZID=Europe/Vienna:$dtende";
|
||||
echo "\nTRANSP:OPAQUE";
|
||||
echo "\nEND:VEVENT";
|
||||
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Bei abgeschlossene Umfragen wird ein iCal File mitgeschickt,
|
||||
// deshalb müssen diese Termine nicht berücksichtigt werden
|
||||
/*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 "\nBEGIN:VEVENT";
|
||||
echo "\nSUMMARY:Coodle Terminzusage";
|
||||
echo "\nDTSTART;TZID=Europe/Vienna: $dtstart";
|
||||
echo "\nDTEND;TZID=Europe/Vienna: $dtende";
|
||||
echo "\nTRANSP:OPAQUE";
|
||||
echo "\nEND:VEVENT";
|
||||
}
|
||||
}*/
|
||||
// stornierte Umfragen werden nicht beruecksichtigt
|
||||
}
|
||||
|
||||
echo "\nEND:VCALENDAR";
|
||||
?>
|
||||
@@ -1117,7 +1117,7 @@ class coodle extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry ="UPDATE campus.tbl_coodle_Termin set auswahl='false'
|
||||
$qry ="UPDATE campus.tbl_coodle_termin set auswahl='false'
|
||||
WHERE coodle_id=".$this->db_add_param($coodle_id, FHC_INTEGER, false).';';
|
||||
|
||||
if($result=$this->db_query($qry))
|
||||
|
||||
@@ -48,7 +48,7 @@ $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. Der Termin wurde auf %s festgelegt';
|
||||
$this->phrasen['coodle/umfrageAbgeschlossen']='Die Umfrage ist abgeschlossen. Der Termin wurde auf <b>%s</b> festgelegt';
|
||||
$this->phrasen['coodle/loeschen']='Umfrage stornieren';
|
||||
$this->phrasen['coodle/zurUmfrage']='Zur Umfrage';
|
||||
$this->phrasen['coodle/ressource']='Ressource / TeilnehmerIn / Gruppe';
|
||||
|
||||
@@ -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. The date has been scheduled on %s';
|
||||
$this->phrasen['coodle/umfrageAbgeschlossen']='The poll is closed. The date has been scheduled on <b>%s</b>';
|
||||
$this->phrasen['coodle/loeschen']='Cancel poll';
|
||||
$this->phrasen['coodle/zurUmfrage']='To the poll';
|
||||
$this->phrasen['coodle/ressource']='Ressource';
|
||||
|
||||
Reference in New Issue
Block a user