mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 00:42:15 +00:00
Coodle Anlegen von Terminvorschlaegen
This commit is contained in:
@@ -131,6 +131,43 @@ switch($work)
|
||||
echo 'Ressource nicht gefunden';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'addTermin':
|
||||
if(isset($_POST['datum']))
|
||||
$datum = $_POST['datum'];
|
||||
else
|
||||
die('Datum fehlt');
|
||||
|
||||
if(isset($_POST['uhrzeit']))
|
||||
$uhrzeit = $_POST['uhrzeit'];
|
||||
else
|
||||
die('Uhrzeit fehlt');
|
||||
|
||||
if(isset($_POST['coodle_id']))
|
||||
$coodle_id = $_POST['coodle_id'];
|
||||
else
|
||||
die('CoodleID fehlt');
|
||||
|
||||
$coodle = new coodle();
|
||||
if(!$coodle->load($coodle_id))
|
||||
die('Fehler: '.$coodle->errormsg);
|
||||
|
||||
if($coodle->ersteller_uid!=$user)
|
||||
die('Diese Aktion ist nur durch den Ersteller der Umfrage möglich');
|
||||
|
||||
$coodletermin = new coodle();
|
||||
|
||||
$coodletermin->datum = $datum;
|
||||
$coodletermin->uhrzeit = $uhrzeit;
|
||||
$coodletermin->coodle_id = $coodle_id;
|
||||
|
||||
if($coodletermin->saveTermin(true))
|
||||
echo $coodletermin->coodle_termin_id;
|
||||
else
|
||||
echo $this->errormsg;
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
die('Invalid Work Parameter');
|
||||
}
|
||||
|
||||
@@ -30,6 +30,19 @@ $sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
$datum_obj = new datum();
|
||||
|
||||
if(!isset($_GET['coodle_id']))
|
||||
die($p->t('global/fehlerBeiDerParameteruebergabe'));
|
||||
|
||||
$coodle_id = $_GET['coodle_id'];
|
||||
|
||||
$db = new basis_db();
|
||||
$coodle = new coodle();
|
||||
if(!$coodle->load($coodle_id))
|
||||
{
|
||||
die($p->t($coodle->errormsg));
|
||||
}
|
||||
$event_titel = $coodle->titel;
|
||||
|
||||
echo '<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
@@ -209,9 +222,9 @@ echo '<html>
|
||||
droppable: true, // this allows things to be dropped onto the calendar !!!
|
||||
drop: function(date, allDay)
|
||||
{
|
||||
// this function is called when something is dropped
|
||||
// Event wird auf Kalender gezogen
|
||||
|
||||
// retrieve the dropped elements stored Event Object
|
||||
// gedropptes Event holen
|
||||
var originalEventObject = $(this).data("eventObject");
|
||||
|
||||
// we need to copy it, so that multiple events dont have a reference to the same object
|
||||
@@ -221,16 +234,35 @@ echo '<html>
|
||||
copiedEventObject.start = date;
|
||||
copiedEventObject.allDay = allDay;
|
||||
|
||||
// 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);
|
||||
|
||||
// is the "remove after drop" checkbox checked?
|
||||
//if ($("#drop-remove").is(":checked")) {
|
||||
// if so, remove the element from the "Draggable Events" list
|
||||
//$(this).remove();
|
||||
//}
|
||||
|
||||
// Datum konvertieren
|
||||
datum = $.fullCalendar.formatDate(date, "yyyy-MM-dd");
|
||||
uhrzeit = $.fullCalendar.formatDate(date, "hh:mm:ss");
|
||||
//alert("datum:"+datum+" uhrzeit:"+uhrzeit);
|
||||
|
||||
// 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)
|
||||
{
|
||||
@@ -277,18 +309,6 @@ echo '<html>
|
||||
<h1>'.$p->t('coodle/coodle').' - '.$p->t('coodle/termine').'</h1>';
|
||||
|
||||
|
||||
if(!isset($_GET['coodle_id']))
|
||||
die($p->t('global/fehlerBeiDerParameteruebergabe'));
|
||||
|
||||
$coodle_id = $_GET['coodle_id'];
|
||||
|
||||
$db = new basis_db();
|
||||
$coodle = new coodle();
|
||||
if(!$coodle->load($coodle_id))
|
||||
{
|
||||
die($p->t($coodle->errormsg));
|
||||
}
|
||||
|
||||
//echo '<h2>'.$coodle->titel.'</h2>';
|
||||
//echo $coodle->beschreibung;
|
||||
|
||||
@@ -455,13 +475,15 @@ echo '
|
||||
$(item).parent().remove();
|
||||
}';
|
||||
|
||||
echo '
|
||||
$(document).ready(function()
|
||||
{';
|
||||
|
||||
// Bereits zugeteilte Ressourcen laden
|
||||
|
||||
if(!$coodle->getRessourcen($coodle_id))
|
||||
die('Fehler:'.$coodle->errormsg);
|
||||
echo '
|
||||
$(document).ready(function()
|
||||
{';
|
||||
|
||||
foreach($coodle->result as $row)
|
||||
{
|
||||
echo "\n\t";
|
||||
@@ -493,6 +515,24 @@ foreach($coodle->result as $row)
|
||||
}
|
||||
echo 'addRessourceToContent("'.$db->convert_html_chars($id).'", "'.$db->convert_html_chars($typ).'", "'.$db->convert_html_chars($bezeichnung).'");';
|
||||
}
|
||||
|
||||
// Bereits eingetragene Terminvorschlaege laden
|
||||
$coodletermin = new coodle();
|
||||
if(!$coodletermin->getTermine($coodle_id))
|
||||
die('Fehler:'.$coodletermin->errormsg);
|
||||
foreach($coodletermin->result as $row)
|
||||
{
|
||||
echo '
|
||||
var eventObject =
|
||||
{
|
||||
id: "'.$db->convert_html_chars($row->coodle_termin_id).'",
|
||||
title: "'.$db->convert_html_chars($event_titel).'",
|
||||
start: "'.$db->convert_html_chars($row->datum).'T'.$db->convert_html_chars($row->uhrzeit).'",
|
||||
allDay: false
|
||||
};
|
||||
$("#calendar").fullCalendar("renderEvent", eventObject, true);
|
||||
';
|
||||
}
|
||||
echo '
|
||||
});';
|
||||
|
||||
|
||||
@@ -551,5 +551,110 @@ class coodle extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Termindaten vor dem Speichern
|
||||
*/
|
||||
public function validateTermin()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert einen Termin
|
||||
* @param new
|
||||
* @return boolean
|
||||
*/
|
||||
public function saveTermin($new)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
//Variablen pruefen
|
||||
if(!$this->validateTermin())
|
||||
return false;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN;INSERT INTO campus.tbl_coodle_termin(coodle_id, datum, uhrzeit, auswahl) VALUES('.
|
||||
$this->db_add_param($this->coodle_id).', '.
|
||||
$this->db_add_param($this->datum).', '.
|
||||
$this->db_add_param($this->uhrzeit).', false);';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry='UPDATE campus.tbl_coodle_termin SET'.
|
||||
' datum='.$this->db_add_param($this->datum).
|
||||
' uhrzeit='.$this->db_add_param($this->uhrzeit).
|
||||
' WHERE coodle_termin_id='.$this->db_add_param($this->coodle_termin_id);
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($new)
|
||||
{
|
||||
//naechste ID aus der Sequence holen
|
||||
$qry="SELECT currval('campus.seq_coodle_termin_coodle_termin_id') as id;";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->coodle_termin_id = $row->id;
|
||||
$this->db_query('COMMIT');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = "Fehler beim Auslesen der Sequence";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Terminvorschlaege zu einer Umfrage
|
||||
* @param $coodle_id
|
||||
* @return boolean
|
||||
*/
|
||||
public function getTermine($coodle_id)
|
||||
{
|
||||
$qry = "SELECT * FROM campus.tbl_coodle_termin WHERE coodle_id=".$this->db_add_param($coodle_id);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new coodle();
|
||||
$obj->coodle_termin_id = $row->coodle_termin_id;
|
||||
$obj->coodle_id = $row->coodle_id;
|
||||
$obj->datum = $row->datum;
|
||||
$obj->uhrzeit = $row->uhrzeit;
|
||||
$obj->auswahl = $this->db_parse_bool($row->auswahl);
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg ='Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user