Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
timerec3public/index.php
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
263 lines (245 sloc)
10.7 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>timerec | Dashboard</title> | |
<link rel="stylesheet" type="text/css" href="style.css"> | |
<link rel="stylesheet" type="text/css" href="bookshelf.css"> | |
<link rel="shortcut icon" href="favicon.ico"> | |
<script type="text/javascript"> | |
//tab, der als erstes geladen werden soll, muss die ID "first" haben | |
var offenerbutton; | |
document.addEventListener("DOMContentLoaded", function(event) { | |
offenerbutton = document.getElementById("first"); | |
offen = offenerbutton.value; | |
offenerbutton.className = "selected"; | |
document.getElementById(offen).style.display = "block"; | |
loadrequests(); | |
}); | |
function opentab(button){ | |
var id = button.value; | |
var status = document.getElementById(id).style.display; | |
if(status == "none" || status == false){ //false ist, wenn noch nie gedrückt wurde | |
document.getElementById(id).style.display = "block"; | |
button.className = "selected"; | |
document.getElementById(offen).style.display = "none"; | |
offenerbutton.className = ""; | |
offenerbutton = button; | |
offen = id; | |
} | |
} | |
function loadrequests(){ | |
var xhr = new XMLHttpRequest(); | |
var tabdiv = document.getElementById('antrag'); | |
xhr.open('GET', 'request.php'); | |
xhr.onload = function() { | |
if (xhr.status === 200) { | |
tabdiv.innerHTML = xhr.responseText; | |
}else{ | |
console.log(xhr.status); | |
} | |
}; | |
xhr.send(); | |
} | |
</script> | |
</head> | |
<body> | |
<?php | |
if(empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off"){ | |
$redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; | |
header('HTTP/1.1 301 Moved Permanently'); | |
header('Location: ' . $redirect); | |
exit(); | |
} | |
session_start(); | |
if($_GET['logout'] === 'true'){ | |
session_destroy(); | |
header('Location: login.php'); | |
exit; | |
} | |
if(!$_SESSION['userid']){ | |
session_destroy(); | |
include('login.php'); | |
exit; | |
} | |
include('dbconnect.php'); | |
if(!empty($_GET['ma'])){ //frisch eingeloggte wählen sich selbst aus | |
$info = "select * from mitarbeiter where maID = '".$_GET['ma']."';"; | |
}else{ | |
$info = "select * from mitarbeiter where userid = '".$_SESSION['userid']."';"; | |
} | |
$resinfo = $dbc->query($info); | |
$infoarray = $resinfo->fetch_assoc(); | |
$gettransponder = $dbc->query("select * from transponder where maID = '$infoarray[maID]';"); | |
foreach($gettransponder as $transponder){ | |
$infoarray['transponder'][] = $transponder['rfid']; | |
} | |
$getag = $dbc->query("select * from ag where ".$infoarray['maID']." in (leiter, gn, gnv, pr, prv);"); | |
foreach ($getag as $ag) { | |
$ag_array[] = $ag['ag_ID']; | |
} | |
$infoarray['ag_array'] = $ag_array; //enthält alle AGs, in denen der Mitarbeiter eine Rolle einnimmt. | |
$_SESSION['infoarray'] = $infoarray; //infoarray enthält Daten über den zu bearbeitenden MA | |
//if($_SESSION['userarray']['maID'] == '112180') var_dump($infoarray); | |
if(!$_SESSION['userarray']){ | |
$userinfo = "select * from mitarbeiter where userid = '".$_SESSION['userid']."';"; | |
$userres = $dbc->query($userinfo); | |
$userarray = $userres->fetch_assoc(); | |
if($userres->num_rows == 0){ | |
echo "<div id='content'> | |
<p> | |
Sie sind derzeit nicht im System registriert. Bei Fragen, Mail an: | |
<br> | |
Operative Administration: <a href='mailto:ziebarth@vw.fhi-berlin.mpg.de'>Angela Ziebarth, VW</a> | |
<br> | |
Technische Administration: <a href='mailto:kirstaedter@fhi-berlin.mpg.de'>William Kirstaedter, PP&B</a> | |
</p> | |
<a href='index.php?logout=true'><button>Logout</button></a> | |
</div>"; | |
exit; | |
} | |
$getag = $dbc->query("select * from ag where ".$userarray['maID']." in (gn, gnv, pr, prv);"); | |
foreach ($getag as $ag) { | |
$ag_array[] = $ag['ag_ID']; | |
} | |
$userarray['ag_array'] = $ag_array; //enthält alle AGs, in denen der User eine Rolle einnimmt. | |
$_SESSION['userarray'] = $userarray; //userarray enthält Daten über den bearbeitenden MA | |
}else{ | |
$userarray = $_SESSION['userarray']; | |
} | |
//Weiterleitung aus Email und Dashboard; nach Laden der Infos des Users und des MA | |
if(isset($_GET['tocal'])){ | |
$loc = 'Location: buchen.php?datum='.$_GET['tocal']; | |
if(isset($_GET['status'])){ | |
$loc .= "&status=".$_GET['status']; | |
} | |
header($loc); //zum Kalender weiterleiten | |
exit; | |
} | |
if(isset($_GET['toyearcal'])){ | |
$loc = 'Location: kalender.php?jahr='.$_GET['toyearcal']; | |
header($loc); //zum Kalender weiterleiten | |
exit; | |
} | |
if(isset($_GET['toagcal'])){ | |
$getdate = new DateTime($_GET['toagcal']); | |
$y = $getdate->format('Y'); | |
$m = $getdate->format('m'); | |
$loc = "Location: ag-kalender.php?y=$y&m=$m"; | |
header($loc); //zum Kalender weiterleiten | |
exit; | |
} | |
if(isset($_GET['tomonthcal'])){ | |
$loc = 'Location: month.php?m='.$_GET['m'].'&y='.$_GET['y']; | |
header($loc); //zum Tableau weiterleiten | |
exit; | |
} | |
$maID = $infoarray['maID']; | |
$name = $infoarray['nachname']. ", ".$infoarray['vorname']; | |
if(!$_SESSION['userarray']['admin'] && $_SESSION['userarray']['maID'] != $_SESSION['infoarray']['maID'] && !in_array($_SESSION['infoarray']['agID'], $_SESSION['userarray']['ag_array'])){ | |
echo "<h3>keine Rechte, diese Seite einzusehen!</h3>"; | |
exit; | |
} | |
$saldo = "select if(sum(saldomin) < 0, '-', '+') as vorzeichen, truncate(abs(sum(saldomin)/60), 0) as std, abs(sum(saldomin)%60) as min | |
from saldo where maID = $maID;"; | |
$ressaldo = $dbc->query($saldo); | |
$saldodata = $ressaldo->fetch_assoc(); | |
$saldostd = $saldodata['std'] < 10 ? "0".$saldodata['std'] : $saldodata['std']; | |
$saldomin = $saldodata['min'] < 10 ? "0".$saldodata['min'] : $saldodata['min']; | |
$aktsaldo = $saldodata['vorzeichen'] . $saldostd . ":" . $saldomin; | |
$jahr = date('Y'); | |
$getdata = $dbc->query("select * from kalender where maID = $maID and year(datum) = $jahr order by datum, k_id;"); | |
foreach($getdata as $data){ | |
$filtered[$data['datum']] = $data; | |
} | |
$genehmigt = 0; | |
foreach($filtered as $filter){ | |
if($filter['typ'] == 10 && $filter['status'] == 'genehmigt') $genehmigt++; | |
} | |
$geturlaub = $dbc->query("select tage from urlaub where maID = $maID and jahr = $jahr;"); | |
$anspruch = $geturlaub->fetch_array()[0]; | |
//$verbleibend = $anspruch - $genehmigt; | |
echo " | |
<div id='content'> | |
<form action='search.php' method='get'> | |
<input id='name' type='text' name='search' value='$name' placeholder='leer: alle anzeigen | Enter: los' autocomplete='off' onclick='this.select()'> | |
<button type='button' id='clearbutton' onclick=\"document.getElementById('name').value=''; document.getElementById('name').focus()\">X</button> | |
<button type='submit' id='searchbutton'><!--icon via CSS--></button> | |
</form> | |
<a id='zumir' href='index.php'><< zurück zu mir</a> | |
<h3 id='saldo'>Urlaub: $genehmigt/$anspruch Tage"; | |
if($infoarray['gleitzeit']){ | |
echo " | Saldo: $aktsaldo Std.</h3>"; | |
}else{ | |
echo "</h3>"; | |
} | |
echo " | |
<div id='buttons'> | |
<span class='trenner'>ALLGEMEIN</span> | |
<a href='kalender.php'><button>Kalender</button></a><br>"; | |
if($infoarray['gleitzeit'] || count($infoarray['transponder'])){ | |
echo "<a href='month.php'><button>Tableau</button></a><br>"; | |
}; | |
if(!empty($userarray['ag_array']) || $userarray['admin']){ | |
//AG Schalter einblenden, wenn User Admin oder AG Rolle | |
echo "<span class='trenner'>AG</span> | |
<a href='ag-kalender.php'><button>AG Kalender</button></a><br> | |
<a href='resp.php'><button>Verantwortliche</button></a><br>"; | |
} | |
if($userarray['admin']){ | |
echo "<span class='trenner'>ADMIN</span> | |
<a href='ma-data-editor.php'><button>MA bearbeiten / hinzufügen</button></a><br> | |
<a href='transponder.php'><button>Transponder</button></a><br> | |
<a href='ag-list.php'><button>AGs</button></a><br> | |
<a href='saldolist.php?y=$jahr'><button>Saldoliste</button></a><br> | |
<a href='filterliste.php'><button>Saldo Extrema</button></a><br> | |
<a href='zeittyp.php'><button>Zeittypen</button></a><br> | |
<a href='feiertag.php'><button>Brückentage</button></a><br>"; | |
} | |
echo " | |
<span class='trenner'>MISC</span> | |
<a href='index.php?logout=true'><button>Logout</button></a><br> | |
</div> | |
<div id='tabhead'> | |
<button value='antrag' id='first' onclick='opentab(this)'>Urlaub / Gleitzeit <span class='help' title='zeigt alle noch zu bearbeitenden Vorgänge\n\nAbgeschlossene Vorgänge, die die eigene Person betreffen, werden noch 30 Tage zurück angezeigt'>(?)</span></button>"; | |
if($userarray['admin']){ | |
echo " <button value='gefehlt' onclick='opentab(this)'>Fehlzeiten</button> | |
<button value='kernzeit' onclick='opentab(this)'>Kernzeitverletzungen</button>"; | |
} | |
echo "</div> | |
<div id='tabs'> | |
<div id='antrag'> | |
<section class='bookshelf_wrapper'> | |
<ul class='books_list'> | |
<li class='book_item first'></li> | |
<li class='book_item second'></li> | |
<li class='book_item third'></li> | |
<li class='book_item fourth'></li> | |
<li class='book_item fifth'></li> | |
<li class='book_item sixth'></li> | |
</ul> | |
<section class='shelf'><p>wird geladen...</p></section> | |
</section> | |
<!--tab inhalt ausgelagert für bessere übersicht / funktionstrennung , funktion für load siehe oben--> | |
</div>"; | |
echo "<div id='gefehlt'>"; | |
//tab inhalt ausgelagert für bessere übersicht / funktionstrennung | |
if($userarray['admin']){ | |
$include = true; | |
include('missed.php'); | |
$include = false; | |
} | |
echo "</div> | |
<div id='kernzeit'>"; | |
//tab inhalt ausgelagert für bessere übersicht / funktionstrennung | |
if($userarray['admin']){ | |
$include = true; | |
include('kernz.php'); | |
$include = false; | |
} | |
echo "</div> | |
</div> | |
</div>"; | |
?> | |
</body> | |
</html> |