File: D:/HostingSpaces/MDalebout/clupconsultants.nl/wwwroot/timesheet/includes/functions_db.php
<?php
/*==============================================
= PART 1 : Standard database functions
==============================================*/
function ReturnData($sql, $db) {
if ($db->Execute($sql) === false) {
echo 'Query levert een fout op: '.$db->ErrorMsg().'<br />'."\n";
echo '<a href="index.php">Probeer opnieuw</a>';
die();
}
else {
$r = $db->Execute($sql);
$rows = $r->GetRows();
return $rows;
}
}
function ExecuteQuery($sql, $db) {
if ($db->Execute($sql) === false) {
echo 'Query levert een fout op: '.$db->ErrorMsg().'<br />'."\n";
echo '<a href="index.php">Probeer opnieuw</a>';
die();
}
else {
$_SESSION['feedback'] = 'Actie is uitgevoerd';
}
}
/***************************************************************************
* Function SetLanguage *
* Zetten van de taal waarin o.a. de datum weergegeven wordt in een query *
***************************************************************************/
function SetLanguage($db) {
$sql = 'SET lc_time_names = \'nl_NL\'';
$db->Execute($sql);
}
/*==============================================
= PART 2 : Application Setup Functions
==============================================*/
/********************************
* Function FillInterfaceMenu *
********************************/
function FillInterfaceMenu($db) {
$insert = Array();
$insert[0] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'hoofd\', \'urenregistratie\', \'urenregistratie\', \'Vul de timesheet in\', 2)';
$insert[1] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'hoofd\', \'inloggen\', \'inloggen\', \'Meld een (andere) gebruiker aan\', 1)';
$insert[2] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'hoofd\', \'overzichten\', \'overzichten\', \'Overzichten\', 3)';
$insert[3] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'hoofd\', \'management\', \'management\', \'Onderhoud aan de uren applicatie\', 4)';
$insert[4] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'management\', \'project_toevoegen\', \'Voeg een project toe\', 1)';
$insert[5] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'management\', \'project_wijzigen\', \'Projectgegevens wijzigen\', 2)';
$insert[6] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'management\', \'gebruiker_toevoegen\', \'Voeg een gebruiker toe\', 5)';
$insert[7] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'management\', \'gebruiker_wijzigen\', \'Wijzig een gebruiker\', 6)';
$insert[8] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'management\', \'vakantiesaldo\', \'Opvoeren vakantiedagen saldo\', 7)';
$insert[13] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'management\', \'bedrijf_toevoegen\', \'Voer een bedrijf op\', 8)';
$insert[14] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'management\', \'bedrijf_wijzigen\', \'Wijzig een bedrijf\', 9)';
$insert[15] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'management\', \'release_ongedaan\', \'Geef een timesheet weer vrij\', 10)';
$insert[9] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'overzichten\', \'prognose\', \'Prognose (bedrijfsbreed)\', 1)';
$insert[10] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'overzichten\', \'realisatie\', \'Realisatie YTD (bedrijfsbreed)\', 2)';
$insert[11] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'overzichten\', \'vakantie\', \'Vakantie- en ziekteuren per persoon\', 3)';
$insert[12] = 'insert into uur_interface_menu
(menu_sectie, menu_categorie, menu_action, menu_display, menu_sortorder)
values (\'sub\', \'overzichten\', \'alleurencsv\', \'Alle uren per maand (csv)\', 4)';
foreach($insert as $sqli) {
ExecuteQuery($sqli, $db);
}
}
/********************************
* Function FillKalender *
********************************/
function FillKalender($db) {
$sql = 'select coalesce(date_add(max(datum), INTERVAL 1 DAY), date_format(current_date(),\'%Y-01-01\')) as min_datum from uur_kalender;';
$rows = ReturnData($sql, $db);
$startdatum = $rows[0][0];
$eindjaar = date("Y")+1;
$einddatum = $eindjaar.'-12-31';
if(strtotime($startdatum) <= strtotime($einddatum)) {
$sql = 'insert into uur_kalender (datum) values (\''.$startdatum.'\')';
if ($db->Execute($sql) === false) {
$result = 'Insert query levert een fout op: '.$conn->ErrorMsg(); die();
}
else {
// Vul afgeleide datumkolommen
if(strtotime($startdatum) == strtotime($einddatum)) {
$update = 'update uur_kalender
set jaar=year(datum)
, jaarmaand=((year(datum) * 100) + month(datum))
, maandnaam=concat(monthname(datum),\' \',year(datum))
where jaar is null';
ExecuteQuery($update, $db);
}
// Update feestdagen
if(strtotime($startdatum) == strtotime($einddatum)) {
KalNieuwjaar($db);
KalKerst($db);
KalKoninginnedag($db);
KalPasenPinksterenHemelvaart($db);
}
FillKalender($db);
}
}
}
/********************************
* Function KalNieuwjaar *
********************************/
function KalNieuwjaar($db) {
$sql = 'select datum from uur_kalender where dayofyear(datum) = 1';
$rows = ReturnData($sql, $db);
foreach($rows as $row ) {
$update = 'update uur_kalender set feestdag = \'J\' where datum = \''.$row['datum'].'\'';
ExecuteQuery($update, $db);
}
}
/********************************
* Function KalKerst *
********************************/
function KalKerst($db) {
$sql = 'select datum from uur_kalender where month(datum) = 12 and day(datum) in (25,26)';
$rows = ReturnData($sql, $db);
foreach($rows as $row ) {
$update = 'update uur_kalender set feestdag = \'J\' where datum = \''.$row['datum'].'\'';
ExecuteQuery($update, $db);
}
}
/********************************
* Function KalKoninginnedag *
********************************/
function KalKoninginnedag($db) {
$sql = 'select datum from uur_kalender
where
(
month(datum) = 4
and year(datum) <= 2013
and (
(day(datum)=30 and dayofweek(datum)<> 1)
or (day(datum)=29 and dayofweek(datum)=7)
)
)
or (
month(datum) = 4
and year(datum) > 2013
and (
(day(datum)=27 and dayofweek(datum)<> 1)
or (day(datum)=26 and dayofweek(datum)=7)
)
)';
$rows = ReturnData($sql, $db);
foreach($rows as $row ) {
$update = 'update uur_kalender set feestdag = \'J\' where datum = \''.$row['datum'].'\'';
ExecuteQuery($update, $db);
}
}
/*****************************************
* Function KalPasenPinksterenHemelvaart *
*****************************************/
function KalPasenPinksterenHemelvaart($db) {
$sql = 'select distinct year(datum) as jaar from uur_kalender';
$rows = ReturnData($sql, $db);
foreach($rows as $row ) {
$pasen = PaasDatum($row['jaar']);
$sql2 = 'select datum from uur_kalender
where datum = str_to_date('.$pasen.',\'%Y%m%d\')
or datum = date_add(str_to_date('.$pasen.',\'%Y%m%d\'), INTERVAL 1 DAY)
or datum = date_add(str_to_date('.$pasen.',\'%Y%m%d\'), INTERVAL 7 WEEK)
or datum = date_add(date_add(str_to_date('.$pasen.',\'%Y%m%d\'), INTERVAL 7 WEEK), INTERVAL 1 DAY)
or datum = date_add(date_add(str_to_date('.$pasen.',\'%Y%m%d\'), INTERVAL 7 WEEK), INTERVAL -10 DAY)';
$rows2 = ReturnData($sql2, $db);
foreach($rows2 as $row2 ) {
$update = 'update uur_kalender set feestdag = \'J\' where datum = \''.$row2['datum'].'\'';
ExecuteQuery($update, $db);
}
}
}
/********************************
* Function PaasDatum *
********************************/
function PaasDatum($jaar) {
$a = $jaar % 19;
$b = floor($jaar / 100);
$c = $jaar % 100;
$d = floor($b / 4);
$e = $b % 4;
$f = floor((8 * $b + 13)/25);
$g = floor((11 * ($b - $d - $f) - 4) / 30);
$h = floor((7 * $a + $g + 6) / 11);
$i = (19 * $a + ($b - $d - $f) + 15 - $h) % 29;
$j = floor($c / 4);
$k = $c % 4;
$l = ((32 + 2 * $e) + 2 * $j - $k - $i) % 7;
$maand = floor((90 + ($i + $l)) / 25);
$dag = (19 + ($i + $l) + $maand) % 32;
$pasen = $jaar*10000+$maand*100+$dag;
return $pasen;
}
/********************************
* Function FillProjectType *
********************************/
function FillProjectType($db) {
$insert = Array();
$insert[0] = 'insert into uur_project_type (project_type_naam) values (\'VAK\')';
$insert[1] = 'insert into uur_project_type (project_type_naam) values (\'ZIEK\')';
$insert[2] = 'insert into uur_project_type (project_type_naam) values (\'OVERIG\')';
$insert[3] = 'insert into uur_project_type (project_type_naam, project_type_default) values (\'NACALCULATIE\', \'J\')';
$insert[4] = 'insert into uur_project_type (project_type_naam) values (\'FIXED PRICE\')';
$insert[5] = 'insert into uur_project_type (project_type_naam) values (\'ONBETAALD\')';
$insert[6] = 'insert into uur_project_type (project_type_naam) values (\'OUDERSCHAP\')';
$insert[7] = 'insert into uur_project_type (project_type_naam) values (\'BIJZVERLOF\')';
foreach($insert as $sqli) {
ExecuteQuery($sqli, $db);
}
}
/*********************************************
* Function FillStandardProjects *
* Standaard projecten voor vakantie, ziekte *
*********************************************/
function FillStandardProjects($db) {
// 1. Haal users op
$sql_u = 'select gebruikers_id, gebruikers_naam from uur_gebruikers';
$rows_u = ReturnData($sql_u, $db);
foreach($rows_u as $row_u) {
// 2a. Voor iedere user checken of project VAK al bestaat
$sql_vak = '
select pt.project_type_id
, count(distinct p.project_id) as aantal
from uur_project_type pt
left join uur_projecten p
on p.project_type_id = pt.project_type_id
and p.gebruikers_id = '.$row_u['gebruikers_id'].'
where pt.project_type_naam = \'VAK\'
group by pt.project_type_id'
;
$rows_vak = ReturnData($sql_vak, $db);
foreach($rows_vak as $row_vak) {
if ($row_vak['aantal'] == 0) {
// 3a. Zo niet, vullen per user.
$insert_vak = 'insert into uur_projecten (project_code, project_naam, project_type_id, gebruikers_id)
values (\'VAK\', \'Vakantie\', '.$row_vak['project_type_id'].', '.$row_u['gebruikers_id'].')';
ExecuteQuery($insert_vak, $db);
}
}
// 2b. Voor iedere user checken of project ZIEK al bestaat
$sql_ziek = '
select pt.project_type_id
, count(distinct p.project_id) as aantal
from uur_project_type pt
left join uur_projecten p
on p.project_type_id = pt.project_type_id
and p.gebruikers_id = '.$row_u['gebruikers_id'].'
where pt.project_type_naam = \'ZIEK\'
group by pt.project_type_id'
;
$rows_ziek = ReturnData($sql_ziek, $db);
foreach($rows_ziek as $row_ziek) {
if ($row_ziek['aantal'] == 0) {
// 3b. Zo niet, vullen per user.
$insert_ziek = 'insert into uur_projecten (project_code, project_naam, project_type_id, gebruikers_id)
values (\'ZIEK\', \'Ziekte\', '.$row_ziek['project_type_id'].', '.$row_u['gebruikers_id'].')';
ExecuteQuery($insert_ziek, $db);
}
}
}
}
/*==============================================
= PART 3 : Application Functions
==============================================*/
/********************************
* Function AddUserDB *
********************************/
function AddUserDB($db) {
$rows = ReturnData('select count(1) as aantal from uur_gebruikers where gebruikers_inlog = \''.$_SESSION['gebruikers_inlog'].'\'',$db);
foreach($rows as $row ) {
if ($row['aantal'] > 0) {
$_SESSION['feedback'] = 'Deze gebruiker bestaat al, kies een andere inlognaam';
header("Location: index.php?action=gebruiker_toevoegen");
exit();
}
else {
//Controleren of er een geldig bedrijfs_id is ingevuld
$sql = 'select count(1) as aantal from uur_bedrijf where bedrijf_id = '.$_SESSION['bedrijf_id'];
$rows = ReturnData($sql,$db);
foreach($rows as $row ) {
if ($row['aantal'] == 0) {
$_SESSION['feedback'] = 'Geen geldig bedrijf gekozen';
header("Location: index.php?action=gebruiker_toevoegen");
exit();
}
else {
$sql = 'insert into uur_gebruikers (gebruikers_naam, gebruikers_inlog, gebruikers_fte, bedrijf_id) values(\''.$_SESSION['gebruikers_naam'].'\',\''.$_SESSION['gebruikers_inlog'].'\', '.$_SESSION['gebruikers_fte'].', '.$_SESSION['bedrijf_id'].')';
ExecuteQuery($sql, $db);
$_SESSION['feedback'] = 'Gebruiker '.$_SESSION['gebruikers_naam'].' is toegevoegd';
//Unset variables
$_SESSION['gebruikers_naam'] = '';
$_SESSION['gebruikers_inlog'] = '';
$_SESSION['gebruikers_fte'] = '';
$_SESSION['bedrijf_id'] = '';
}
}
}
}
}
/********************************
* Function UpdateUserDB *
********************************/
function UpdateUserDB($db) {
//Controleren of er een geldig bedrijfs_id is ingevuld
$sql = 'select count(1) as aantal from uur_bedrijf where bedrijf_id = '.$_SESSION['bedrijf_id'];
$rows = ReturnData($sql,$db);
foreach($rows as $row ) {
if ($row['aantal'] == 0) {
$_SESSION['feedback'] = 'Geen geldig bedrijf gekozen';
header("Location: index.php?action=gebruiker_wijzigen");
exit();
}
else {
if ($_SESSION['gebruikers_fte'] == '') {
$_SESSION['gebruikers_fte'] = 0;
}
$sql = 'update uur_gebruikers set
gebruikers_naam = \''.$_SESSION['gebruikers_naam'].'\'
, gebruikers_actief=\''.$_SESSION['gebruikers_actief'].'\'
, gebruikers_fte='.$_SESSION['gebruikers_fte'].'
, bedrijf_id = '.$_SESSION['bedrijf_id'].'
where gebruikers_id = '.$_SESSION['gebruikers_id'];
ExecuteQuery($sql, $db);
}
}
//Unset variables
$_SESSION['gebruikers_naam'] = '';
$_SESSION['gebruikers_inlog'] = '';
$_SESSION['gebruikers_actief'] = '';
$_SESSION['gebruikers_id'] = '';
$_SESSION['gebruikers_fte'] = '';
$_SESSION['bedrijf_id'] = '';
}
/********************************
* Function AddBedrijfDB *
********************************/
function AddBedrijfDB($db) {
$rows = ReturnData('select count(1) as aantal from uur_bedrijf where bedrijf_naam = \''.$_SESSION['bedrijf_naam'].'\'',$db);
foreach($rows as $row ) {
if ($row['aantal'] > 0) {
$_SESSION['feedback'] = 'Dit bedrijf bestaat al, kies een andere bedrijfsnaam';
header("Location: index.php?action=bedrijf_toevoegen");
exit();
}
else {
$sql = 'insert into uur_bedrijf (bedrijf_naam, bedrijf_actief) values(\''.$_SESSION['bedrijf_naam'].'\',\'J\')';
ExecuteQuery($sql, $db);
$_SESSION['feedback'] = 'Bedrijf '.$_SESSION['bedrijf_naam'].' is toegevoegd';
//Unset variables
$_SESSION['bedrijf_naam'] = '';
}
}
}
/********************************
* Function UpdateBedrijfDB *
********************************/
function UpdateBedrijfDB($db) {
//check of de gewijzigde bedrijfsnaam klopt
$rows = ReturnData('select count(1) as aantal from uur_bedrijf where bedrijf_naam = \''.$_SESSION['bedrijf_naam'].'\' and bedrijf_id<>'.$_SESSION['bedrijf_id'],$db);
foreach($rows as $row ) {
if ($row['aantal'] > 0) {
$_SESSION['feedback'] = 'Deze bedrijfsnaam wordt al gebruikt, kies een andere bedrijfsnaam';
header("Location: index.php?action=bedrijf_wijzigen");
exit();
}
}
$sql = 'update uur_bedrijf set
bedrijf_naam = \''.$_SESSION['bedrijf_naam'].'\'
, bedrijf_actief=\''.$_SESSION['bedrijf_actief'].'\'
where bedrijf_id = '.$_SESSION['bedrijf_id'];
ExecuteQuery($sql, $db);
//Unset variables
$_SESSION['bedrijf_naam'] = '';
$_SESSION['bedrijf_actief'] = '';
$_SESSION['bedrijf_id'] = '';
}
/********************************
* Function AddProjectDB *
********************************/
function AddProjectDB($db) {
$sql = '
insert into uur_projecten
(
project_naam
, project_code
, project_annotatie
, uurtarief
, gebruikers_id
, project_type_id
, van_kalender_id
, tot_kalender_id
, contracturen
, klantnaam
, bedrijfsonderdeel
, contactpersoon
, factuuradres
, tussenpartij
, activiteiten
, factuurreferentie
, procuratiehouder
)
VALUES
(
\''.$_SESSION['project_naam'].'\'
, \''.$_SESSION['project_code'].'\'
, \''.$_SESSION['project_annotatie'].'\'';
if($_SESSION['uurtarief'] > 0) {
$sql.= ', round(replace(\''.$_SESSION['uurtarief'].'\', \',\', \'.\'),2)';
}
else {
$sql.= ', null';
}
$sql.=', '.$_SESSION['gebruikers_id'].'
, '.$_SESSION['project_type_id'].'
, '.$_SESSION['van_kalender_id'].'
, '.$_SESSION['tot_kalender_id'];
if($_SESSION['uurtarief'] > 0) {
$sql.=', round(replace(\''.$_SESSION['contracturen'].'\', \',\', \'.\'),2)';
}
else {
$sql.= ', null';
}
$sql.=', \''.$_SESSION['klantnaam'].'\'
, \''.$_SESSION['bedrijfsonderdeel'].'\'
, \''.$_SESSION['contactpersoon'].'\'
, \''.$_SESSION['factuuradres'].'\'
, \''.$_SESSION['tussenpartij'].'\'
, \''.$_SESSION['activiteiten'].'\'
, \''.$_SESSION['factuurreferentie'].'\'
, \''.$_SESSION['procuratiehouder'].'\'
)';
ExecuteQuery($sql, $db);
$_SESSION['feedback'] = 'Project '.$_SESSION['project_naam'].' is toegevoegd';
//unset all variables
$_SESSION['project_naam'] = '';
$_SESSION['project_code'] = '';
$_SESSION['project_annotatie'] = '';
$_SESSION['uurtarief'] = '';
$_SESSION['gebruikers_id'] = '';
$_SESSION['project_type_id'] = '';
$_SESSION['van_kalender_id'] = '';
$_SESSION['tot_kalender_id'] = '';
$_SESSION['contracturen'] = '';
$_SESSION['klantnaam'] = '';
$_SESSION['bedrijfsonderdeel'] = '';
$_SESSION['contactpersoon'] = '';
$_SESSION['factuuradres'] = '';
$_SESSION['tussenpartij'] = '';
$_SESSION['activiteiten'] = '';
$_SESSION['factuurreferentie'] = '';
$_SESSION['procuratiehouder'] = '';
}
/********************************
* Function UpdateProjectDB *
********************************/
function UpdateProjectDB($db) {
if(!$_SESSION['uurtarief'] > 0) {
$_SESSION['uurtarief'] = 0;
}
if(!$_SESSION['contracturen'] > 0) {
$_SESSION['contracturen'] = 0;
}
$sql = 'update uur_projecten set
project_naam = \''.$_SESSION['project_naam'].'\'
, project_code = \''.$_SESSION['project_code'].'\'
, project_annotatie = \''.$_SESSION['project_annotatie'].'\'
, gebruikers_id = '.$_SESSION['gebruikers_id'].'
, project_type_id = '.$_SESSION['project_type_id'].'
, van_kalender_id = '.$_SESSION['van_kalender_id'].'
, tot_kalender_id = '.$_SESSION['tot_kalender_id'].'
, uurtarief = round(replace(\''.$_SESSION['uurtarief'].'\', \',\', \'.\'),2)
, contracturen = round(replace(\''.$_SESSION['contracturen'].'\', \',\', \'.\'),2)
, klantnaam = \''.$_SESSION['klantnaam'].'\'
, bedrijfsonderdeel = \''.$_SESSION['bedrijfsonderdeel'].'\'
, contactpersoon = \''.$_SESSION['contactpersoon'].'\'
, factuuradres = \''.$_SESSION['factuuradres'].'\'
, tussenpartij = \''.$_SESSION['tussenpartij'].'\'
, activiteiten = \''.$_SESSION['activiteiten'].'\'
, factuurreferentie = \''.$_SESSION['factuurreferentie'].'\'
, procuratiehouder = \''.$_SESSION['procuratiehouder'].'\'
where
project_id = '.$_SESSION['project_id'];
//echo $sql; die();
ExecuteQuery($sql, $db);
//unset all variables
$_SESSION['project_naam'] = '';
$_SESSION['project_code'] = '';
$_SESSION['project_annotatie'] = '';
$_SESSION['uurtarief'] = '';
$_SESSION['gebruikers_id'] = '';
$_SESSION['project_type_id'] = '';
$_SESSION['van_kalender_id'] = '';
$_SESSION['tot_kalender_id'] = '';
$_SESSION['project_id'] = '';
$_SESSION['contracturen'] = '';
$_SESSION['klantnaam'] = '';
$_SESSION['bedrijfsonderdeel'] = '';
$_SESSION['contactpersoon'] = '';
$_SESSION['factuuradres'] = '';
$_SESSION['tussenpartij'] = '';
$_SESSION['activiteiten'] = '';
$_SESSION['factuurreferentie'] = '';
$_SESSION['procuratiehouder'] = '';
$_SESSION['feedback'] = 'Projectgegevens zijn aangepast';
}
/********************************
* Function ReverseReleaseDB *
********************************/
function ReverseReleaseDB($db) {
if(array_key_exists('gebruikers_id', $_SESSION) and array_key_exists('reverse_release', $_SESSION)) {
$sql = 'update uur_maandstaat
set released=\'N\'
where gebruikers_id = '.$_SESSION[gebruikers_id].'
and kalender_id in (select kalender_id from uur_kalender where jaarmaand = \''.$_SESSION[reverse_release].'\')';
ExecuteQuery($sql, $db);
$_SESSION['feedback'] = 'Timesheet is vrijgegeven';
}
else {
$_SESSION['feedback'] = 'Er ging iets fout, geen actie ondernomen';
}
}
/********************************
* Function TimesheetDB *
********************************/
function TimesheetDB($db) {
//1. cycle door de $_SESSIONS en pak alleen de 'u-' session eruit
foreach($_SESSION as $key => $value) {
$value = str_replace(',','.',$value);
if (substr($key,0,2) == 'u-' and is_numeric($value) and $value>=0) {
$keys = explode('-',$key);
//2. test of de waarde bestaat, zo ja --> update, zo nee --> insert
if($value==0) {
$sql = 'delete from uur_maandstaat
where project_id = '.$keys[2].'
and gebruikers_id = '.$keys[3].'
and kalender_id = '.$keys[1];
ExecuteQuery($sql, $db);
}
else {
if(array_key_exists('release', $_SESSION)) {
$sql = 'INSERT INTO uur_maandstaat (project_id,gebruikers_id,kalender_id,aantal_uur, released)
VALUES ('.$keys[2].','.$keys[3].','.$keys[1].',round('.$value.',2), \'J\')
ON DUPLICATE KEY UPDATE aantal_uur='.$value.', released=\'J\'';
}
else {
$sql = 'INSERT INTO uur_maandstaat (project_id,gebruikers_id,kalender_id,aantal_uur)
VALUES ('.$keys[2].','.$keys[3].','.$keys[1].',round('.$value.',2))
ON DUPLICATE KEY UPDATE aantal_uur=round('.$value.',2)';
}
ExecuteQuery($sql, $db);
}
};
}
$_SESSION['feedback'] = 'Timesheet is opgeslagen';
}
/********************************
* Function VakantieSaldoDB *
********************************/
function VakantieSaldoDB($db) {
//1. cycle door de $_SESSIONS en pak alleen de 'saldo_dagen' session eruit
foreach($_SESSION as $key => $value) {
$value = str_replace(',','.',$value);
if (substr($key,0,11) == 'saldo_dagen' and is_numeric($value) and $value>=0) {
$keys = explode('-',$key);
//2. test of de waarde bestaat, zo ja --> update, zo nee --> insert
if($value==0 and array_key_exists('opslaan_vakantiedagen', $_SESSION)) {
$sql = 'delete from uur_saldo_vakantie
where gebruikers_id = '.$keys[1];
ExecuteQuery($sql, $db);
}
else {
$sql = 'INSERT INTO uur_saldo_vakantie (gebruikers_id,jaar,saldo_dagen)
VALUES ('.$keys[1].','.$keys[2].', round(replace(\''.$value.'\', \',\', \'.\'),2))
ON DUPLICATE KEY UPDATE saldo_dagen=round(replace(\''.$value.'\', \',\', \'.\'),2)';
ExecuteQuery($sql, $db);
$_SESSION['feedback'] = 'Vakantiedagen saldo is opgeslagen';
}
}
}
}
?>