Coodle Update

This commit is contained in:
kindlm
2017-06-02 11:08:01 +02:00
parent 77d1708b51
commit 5bda14c4b6
9 changed files with 1350 additions and 727 deletions
@@ -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:
+75 -24
View File
@@ -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
+220 -51
View File
@@ -38,17 +38,39 @@ if(!check_lektor($user))
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/styles/jquery.css" type="text/css">
<link rel="stylesheet" href="../../../skin/styles/jquery-ui1.9.2.custom.min.css" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.ui.timepicker.css" type="text/css"/>
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../include/tiny_mce/tiny_mce.js"></script>
<script src="../../../include/tiny_mce/tiny_mce.js" type="text/javascript" ></script>
<script src="../../../include/js/jquery.ui.timepicker.js" type="text/javascript" ></script>
<script type="text/javascript">
$(document).ready(function()
{
$.datepicker.setDefaults( $.datepicker.regional[ "de" ] );
$("#datepicker_datum").datepicker(
{
changeMonth: true,
defaultDate: "+7",
minDate: "0",
});
$(".timepicker").timepicker(
{
showPeriodLabels: false,
showHours: false,
minuteText: "",
minutes: {starts: 30, ends: 150, interval: 30},
rows: 5,
});
});
</script>
<script type="text/javascript">
tinyMCE.init
(
@@ -62,56 +84,147 @@ echo '
// Theme options
theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink,|,bullist,pastetext",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "center",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
force_br_newlines : true,
force_p_newlines : false,
forced_root_block : "",
//Formatierungen beim Einfuegen entfernen
paste_auto_cleanup_on_paste : true,
paste_remove_styles: true,
paste_remove_styles_if_webkit: true,
paste_strip_class_attributes: true,
paste_retain_style_properties: "",
paste_text_sticky: true,
setup : function(ed)
{
ed.onInit.add(function(ed)
{ ed.pasteAsPlainText = true;
ed.controlManager.setActive("pastetext", true);
});
}
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "center",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
force_br_newlines : true,
force_p_newlines : false,
forced_root_block : "",
//Formatierungen beim Einfuegen entfernen
paste_auto_cleanup_on_paste : true,
paste_remove_styles: true,
paste_remove_styles_if_webkit: true,
paste_strip_class_attributes: true,
paste_retain_style_properties: "",
paste_text_sticky: true,
setup : function(ed)
{
ed.onInit.add(function(ed)
{ ed.pasteAsPlainText = true;
ed.controlManager.setActive("pastetext", true);
});
}
}
);
function checkrequired()
{
var error = false;
if(document.getElementById("titel").value == "")
{
document.getElementById("titel").style.border = "solid red 2px";
error = true;
}
else
{
document.getElementById("titel").style.border = "";
}
if(document.getElementById("dauer").value == "")
{
document.getElementById("dauer").style.border = "solid red 2px";
error = true;
}
else
{
document.getElementById("dauer").style.border = "";
}
if(document.getElementById("datepicker_datum").value == "")
{
document.getElementById("datepicker_datum").style.border = "solid red 2px";
error = true;
}
else
{
document.getElementById("datepicker_datum").style.border = "";
}
var datum = document.getElementById("datepicker_datum").value;
var Tag = datum.substring(0,2);
var Monat = datum.substring(3,5);
Monat = Monat-1;
var Jahr = datum.substring(6,10);
//Neues Datumsobjekt erzeugen
var Enddatum = new Date(Jahr, Monat, Tag,23,59,59);
var Heute = new Date();
if (Enddatum < Heute)
{
alert("Das Umfrageende darf nicht in der Vergangenheit liegen");
document.getElementById("datepicker_datum").style.border = "solid red 2px";
error = true;
}
else
{
document.getElementById("datepicker_datum").style.border = "";
}
if (error)
return false;
else
return true;
}
</script>
<style>
#wrapper
{
width: 70%;
width: 80%;
padding: 0 10px 15px 10px;
border: 1px solid #ccc;
background: #eee;
text-align: left;
}
#wrapper h4
{
font-size: 16px;
font-size: 17px;
margin-top: 0;
padding-top: 1em;
}
padding-top: 10px;
padding-bottom: 10px;
text-decoration: none;
}
#weiter
{
width: 70%;
text-align: right;
width: 80%;
text-align: center;
margin-top: 10px;
padding: 10px;
padding: 10px 10px 10px 10px;
border: 1px solid #D6E9C6;
background: #DFF0D8;
}
#weiter:hover
{
width: 80%;
text-align: center;
margin-top: 10px;
padding: 10px;
padding: 10px 10px 10px 10px;
border: 1px solid #ccc;
background: #ddd;
}
#laufend
{
width: 80%;
text-align: center;
margin-top: 10px;
padding: 10px;
padding: 10px 10px 10px 10px;
border: 1px solid #ccc;
background: #EDCECE;
}
a:hover
{
text-decoration: none;
}
.ui-timepicker-table td a
{
padding:0.2em 0.3em 0.2em 0.3em;
width: 1.8em;
}
</style>
<title>'.$p->t('coodle/coodle').'</title>
@@ -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.= '<span class="ok">'.$p->t('global/erfolgreichgespeichert').'</span>';
//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.= '<span class="error">'.$coodletermin->errormsg.'</span>';
}
}
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 '
<a href="uebersicht.php">&lt;&lt;&nbsp;'.$p->t('coodle/zurueckZurUebersicht').'</a><br>
@@ -202,6 +345,8 @@ echo '<div id="wrapper">
<h4>';
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 '</h4>';
@@ -210,27 +355,49 @@ echo '
<input type="hidden" name="coodle_id" value="'.$db->convert_html_chars($coodle->coodle_id).'" />
<table>
<tr>
<td>'.$p->t('coodle/titel').'</td>
<td><input type="text" name="titel" value="'.$db->convert_html_chars($coodle->titel).'" maxlength="64" size="50"/></td>
<td valign="top">'.$p->t('coodle/titel').'</td>
<td valign="top">
<input type="hidden" name="titel" value="'.$db->convert_html_chars($coodle->titel).'" />
<input id="titel" placeholder="'.$p->t('coodle/titelEingeben').'" title="'.$p->t('coodle/titelInfotext').'" type="text" name="titel" value="'.$db->convert_html_chars($coodle->titel).'" maxlength="64" size="50" '.($coodle->coodle_status_kurzbz=='laufend'?'disabled':'').'/></td>
<td valign="top" style="color:grey">'.$p->t('coodle/titelInfotext').'</td>
</tr>
<tr>
<td valign="top">'.$p->t('coodle/beschreibung').'</td>
<td><textarea name="beschreibung" rows="6" cols="50">'.$db->convert_html_chars($coodle->beschreibung).'</textarea></td>
<td><textarea name="beschreibung" rows="6" cols="50" >'.$db->convert_html_chars($coodle->beschreibung).'</textarea></td>
<td valign="top" style="color:grey"><br><br>'.$p->t('coodle/beschreibungInfotext').'</td>
</tr>
<tr>
<td>'.$p->t('coodle/dauer').'</td>
<td>
<input type="text" name="dauer" value="'.$db->convert_html_chars($coodle->dauer).'" maxlength="5" size="2"/>
<td valign="top">'.$p->t('coodle/dauer').'</td>
<td valign="top">
<input type="hidden" name="dauer" value="'.$db->convert_html_chars($coodle->dauer).'" />
<input id="dauer" class="timepicker" type="text" name="dauer" value="'.$db->convert_html_chars($coodle->dauer).'" maxlength="5" size="2" '.($coodle->coodle_status_kurzbz=='laufend'?'disabled':'').'/>
'.$p->t('coodle/dauerminuten').'
</td>
<td valign="top" style="color:grey">'.$p->t('coodle/dauerInfotext').'</td>
</tr>
<tr>
<td>'.$p->t('coodle/endedatum').'</td>
<td><input type="text" name="endedatum" value="'.$db->convert_html_chars($datum_obj->formatDatum($coodle->endedatum,'d.m.Y')).'" maxlength="10" size="10"/></td>
<td valign="top">'.$p->t('coodle/endedatum').'</td>
<td valign="top"><input id="datepicker_datum" type="text" name="endedatum" value="'.$db->convert_html_chars($datum_obj->formatDatum($coodle->endedatum,'d.m.Y')).'" maxlength="10" size="10"/></td>
<td valign="top" style="color:grey">'.$p->t('coodle/endeInfotext').'</td>
</tr>
<tr>
<td valign="top">'.$p->t('coodle/mailversand').'</td>
<td valign="top"><input id="mailversand" type="checkbox" name="mailversand" '.($coodle->mailversand=='t'?'checked':'').'/></td>
<td valign="top" style="color:grey">'.$p->t('coodle/infotextMailversand').'</td>
</tr>
<tr>
<td valign="top">'.$p->t('coodle/teilnehmerAnonym').'</td>
<td valign="top"><input id="teilnehmer_anonym" type="checkbox" name="teilnehmer_anonym" '.($coodle->teilnehmer_anonym=='t'?'checked':'').'/></td>
<td valign="top" style="color:grey">'.$p->t('coodle/infotextTeilnehmerAnonym').'</td>
</tr>
<tr>
<td valign="top">'.$p->t('coodle/terminAnonym').'</td>
<td valign="top"><input id="termin_anonym" type="checkbox" name="termin_anonym" '.($coodle->termine_anonym=='t'?'checked':'').'/></td>
<td valign="top" style="color:grey">'.$p->t('coodle/infotextTerminAnonym').'</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="save" value="'.$p->t('global/speichern').'"/> '.$message.'</td>
<td><input type="submit" name="save" value="'.$p->t('global/speichern').'" onClick="return checkrequired();"/> '.$message.'</td>
</tr>
</table>';
@@ -241,8 +408,10 @@ echo '
if($coodle->coodle_id)
{
echo '<div id="weiter"><a href="termin.php?coodle_id='.$db->convert_html_chars($coodle->coodle_id).'"> &gt;&gt; '.$p->t('coodle/weiterZurTerminauswahl').'</a></div>';
echo '<a href="termin.php?coodle_id='.$db->convert_html_chars($coodle->coodle_id).'"><div id="weiter">'.$p->t('coodle/weiterZurTerminauswahl').'</div></a>';
}
/*elseif ($coodle->coodle_status_kurzbz=='laufend')
echo '<div id="laufend">'.$p->t('coodle/umfrageLaeuftBereits').'</div>';*/
echo '</body>
</html>';
+107 -70
View File
@@ -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 '<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
</head>
<body>
@@ -132,15 +132,22 @@ if(isset($_POST['action']) && $_POST['action']=='start')
$html=$anrede.'!<br><br>
Sie wurden zu einer Terminumfrage zum Thema "'.$db->convert_html_chars($coodle->titel).'" eingeladen.
<br>
Bitte folgen Sie dem Link um Ihre Terminwünsche bekannt zu geben:
Bitte folgen Sie dem Link, um Ihre Terminwünsche bekannt zu geben:
<a href="'.$link.'">Link zur Terminumfrage</a>
<br><br>'.nl2br($sign);
<br><br>
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$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 '<html>
}
#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 '<html>
color: #fff;
font-size: .85em;
cursor: pointer;
border-radius: 2px;
box-shadow: 3px 3px 3px #bbb;
}
#external-events p {
@@ -239,9 +250,11 @@ echo '<html>
}
#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 '<html>
#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 '<html>
font-size: 11px;
color: #666;
}
</style>
<script type="text/javascript">
@@ -398,36 +413,45 @@ echo '<html>
else
uhrzeit = $.fullCalendar.formatDate(date, "HH:mm:ss");
// Pruefen ob die Reservierungsgrenze ueberschritten wurde und ggf Warnung anzeigen
if(datum>\''.RES_TAGE_LEKTOR_BIS.'\')
// Pruefen ob der Termin in der Vergangenheit liegt
if(datum+\' \'+uhrzeit<=\''.date('Y-m-d H:i:s').'\')
{
alert("'.$p->t('coodle/ReservierungNichtMoeglich', array($datum_obj->formatDatum(RES_TAGE_LEKTOR_BIS, 'd.m.Y'))).'");
alert("'.$p->t('coodle/TerminInDerVergangenheit').'");
return false;
}
else
{
// Pruefen ob die Reservierungsgrenze ueberschritten wurde und ggf Warnung anzeigen
if(datum>\''.RES_TAGE_LEKTOR_BIS.'\')
{
alert("'.$p->t('coodle/ReservierungNichtMoeglich', array($datum_obj->formatDatum(RES_TAGE_LEKTOR_BIS, 'd.m.Y'))).'");
}
// Termin Speichern
$.ajax({
type:"POST",
url:"coodle_worker.php",
data:{
"work": "addTermin",
"datum": datum,
"uhrzeit": uhrzeit,
"coodle_id": "'.$coodle_id.'"
},
success: function(data)
{
if(isNaN(data))
alert("ERROR:"+data)
else
{
copiedEventObject.id=data;
// render the event on the calendar
// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$("#calendar").fullCalendar("renderEvent", copiedEventObject, true);
}
},
error: function() { alert("error"); }
});
// Termin Speichern
$.ajax({
type:"POST",
url:"coodle_worker.php",
data:{
"work": "addTermin",
"datum": datum,
"uhrzeit": uhrzeit,
"coodle_id": "'.$coodle_id.'"
},
success: function(data)
{
if(isNaN(data))
alert("ERROR:"+data)
else
{
copiedEventObject.id=data;
// render the event on the calendar
// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$("#calendar").fullCalendar("renderEvent", copiedEventObject, true);
}
},
error: function() { alert("error"); }
});
}
},
eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view)
{
@@ -445,31 +469,41 @@ echo '<html>
event.allDay=false;
$("#calendar").fullCalendar("renderEvent", event, true);
}
// Verschiebung Speichern
$.ajax({
type:"POST",
url:"coodle_worker.php",
data:{
"work": "moveTermin",
"datum": datum,
"uhrzeit": uhrzeit,
"coodle_termin_id": event.id,
"coodle_id": "'.$coodle_id.'"
},
success: function(data)
{
if(data!="true")
{
alert("ERROR:"+data)
revertFunc();
}
else
{
// Verschiebung OK
}
},
error: function() { alert("error"); }
});
// Pruefen ob der Termin in der Vergangenheit liegt
if(datum+\' \'+uhrzeit<=\''.date('Y-m-d H:i:s').'\')
{
alert("'.$p->t('coodle/TerminInDerVergangenheit').'");
return false;
}
else
{
// Verschiebung Speichern
$.ajax({
type:"POST",
url:"coodle_worker.php",
data:{
"work": "moveTermin",
"datum": datum,
"uhrzeit": uhrzeit,
"coodle_termin_id": event.id,
"coodle_id": "'.$coodle_id.'"
},
success: function(data)
{
if(data!="true")
{
alert("ERROR:"+data)
revertFunc();
}
else
{
// Verschiebung OK
}
},
error: function() { alert("error"); }
});
}
},
eventRender: function (event, element)
{
@@ -578,7 +612,7 @@ echo '
select: function(event, ui)
{
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
addRessource(ui.item.uid, ui.item.typ, ui.item.bezeichnung);
addRessource(ui.item.uid, ui.item.typ, ui.item.bezeichnung);
ui.item.value="";
ui.item.label="";
}
@@ -608,14 +642,17 @@ echo '
else
{
// Speichern der Ressource OK
addRessourceToContent(id, typ, bezeichnung);
if(typ=="Gruppe")
location.reload(true);
else
addRessourceToContent(id, typ, bezeichnung);
}
},
error: function() { alert("error"); }
});
}
// Zeigt eine Ressoure mit deren Events an
// Zeigt eine Ressource mit deren Events an
function addRessourceToContent(id, typ, bezeichnung)
{
// HTML Tags aus der Bezeichnung Entfernen, sofern vorhanden
@@ -645,7 +682,7 @@ echo '
error: function() {
alert("Error fetching data for "+typ+" "+id);
},
color:"gray"
color:"lightgrey"
//textColor:"black"
});
+128 -119
View File
@@ -36,103 +36,110 @@ $uid = get_uid();
$message = '';
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="../../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<link href="../../../skin/jquery.css" rel="stylesheet" type="text/css"/>
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#myTableFiles").tablesorter(
{
sortList: [[3,0]],
widgets: ["zebra"]
});
});
$(document).ready(function()
{
$("#myTableFiles2").tablesorter(
{
sortList: [[3,1]],
widgets: ["zebra"]
});
});
</script>
<style>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="../../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<link href="../../../skin/jquery.css" rel="stylesheet" type="text/css"/>
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#myTableFiles").tablesorter(
{
sortList: [[3,0]],
widgets: ["zebra"]
});
});
$(document).ready(function()
{
$("#myTableFiles2").tablesorter(
{
sortList: [[3,1]],
widgets: ["zebra"]
});
});
</script>
<style>
.wrapper h4
{
font-size: 16px;
font-size: 17px;
margin-top: 0;
padding-top: 1em;
padding-top: 10px;
padding-bottom: 10px;
text-decoration: none;
}
a:hover
{
text-decoration: none;
}
</style>
';
echo' <title>'.$p->t('coodle/uebersicht').'</title>
</head>
<body>';
</head>
<body>';
$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 = '<span class="error">'.$p->t('global/keineBerechtigung').'</span>';
else
{
if($coodle->delete($coodle_id))
$message ='<span class="ok">Erfolgreich storniert!</span>';
else
$message ='<span class="error">'.$p->t('coodle/umfrageKonnteNichtGeloeschtWerden').'</span>';
}
else
{
if($coodle->delete($coodle_id))
$message ='<span class="ok">Erfolgreich storniert!</span>';
else
$message ='<span class="error">'.$p->t('coodle/umfrageKonnteNichtGeloeschtWerden').'</span>';
}
}
else
$message = '<span class ="error">'.$p->t('coodle/umfrageNichtGeladen').'</span>';
else
$message = '<span class ="error">'.$p->t('coodle/umfrageNichtGeladen').'</span>';
}
echo'<h1>'.$p->t('coodle/uebersicht').'</h1>
<br>';
echo'<h1>'.$p->t('coodle/uebersicht').'</h1>';
echo $p->t('coodle/einfuehrungstext').'<br /><br />';
if(check_lektor($uid))
{
echo '
<div style="display:block; text-align:left; float:left;">
<div style="display:block; text-align:left; float:left;">
<input type="button" onclick="window.location.href=\'stammdaten.php\'" value="'.$p->t('coodle/neueUmfrage').'">
</div><br>';
}
echo '
<div style="display:block; text-align:right; margin-right:16px; ">'.$message.'</div>
<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>';
<div style="display:block; text-align:right; margin-right:16px; ">'.$message.'</div>
<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();
@@ -144,50 +151,52 @@ 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)
{
$row.= '<a href="stammdaten.php?coodle_id='.$c->coodle_id.'">
&nbsp;<img src="../../../skin/images/edit.png" title="'.$p->t('coodle/bearbeiten').'">
</a>';
}
else
$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')||($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.= '&nbsp;<a href="stammdaten.php?coodle_id='.$c->coodle_id.'">
<img src="../../../skin/images/edit.png" title="'.$title.'">
</a>';
}
else
{
$title=$p->t('global/keineBerechtigung');
$row.= '&nbsp;<img src="../../../skin/images/edit_grau.png" title="'.$title.'">';
}
// Storno Button
if($uid==$c->ersteller_uid && $c->coodle_status_kurzbz!='storniert' && $c->coodle_status_kurzbz!='abgeschlossen')
{
$row.= '<a href="'.$_SERVER['PHP_SELF'].'?method=delete&coodle_id='.$c->coodle_id.'">
&nbsp;<img src="../../../skin/images/delete_x.png" title="'.$p->t('coodle/loeschen').'">
</a>';
}
else
{
$row.='&nbsp; <img src="../../../skin/images/delete_x_grau.png" title="'.$p->t('global/keineBerechtigung').'">';
}
// Umfrage Button
if($c->coodle_status_kurzbz=='laufend' || $c->coodle_status_kurzbz=='abgeschlossen')
{
$row.= '<a href="../../public/coodle.php?coodle_id='.$c->coodle_id.'">
&nbsp; <img src="../../../skin/images/date_go.png" title="'.$p->t('coodle/zurUmfrage').'">
}
// Storno Button
if($uid==$c->ersteller_uid && $c->coodle_status_kurzbz!='storniert' && $c->coodle_status_kurzbz!='abgeschlossen')
{
$row.= '&nbsp;<a href="'.$_SERVER['PHP_SELF'].'?method=delete&coodle_id='.$c->coodle_id.'">
<img src="../../../skin/images/delete_x.png" title="'.$p->t('coodle/loeschen').'">
</a>';
}
}
else
{
$row.='&nbsp; <img src="../../../skin/images/delete_x_grau.png" title="'.$p->t('global/keineBerechtigung').'">';
}
// Umfrage Button
if($c->coodle_status_kurzbz=='laufend' || $c->coodle_status_kurzbz=='abgeschlossen')
{
$row.= '&nbsp; <a href="../../public/coodle.php?coodle_id='.$c->coodle_id.'">
<img src="../../../skin/images/date_go.png" title="'.$p->t('coodle/zurUmfrage').'">
</a>';
}
else
{
if($c->coodle_status_kurzbz=='neu')
@@ -198,11 +207,11 @@ foreach($coodle->result as $c)
$row.=' &nbsp; <img src="../../../skin/images/date_go_grau.png" title="'.$title.'">';
}
$row.='
</td>
</tr>';
if($c->coodle_status_kurzbz=='laufend' || $c->coodle_status_kurzbz=='neu')
$row.='
</td>
</tr>';
if($c->coodle_status_kurzbz=='laufend' || $c->coodle_status_kurzbz=='neu')
echo $row;
else
$beendeteUmfragen.=$row;
@@ -217,17 +226,17 @@ if($beendeteUmfragen!='')
<h4>'.$p->t('coodle/beendeteUmfragen').'</h4>
<table id="myTableFiles2" 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>
<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.'
'.$beendeteUmfragen.'
</tbody>
</table>
</div>';
+660 -439
View File
File diff suppressed because it is too large Load Diff