".mysqli_error($dbconn)); mysqli_query($dbconn,"DELETE FROM termin WHERE main_id='".$_POST["del".$i]."'" or $err=error("Konnte Nebentermine nicht löschen
".mysqli_error($dbconn))); } if(!$err) doneNreturn("Erfolgreich gelöscht"); } else{ $qry = mysqli_query($dbconn,"SELECT * FROM termin WHERE id='".mysqli_escape_string($dbconn,$_GET["id"])."'"); $res = mysqli_fetch_assoc($qry); if(!$res) $err = error("Dieser Termin existiert nicht!"); mysqli_query($dbconn,"DELETE FROM termin WHERE id='".$res["id"]."'") or $err=error("Konnte Haupttermin nicht löschen
".mysqli_error($dbconn)); mysqli_query($dbconn,"DELETE FROM termin WHERE main_id='".$res["id"]."'" or $err=error("Konnte Nebentermine nicht löschen
".mysqli_error($dbconn))); if(!$err) doneNreturn("Erfolgreich gelöscht"); } } elseif($_GET["id"] && $_GET["done"]) { if($_GET["id"] == "multi"){ for( $i=1; $i<=$_POST["pagesize"]; $i++){ mysqli_query($dbconn,"UPDATE termin SET done = 1 WHERE id='".$_POST["erl".$i]."'") or $err+=error("Konnte Haupttermin nicht als erledigt markieren
".mysqli_error($dbconn)); mysqli_query($dbconn,"UPDATE termin SET done = 1 WHERE main_id='".$_POST["erl".$i]."'") or $err+=error("Konnte Nebentermine nicht als erledigt markieren
".mysqli_error($dbconn)); } if(!$err) doneNreturn("Erfolgreich geändert!"); } else{ $qry = mysqli_query($dbconn,"SELECT * FROM termin WHERE id='".mysqli_escape_string($dbconn,$_GET["id"])."'"); $res = mysqli_fetch_assoc($qry); if(!$res) $err = error("Dieser Termin existiert nicht!"); if($_GET["done"] == "yes") { mysqli_query($dbconn,"UPDATE termin SET done = 1 WHERE id='".$res["id"]."'") or $err=error("Konnte Haupttermin nicht als erledigt markieren
".mysqli_error($dbconn)); mysqli_query($dbconn,"UPDATE termin SET done = 1 WHERE main_id='".$res["id"]."'") or $err=error("Konnte Nebentermine nicht als erledigt markieren
".mysqli_error($dbconn)); } elseif($_GET["done"] == "no") { mysqli_query($dbconn,"UPDATE termin SET done = 0 WHERE id='".$res["id"]."'") or $err=error("Konnte Haupttermin nicht als nicht erledigt markieren
".mysqli_error($dbconn)); mysqli_query($dbconn,"UPDATE termin SET done = 0 WHERE main_id='".$res["id"]."'") or $err=error("Konnte Nebentermine nicht als nicht erledigt markieren
".mysqli_error($dbconn)); } if(!$err) doneNreturn("Erfolgreich geändert!"); } } $qry = mysqli_query($dbconn,"SELECT plz, ortsteil, ort, str, hnr, vname, partner_id, nname, vname2, nname2, firma, adresse.id, land, anrede_id, titel_id, anrede2_id, titel2_id FROM adresse LEFT JOIN strasse ON str_id = strasse.id LEFT JOIN ort ON ort_id = ort.id LEFT JOIN land ON land_id = land.id WHERE adresse.id='".mysql_escape_string($_GET["adressid"])."' ORDER BY typ_id ASC") or $err = error("Fehler beim abrufen der Daten ".mysqli_error($dbconn)); $kdnres=mysqli_fetch_assoc($qry); if($_GET["user"]) $smarty->assign("user",$_GET["user"]); if(!$kdnres["partner_id"]) { $_GET["adressid"] = 0; } if($_GET["formsent"] == 1) { $head = mysql_escape_string(trim($_POST["head"])); $user = mysql_escape_string(trim($_POST["user"])); $user2 = mysql_escape_string(trim($_POST["user2"])); $user3 = mysql_escape_string(trim($_POST["user3"])); $user4 = mysql_escape_string(trim($_POST["user4"])); $text = mysql_escape_string(trim($_POST["text"])); $typ = mysql_escape_string(trim($_POST["typ"])); $done = mysql_escape_string(trim($_POST["done"])); $folge = mysql_escape_string(trim($_POST["folge"])); $folgetyp = mysql_escape_string(trim($_POST["folgetyp"])); $folgedays = mysql_escape_string(trim($_POST["folgedays"])); $datetime_start = dispdate_to_mysql_date(mysql_escape_string(trim($_POST["datetime_start"])),0); $datetime_end = dispdate_to_mysql_date(mysql_escape_string(trim($_POST["datetime_end"])),1); $_POST["termtime"] = $datetime_start; $_POST["termend"] = $datetime_end; $dauer = $_POST["termdauer"] = mysql_dauer($datetime_start,$datetime_end); $days = 1; $split_dauer = explode(":",$dauer); if($split_dauer[0]>12 || $typ == 0) { $days = ceil($dauer/24); $dauer = "24:00:00"; $_POST["termtime"] = $datetime_start = substr($datetime_start,0,11)."00:00:00"; $_POST["termend"] = $datetime_end = substr($datetime_start,0,11)."23:59:00"; } $datetime_start_tmp =$datetime_start; if($days > 1 && $_GET["id"]) { mysqli_query($dbconn,"DELETE FROM termin WHERE id='".mysqli_escape_string($dbconn,$_GET["id"])."'"); mysqli_query($dbconn,"DELETE FROM termin WHERE main_id='".mysqli_escape_string($dbconn,$_GET["id"])."'"); $_GET["id"] = ""; } else mysqli_query($dbconn,"DELETE FROM termin WHERE main_id='".mysqli_escape_string($dbconn,$_GET["id"])."' AND id != '".mysqli_escape_string($dbconn,$_GET["id"])."'"); if($done == 0){ for($i=0;$i<$days;$i++) { $datetime_start_tmp = date("Y-m-d H:i:s",strtotime("+".$i." day",strtotime($datetime_start))); $qry = mysqli_query($dbconn,"SELECT * FROM ( SELECT id,user, user2, user3, user4, termtime, DATE_ADD(termtime,INTERVAL CONCAT(HOUR(termdauer),' ',MINUTE(termdauer)) HOUR_MINUTE)as termend FROM termin WHERE termtime != '0000-00-00 00:00:00' AND done = 0) as subselect WHERE (user='$user' OR user2='$user' OR user3='$user' OR user4='$user') AND ( ('$datetime_start_tmp' >= termtime AND '$datetime_start_tmp' < termend) OR ('$datetime_end' > termtime AND '$datetime_end' <= termend) OR ('$datetime_start_tmp' <= termtime AND '$datetime_end' >= termend) )") or $err=error("Fehler beim überprüfen von Überlappungen
".mysqli_error($dbconn)); $res=mysqli_fetch_assoc($qry); if(!$res && $user2) { $qry = mysqli_query($dbconn,"SELECT * FROM ( SELECT id,user, user2, user3, user4, termtime, DATE_ADD(termtime,INTERVAL CONCAT(HOUR(termdauer),' ',MINUTE(termdauer)) HOUR_MINUTE)as termend FROM termin WHERE termtime != '0000-00-00 00:00:00' AND done = 0) as subselect WHERE (user='$user2' OR user2='$user2' OR user3='$user2' OR user4='$user2') AND ( ('$datetime_start_tmp' >= termtime AND '$datetime_start_tmp' < termend) OR ('$datetime_end' > termtime AND '$datetime_end' <= termend) OR ('$datetime_start_tmp' <= termtime AND '$datetime_end' >= termend) )") or $err=error("Fehler beim überprüfen von Überlappungen
".mysqli_error($dbconn)); $res=mysqli_fetch_assoc($qry); } if(!$res && $user3) { $qry = mysqli_query($dbconn,"SELECT * FROM ( SELECT id,user, user2, user3, user4, termtime, DATE_ADD(termtime,INTERVAL CONCAT(HOUR(termdauer),' ',MINUTE(termdauer)) HOUR_MINUTE)as termend FROM termin WHERE termtime != '0000-00-00 00:00:00' AND done = 0) as subselect WHERE (user='$user3' OR user2='$user3' OR user3='$user3' OR user4='$user3') AND ( ('$datetime_start_tmp' >= termtime AND '$datetime_start_tmp' < termend) OR ('$datetime_end' > termtime AND '$datetime_end' <= termend) OR ('$datetime_start_tmp' <= termtime AND '$datetime_end' >= termend) )") or $err=error("Fehler beim überprüfen von Überlappungen
".mysqli_error($dbconn)); $res=mysqli_fetch_assoc($qry); } if(!$res && $user4) { $qry = mysqli_query($dbconn,"SELECT * FROM ( SELECT id,user, user2, user3, user4, termtime, DATE_ADD(termtime,INTERVAL CONCAT(HOUR(termdauer),' ',MINUTE(termdauer)) HOUR_MINUTE)as termend FROM termin WHERE termtime != '0000-00-00 00:00:00' AND done = 0) as subselect WHERE (user='$user4' OR user2='$user4' OR user3='$user4' OR user4='$user4') AND ( ('$datetime_start_tmp' >= termtime AND '$datetime_start_tmp' < termend) OR ('$datetime_end' > termtime AND '$datetime_end' <= termend) OR ('$datetime_start_tmp' <= termtime AND '$datetime_end' >= termend) )") or $err=error("Fehler beim überprüfen von Überlappungen
".mysqli_error($dbconn)); $res=mysqli_fetch_assoc($qry); } if($res && $res["id"] != $_GET["id"]) { $err=error("Dieser Mitarbeiter hat zu der Zeit bereits einen Termin, er kann nicht an zwei Orten gleichzeitig sein."); break; } } } if(!$err) { for($i=0;$i<$days;$i++) { $datetime_start_tmp = date("Y-m-d H:i:s",strtotime("+".$i." day",strtotime($datetime_start))); if(strstr($datetime_start_tmp,"1970")){ echo "NICHTTERMINIERT!!"; $datetime_start_tmp = "0000-00-00 00:00:00"; } if($_GET["id"]) { $qry=mysqli_query($dbconn,"SELECT * FROM termin WHERE id = '".mysqli_escape_string($dbconn,($_GET["id"]))."'"); if ($res=mysqli_fetch_assoc($qry)) { if($done && $folge && !$res["followed_by"] && !$i) { mysqli_query($dbconn,"INSERT INTO termin SET head='$head', text='', adresse_id='".mysqli_escape_string($dbconn,$_GET["adressid"])."', typ='$folgetyp', changetime=NOW(), datetime=NOW(), done='0', termtime='', termdauer='', user='$user', user2='$user2', user3='$user3', user4='$user4', changeuser='".$_SESSION["user"]."', act_date=DATE_ADD(CURDATE(),INTERVAL $folgedays DAY)") or $err=error("Fehler beim anlegen des Folgetermins
".mysqli_error($dbconn)); $res["followed_by"] = mysqli_insert_id($dbconn); mysqli_query($dbconn,"UPDATE termin SET main_id = '".$res["followed_by"]."' WHERE id='".$res["followed_by"]."'"); } if(!$i) { mysqli_query($dbconn,"UPDATE termin SET head='$head', text='$text', adresse_id='".mysqli_escape_string($dbconn,$_GET["adressid"])."', typ='$typ', changetime=NOW(), done='$done', termtime='$datetime_start_tmp', termdauer='$dauer', changeuser='".$_SESSION["user"]."', user='$user', user2='$user2', user3='$user3', user4='$user4', followed_by='".$res["followed_by"]."' WHERE id='".mysqli_escape_string($dbconn,$_GET["id"])."'") or $err=error("Fehler beim ändern des Termins
".mysqli_error($dbconn)); } } else $err=error("dieser Termin existiert nicht!"); } else { if($done && $folge && !$err && !$i) { mysqli_query($dbconn,"INSERT INTO termin SET head='$head', text='', adresse_id='".mysqli_escape_string($dbconn,$_GET["adressid"])."', typ='$folgetyp', changetime=NOW(), datetime=NOW(), done='0', termtime='', termdauer='', changeuser='".$_SESSION["user"]."', user='$user', user2='$user2', user3='$user3', user4='$user4', act_date=DATE_ADD(CURDATE(),INTERVAL $folgedays DAY)") or $err=error("Fehler beim anlegen des Folgetermins
".mysqli_error($dbconn)); $res["followed_by"] = mysqli_insert_id($dbconn); mysqli_query($dbconn,"UPDATE termin SET main_id = '".$res["followed_by"]."' WHERE id='".$res["followed_by"]."'"); } if(!$err) { if(!$i) { mysqli_query($dbconn,"INSERT INTO termin SET head='$head', text='$text', adresse_id='".mysqli_escape_string($dbconn,$_GET["adressid"])."', typ='$typ', changetime=NOW(), datetime=NOW(), done='$done', termtime='$datetime_start_tmp', termdauer='$dauer', changeuser='".$_SESSION["user"]."', user='$user', user2='$user2', user3='$user3', user4='$user4', followed_by='".$res["followed_by"]."'") or $err=error("Fehler beim anlegen des Termins
".mysqli_error($dbconn)); $main_id = mysqli_insert_id($dbconn); mysqli_query($dbconn,"UPDATE termin SET main_id = '$main_id' WHERE id='$main_id'"); } else { mysqli_query($dbconn,"INSERT INTO termin SET head='$head', text='$text', adresse_id='".mysqli_escape_string($dbconn,$_GET["adressid"])."', typ='$typ', changetime=NOW(), datetime=NOW(), done='$done', termtime='$datetime_start_tmp', termdauer='$dauer', changeuser='".$_SESSION["user"]."', user='$user', user2='$user2', user3='$user3', user4='$user4', main_id='$main_id', followed_by='".$res["followed_by"]."'") or $err=error("Fehler beim anlegen des Termins
".mysqli_error($dbconn)); } } } } if(!$err) { doneNreturn("Erfolgreich eingetragen"); } } if($err){ $smarty->assign("termin",$_POST); } //elseif(!$head) // $err=error("Bitte geben Sie eine Terminbeschreibung an!"); } $qry = mysqli_query($dbconn,"SELECT id, typ FROM termtyp WHERE id > 0") or $err = error("Fehler beim abrufen der Termintypen
".mysqli_error($dbconn)); while($res = mysqli_fetch_assoc($qry)) { $typids[] =$res["id"]; $typs[] = $res["typ"]; } $smarty->assign("typs",$typs); $smarty->assign("typids",$typids); $typids=array(); $typs=array(); $qry = mysqli_query($dbconn,"SELECT id, vname, nname FROM user WHERE blocked = 0 AND id > 0") or $err = error("Fehler beim abrufen der Benutzer
".mysqli_error($dbconn)); while($res = mysqli_fetch_assoc($qry)) { $typids[] =$res["id"]; $typs[] = $res["vname"]." ".$res["nname"]; } $smarty->assign("users",$typs); $smarty->assign("userids",$typids); $typs[]="Keiner"; $typids[]=0; $smarty->assign("optusers",$typs); $smarty->assign("optuserids",$typids); $smarty->assign("days",array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40)); $smarty->assign("kunde",$kdnres); if($_GET["id"]) { $qry=mysqli_query($dbconn,"SELECT MIN(termtime) AS termtime, SEC_TO_TIME(SUM(TIME_TO_SEC(termdauer))) AS termdauer, head, followed_by, MIN(id) AS id, main_id, typ,adresse_id, done, user, user2, user3, user4, changeuser, act_date, text FROM termin WHERE main_id = '".mysqli_escape_string($dbconn,$_GET["id"])."' GROUP BY main_id"); if ($res=mysqli_fetch_assoc($qry)) { if($res["followed_by"] > 0) { $qry2=mysqli_query($dbconn, "SELECT DATE_FORMAT(act_date,'%Y-%m-%d'), typ_id FROM termin WHERE id = '".$res["followed_by"]."'"); $res2=mysqli_fetch_assoc($qry2); $days = (strtotime($res2["act_date"]) - strtotime(date("Y-m-d"))) / (60 * 60 * 24); $res["folgetyp"]= $res2["typ_id"]; if($days > 0) $res["folgedays"] = $days; } $res["termend"] = dauer_to_date($res["termtime"], $res["termdauer"]); if(strstr($res["termend"],"00:00:00")){ $res["termend"] = date("Y-m-d H:i:s",strtotime("-1 minutes",strtotime($res["termend"]))); } $smarty->assign("termin",$res); if($_GET["adressid"]) $smarty->assign("heading","Termin ändern"); else $smarty->assign("heading","Urlaub / Krankheit ändern"); } else { $err=error("Dieser Termin existiert nicht!"); } } else { $smarty->assign("termin",$_POST); if($_GET["adressid"]){ $smarty->assign("heading","Neuer Termin"); } else{ $smarty->assign("heading","Neuer Urlaub / Krankheitstag"); $typids=array(); $typs=array(); $qry = mysqli_query($dbconn,"SELECT id, typ FROM termtyp WHERE typ = 'Urlaub' OR typ = 'Krankheit'") or $err = error("Fehler beim abrufen der Termintypen
".mysqli_error($dbconn)); while($res = mysqli_fetch_assoc($qry)) { $typids[] =$res["id"]; $typs[] = $res["typ"]; } $smarty->assign("vac_types_id",$typids); $smarty->assign("vac_types_name",$typs); } } $smarty->display("heading.tpl"); $smarty->display("addtermin.tpl"); ?>