HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/MDalebout/clupconsultants.nl/wwwroot/timesheet/functions_interface.php
<?php

/*==============================================
  = PART 1 : Automated fills
  ==============================================*/

/***************************************************************************
 * Function CheckSetup                                                     *
 * Controleer of de referentietabellen van de applicatie al gevuld zijn    *
 ***************************************************************************/
function CheckSetup($db) {
    $sql = 'select count(1) as aantal from uur_interface_menu';
    $rows = ReturnData($sql, $db);
    foreach($rows as $row) {
        if ($row['aantal'] == 0) {
            FillInterfaceMenu($db);        
            FillProjectType($db);
            }
        }
    FillKalender($db);
    }
    



/***************************************************************************
 * Function CheckUser                                                      *
 * Controleer of er een gebruiker is ingelogd                              *
 ***************************************************************************/
function CheckUser($db) {
    // check of er al user bestaan, zo niet, redirect
    $sql = 'select count(1) as aantal from uur_gebruikers';
    $rows = ReturnData($sql, $db);
    foreach($rows as $row) {
        if ($row['aantal'] == 0) {
            $_SESSION['feedback'] = 'Er bestaan nog geen gebruikers, maak er &#233;&#233;n aan';
            $_SESSION['menu_section'] = 'sub';
            $_SESSION['menu_categorie'] = 'management';
            $_SESSION['action'] = 'gebruiker_toevoegen';
            
            $page = AddUser($db);
            }
        else {
            $_SESSION['menu_section'] = 'hoofd';
            $_SESSION['menu_categorie'] = 'inloggen';
            $_SESSION['action'] = 'inloggen';
            $page = Inloggen($db);
            }
        }
    
    return $page;
    }



/********************************
 * Function GetUser           *
 ********************************/
function GetUser($db) {
    if($_SESSION['current_user_id']>0) {
        $sql = 'select gebruikers_naam, bedrijf_id from uur_gebruikers where gebruikers_id = '.$_SESSION['current_user_id'];
        $rows = ReturnData($sql, $db);
        foreach($rows as $row) {
            $_SESSION['current_user_name'] = $row['gebruikers_naam'];
            // Haal het id op van het bedrijf waartoe de user behoort.
            $_SESSION['gebruiker_bedrijf_id'] = $row['bedrijf_id'];
            }
        }
    }
    


/***************************************************************************
 * Function StandardInputFields                                            *
 * Toevoegen van standaard sessie variabelen aan een FORM                  *
 ***************************************************************************/
 function StandardInputFields() {
    if(array_key_exists('menu_categorie', $_SESSION)) { $menu_categorie = $_SESSION['menu_categorie']; }
    else { $menu_categorie = ''; }
    
    if(array_key_exists('feedback', $_SESSION)) { $feedback = $_SESSION['feedback']; }
    else { $feedback = ''; }
    
    if(array_key_exists('action', $_SESSION)) { $action = $_SESSION['action']; }
    else { $action = ''; }
    
    if(array_key_exists('current_user_id', $_SESSION)) { $current_user_id = $_SESSION['current_user_id']; }
    else { $current_user_id = ''; }
    
    if(array_key_exists('current_user_name', $_SESSION)) { $current_user_name = $_SESSION['current_user_name']; }
    else { $current_user_name = ''; }
    
    if(array_key_exists('month', $_SESSION)) { $month = $_SESSION['month']; }
    else { $month = ''; }
    
    if(array_key_exists('gebruiker_bedrijf_id', $_SESSION)) { $gebruiker_bedrijf_id = $_SESSION['gebruiker_bedrijf_id']; }
    else { $gebruiker_bedrijf_id = ''; }
    
    $s = '<input type="hidden" name="menu_categorie" value="'.$menu_categorie.'" />'."\n";
    $s.= '<input type="hidden" name="feedback" value="'.$feedback.'" />'."\n";
    $s.= '<input type="hidden" name="action" value="'.$action.'" />'."\n";
    $s.= '<input type="hidden" name="current_user_id" value="'.$current_user_id.'" />'."\n";
    $s.= '<input type="hidden" name="current_user_name" value="'.$current_user_name.'" />'."\n";
    $s.= '<input type="hidden" name="month" value="'.$month.'" />'."\n";
    $s.= '<input type="hidden" name="gebruiker_bedrijf_id" value="'.$gebruiker_bedrijf_id.'" />'."\n";
    
    return $s;
    }




/*==============================================
  = PART 2 : Interface functions
  ==============================================*/

/********************************
 * Function ManagementMenu      *
 ********************************/
function ManagementMenu($menu_sectie, $menu_categorie, $menu_action, $db) {
     if($menu_sectie == 'hoofd') {
        $sql = 'select      menu_action
                ,           menu_display
                from        uur_interface_menu
                where       menu_sectie = \'hoofd\'
                order by    menu_sortorder
                ';
        $vergelijk = $menu_categorie;
        }
    elseif($menu_sectie == 'sub') {
        $sql = 'select      menu_action
                ,           menu_display
                from        uur_interface_menu
                where       menu_sectie = \'sub\'
                and         menu_categorie = \''.$menu_categorie.'\'
                order by    menu_sortorder
                ';
        $vergelijk = $menu_action;
        }
    
    $rows = ReturnData($sql, $db);
    $s = '';
    if(!empty($rows)) {
        $s = '<ul>'."\n";
        foreach($rows as $row) {
            if($vergelijk == $row['menu_action']) {
                $bs = '<strong>';
                $be = '</strong>';
                }
            else {
                $bs = '';
                $be = '';
                }
            
            $s.= "\t\t".'<li>'.$bs.'<a href="index.php?action='.$row['menu_action'].'">'.$row['menu_display'].'</a>'.$be.'</li>'."\n";
            }
        $s.= '</ul>'."\n";
        }
    
    return $s;
    }



/********************************
 * Function AddUser             *
 ********************************/
function AddUser($db) {
    if(array_key_exists('gebruikers_naam', $_SESSION)) {
        $gebruikers_naam = $_SESSION['gebruikers_naam'];
        }
    else {
        $gebruikers_naam = '';
        }
    
    if(array_key_exists('gebruikers_inlog', $_SESSION)) {
        $gebruikers_inlog = $_SESSION['gebruikers_inlog'];
        }
    else {
        $gebruikers_inlog = '';
        }
    
    if(array_key_exists('gebruikers_fte', $_SESSION)) {
        $gebruikers_fte = $_SESSION['gebruikers_fte'];
        }
    else {
        $gebruikers_fte = '';
        }
    
    if(array_key_exists('bedrijf_id', $_SESSION)) {
        $bedrijf_id = $_SESSION['bedrijf_id'];
        }
    else {
        $bedrijf_id = '';
        }
    
    
    $s = '<div id="MenuInputForm">'."\n";
    $s.= '<p><label for="gebruikers_naam">Naam gebruiker: </label>';
    $s.= '<input type="text" name="gebruikers_naam" id="gebruikers_naam" value="'.$gebruikers_naam.'" /></p>'."\n";
    $s.= '<p><label for="gebruikers_inlog">Inlog naam: </label>';
    $s.= '<input type="text" name="gebruikers_inlog" id="gebruikers_inlog" value="'.$gebruikers_inlog.'" /></p>';
    $s.= '<p><label for="gebruikers_fte">Aanstelling (in uur): </label>';
    $s.= '<input type="text" name="gebruikers_fte" id="gebruikers_fte" value="'.$gebruikers_fte.'" /></p>'."\n";
    $s.= '<p><label for="bedrijf_id">Werkzaam bij: </label>'."\n";
    $s.= FormSelectBedrijf($db, 'N', -1, 'bedrijf_id', 'J');
    $s.= "\n".'</p>'."\n";
    $s.= '<p id="submit"><input type="submit" class="submitbutton" value="Opslaan" /></p>'."\n";
    $s.= StandardInputFields();
    $s.= '</div>'."\n";
    
    return $s;
    }



/********************************
 * Function UpdateUser          *
 ********************************/
function UpdateUser($db) {
    $sql = 'select gebruikers_id, gebruikers_inlog, gebruikers_naam, gebruikers_actief, gebruikers_fte, bedrijf_id from uur_gebruikers where gebruikers_id = '.$_SESSION['gebruikers_id'];
    $names = ReturnData($sql, $db);
    foreach($names as $name) {
        $s = '<div id="MenuInputForm">'."\n";
        $s.= '<p><label for="gebruikers_naam">Naam gebruiker: </label>';
        $s.= '<input type="text" name="gebruikers_naam" id="gebruikers_naam" value="'.$name['gebruikers_naam'].'" /></p>'."\n";
        $s.= '<p><label for="gebruikers_inlog">Inlog naam: </label>';
        $s.= $name['gebruikers_inlog'].'</p>';
        $s.= '<input type="hidden" name="gebruikers_inlog" value="'.$name['gebruikers_inlog'].'" />'."\n";
        $s.= '<input type="hidden" name="gebruikers_id" value="'.$name['gebruikers_id'].'" />'."\n";
        $s.= '<p><label for="gebruikers_fte">Aanstelling (in uur): </label>';
        $s.= '<input type="text" name="gebruikers_fte" id="gebruikers_fte" value="'.$name['gebruikers_fte'].'" /></p>'."\n";
        $s.= '<p><label for="bedrijf_id">Werkzaam bij: </label>'."\n";
        $s.= FormSelectBedrijf($db, 'N', $name['bedrijf_id'], 'bedrijf_id', 'J');
        $s.= "\n".'</p>'."\n";
        $s.= '<p><label for="gebruikers_actief">Gebruiker actief?:</label>'."\n";
        if ($name['gebruikers_actief']=='J') {
            $s.= '<input type="radio" name="gebruikers_actief" id="gebruikers_actief" checked="checked" value="J" /> Ja'."\n";
            }
        else {
            $s.= '<input type="radio" name="gebruikers_actief" id="gebruikers_actief" value="J" /> Ja'."\n";
            }
        if ($name['gebruikers_actief']=='N') {
            $s.= '<input type="radio" name="gebruikers_actief" id="gebruikers_actief" checked="checked" value="N" /> Nee'."\n";
            }
        else {
            $s.= '<input type="radio" name="gebruikers_actief" id="gebruikers_actief" value="N" /> Nee'."\n";
            }
        $s.= '<p id="submit"><input type="submit" class="submitbutton" value="Opslaan" /></p>'."\n";
        $_SESSION['action'] = 'update_gebruikers';
        $s.= StandardInputFields();
        $_SESSION['action'] = 'gebruiker_wijzigen';
        $s.= '</div>'."\n";
        }
    
    return $s;
    }



/********************************
 * Function GebruikersLijst     *
 ********************************/
function GebruikersLijst($db, $active_only) {
    $s = '<p>Kies een gebruiker</p>'."\n";
    $s.= FormSelectGebruiker($db, 'J', -1, 'gebruikers_id', $active_only);
    $s.= '<p><noscript><input type="submit" class="submitbutton" value="Versturen" /></noscript></p>'."\n";
    $s.= StandardInputFields();
    
    return $s;
    }



/********************************
 * Function AddBedrijf          *
 ********************************/
function AddBedrijf() {    
    $s = '<div id="MenuInputForm">'."\n";
    $s.= '<p><label for="bedrijf_naam">Naam bedrijf: </label>';
    $s.= '<input type="text" name="bedrijf_naam" id="bedrijf_naam" value="'.$bedrijf_naam.'" /></p>'."\n";
    $s.= '<p id="submit"><input type="submit" class="submitbutton" value="Opslaan" /></p>'."\n";
    $s.= StandardInputFields();
    $s.= '</div>'."\n";
    
    return $s;
    }


 
/********************************
 * Function BedrijvenLijst      *
 ********************************/
function BedrijvenLijst($db) {
    $s = '<p>Kies een bedrijf</p>'."\n";
    $s.= FormSelectBedrijf($db, 'J', -1, 'bedrijf_id', 'N');
    $s.= '<p><noscript><input type="submit" class="submitbutton" value="Versturen" /></noscript></p>'."\n";
    $s.= StandardInputFields();
    
    return $s;
    }



/********************************
 * Function UpdateBedrijf       *
 ********************************/
function UpdateBedrijf($db, $bedrijf_id) {
    $sql = 'select  bedrijf_naam
            ,       bedrijf_actief
            from    uur_bedrijf
            where   bedrijf_id = '.$bedrijf_id;
    $rows = ReturnData($sql, $db);
    
    foreach($rows as $row) {
        //fill all project variables
        $bedrijf_naam = $row['bedrijf_naam'];
        $bedrijf_actief = $row['bedrijf_actief'];
        }
    
    $s = '<div id="MenuInputForm">'."\n";
    $s.= '<input type="hidden" name="bedrijf_id" value="'.$bedrijf_id.'" /></p>'."\n";
    $s.= '<p><label for="bedrijf_naam">Naam bedrijf: </label>';
    $s.= '<input type="text" name="bedrijf_naam" id="bedrijf_naam" value="'.$bedrijf_naam.'" /></p>'."\n";
    $s.= '<p><label for="bedrijf_actief">Bedrijf actief?:</label>'."\n";
        if ($bedrijf_actief=='J') {
            $s.= "\t".'<input type="radio" name="bedrijf_actief" id="bedrijf_actief" checked="checked" value="J" /> Ja'."\n";
            }
        else {
            $s.= "\t".'<input type="radio" name="bedrijf_actief" id="bedrijf_actief" value="J" /> Ja'."\n";
            }
        if ($bedrijf_actief=='N') {
            $s.= "\t".'<input type="radio" name="bedrijf_actief" id="bedrijf_actief" checked="checked" value="N" /> Nee'."\n";
            }
        else {
            $s.= "\t".'<input type="radio" name="bedrijf_actief" id="bedrijf_actief" value="N" /> Nee'."\n";
            }
    $s.= '</label>'."\n";
    $s.= '<p id="submit"><input type="submit" class="submitbutton" value="Opslaan" /></p>'."\n";
    $_SESSION['action'] = 'update_bedrijf';
    $s.= StandardInputFields();
    $s.= '</div>'."\n";
    
    return $s;
    }



/********************************
 * Function ReverseRelease      *
 ********************************/
function ReverseRelease($db) {
    $sql2 = 'select gebruikers_naam from uur_gebruikers where gebruikers_id = '.$_SESSION['gebruikers_id'];
    
    $users = ReturnData($sql2, $db);
    
   foreach($users as $user) { $usernaam = $user[gebruikers_naam]; }
    
    
    $sql = 'select gebruikers_id, gebruikers_inlog, gebruikers_naam, gebruikers_actief, gebruikers_fte, bedrijf_id from uur_gebruikers where gebruikers_id = '.$_SESSION['gebruikers_id'];
    $sql = 'select		k.jaarmaand
			,			k.maandnaam
			from		uur_maandstaat m
			inner join	uur_kalender k
				on		m.kalender_id = k.kalender_id
			where		m.gebruikers_id = '.$_SESSION['gebruikers_id'].'
			and			m.released=\'J\'
			group by	k.jaarmaand
			,			k.maandnaam
			order by	k.jaarmaand desc
			limit 12	
    		';
    $timesheets = ReturnData($sql, $db);
    
    $s = '<div id="MenuInputForm">'."\n";
    $s.= '<p>Laatste 12 gereleaste timesheets van '. $usernaam.':</p>';
    $s.= '<p>';
    foreach($timesheets as $timesheet) {
        
        $s.= '<input type="radio" name="reverse_release" id="reverse_release_'.$timesheet[jaarmaand].'" value="'.$timesheet[jaarmaand].'" /><label for="reverse_release_'.$timesheet[jaarmaand].'" class="left"> '.$timesheet[maandnaam].'</label><br />'."\n";
        
        }
        $s.='</p>'."\n";
        $s.= '<p id="submit"><input type="submit" class="submitbutton" value="Opslaan" /></p>'."\n";
        $s.= '</div>'."\n";
        $_SESSION['action'] = 'reverse_release_month';
        $s.= StandardInputFields();
        $s.= '<input type="hidden" name="gebruikers_id" value="'.$_SESSION['gebruikers_id'].'" />'."\n";
    
    return $s;
    }



/********************************
 * Function Inloggen            *
 ********************************/
function Inloggen($db) {
    $s = '<div id="MenuInputForm">'."\n";
    $s.= '<p>Meld aan:</p>'."\n";
    $s.= FormSelectGebruiker($db, 'J', -1, 'current_user_id', 'J');
    $s.= '<input type="hidden" name="menu_categorie" value="'.$_SESSION['menu_categorie'].'" />'."\n";
    $s.= '<input type="hidden" name="action" value="'.$_SESSION['action'].'" />'."\n";
    $s.= '<p><noscript><input type="submit" class="submitbutton" value="Versturen" /></noscript></p>'."\n";
    $s.= '</div>'."\n";
    
    return $s;
    }




/********************************
 * Function Project             *
 ********************************/
 function Project($db, $action, $menu) {
    if(array_key_exists('project_id', $_SESSION)) { $project_id = $_SESSION['project_id'];}
    else {$project_id = '';}
    
    if(array_key_exists('project_naam', $_SESSION)) { $project_naam = $_SESSION['project_naam'];}
    else {$project_naam = '';}
    
    if(array_key_exists('project_code', $_SESSION)) { $project_code = $_SESSION['project_code'];}
    else {$project_code = '';}
    
    if(array_key_exists('uurtarief', $_SESSION)) { $uurtarief = $_SESSION['uurtarief'];}
    else {$uurtarief = '';}
    
    if(array_key_exists('project_type_id', $_SESSION)) { $project_type_id = $_SESSION['project_type_id'];}
    else {$project_type_id = '';}
    
    if(array_key_exists('van_kalender_id', $_SESSION)) { $van_kalender_id = $_SESSION['van_kalender_id'];}
    else {$van_kalender_id = '';}
    
    if(array_key_exists('tot_kalender_id', $_SESSION)) { $tot_kalender_id = $_SESSION['tot_kalender_id'];}
    else {$tot_kalender_id = '';}
    
    if(array_key_exists('project_annotatie', $_SESSION)) { $project_annotatie = $_SESSION['project_annotatie'];}
    else {$project_annotatie = '';}
    
    if(array_key_exists('contracturen', $_SESSION)) { $contracturen = $_SESSION['contracturen'];}
    else {$contracturen = '';}
    
    if(array_key_exists('klantnaam', $_SESSION)) { $klantnaam = $_SESSION['klantnaam'];}
    else {$klantnaam = '';}
    
    if(array_key_exists('bedrijfsonderdeel', $_SESSION)) { $bedrijfsonderdeel = $_SESSION['bedrijfsonderdeel'];}
    else {$bedrijfsonderdeel = '';}
    
    if(array_key_exists('contactpersoon', $_SESSION)) { $contactpersoon = $_SESSION['contactpersoon'];}
    else {$contactpersoon = '';}
    
    if(array_key_exists('factuuradres', $_SESSION)) { $factuuradres = $_SESSION['factuuradres'];}
    else {$factuuradres = '';}
    
    if(array_key_exists('tussenpartij', $_SESSION)) { $tussenpartij = $_SESSION['tussenpartij'];}
    else {$tussenpartij = '';}
    
    if(array_key_exists('activiteiten', $_SESSION)) { $activiteiten = $_SESSION['activiteiten'];}
    else {$activiteiten = '';}
    
    if(array_key_exists('factuurreferentie', $_SESSION)) { $factuurreferentie = $_SESSION['factuurreferentie'];}
    else {$factuurreferentie = '';}
    
    if(array_key_exists('procuratiehouder', $_SESSION)) { $procuratiehouder = $_SESSION['procuratiehouder'];}
    else {$procuratiehouder = '';}
 
    $s = '<div id="MenuInputForm">'."\n";
    $s.= '<fieldset>'."\n";
    $s.= '<legend>Projectgegevens</legend>'."\n";
    $s.= '<input type="hidden" name="project_id" value="'.$project_id.'" /></p>'."\n";
    $s.= '<p><label for="project_naam">Naam project: </label>';
    $s.= '<input type="text" name="project_naam" id="project_naam" value="'.$project_naam.'" /></p>'."\n";
    $s.= '<p><label for="project_code">Project code: </label>';
    $s.= '<input type="text" name="project_code" id="project_code" value="'.$project_code.'" /></p>';
    $s.= '<p id="p_uurtarief"><label for="uurtarief">Uurtarief: </label>';
    $s.= '<input type="text" name="uurtarief" id="uurtarief" value="'.$uurtarief.'" /> Euro</p>';
    $s.= '<p id="p_contracturen"><label for="contracturen">Contract: </label>';
    $s.= '<input type="text" name="contracturen" id="contracturen" value="'.$contracturen.'" /> uur per week</p>'; 
    $s.= '<p><label for="gebruikers_id">Gebruiker: </label>'."\n";
    
    if (array_key_exists('gebruikers_id', $_SESSION)) {
        $user_id = $_SESSION['gebruikers_id'];
        }
    else {
        $user_id = $_SESSION['current_user_id'];
        }
    $s.= FormSelectGebruiker($db, 'N', $user_id, 'gebruikers_id', 'N');
    $s.= '<p><label for="project_type_id">Project type: </label>'."\n";
    $s.= FormSelectProjectType($db, $project_type_id);
    $s.= '<p><label for="van_kalender_id">Startdatum: </label>'."\n";
    $s.= FormSelectKalender($db,'van_kalender_id', $van_kalender_id);
    $s.= '<p><label for="tot_kalender_id">Einddatum:</label>'."\n";
    $s.= FormSelectKalender($db,'tot_kalender_id', $tot_kalender_id);
    $s.= '<p><label for="project_annotatie">Extra project gegevens: </label>'."\n";
    $s.= '<textarea name="project_annotatie" id="project_annotatie">'.$project_annotatie.'</textarea></p>'."\n";
    $s.= '</fieldset>'."\n";
    
    $s.= '<fieldset>'."\n";
    $s.= '<legend>Klantgegevens</legend>'."\n";
    $s.= '<p><label for="klantnaam">Naam klant: </label>';
    $s.= '<input type="text" name="klantnaam" id="klantnaam" value="'.$klantnaam.'" /></p>'."\n";
    $s.= '<p><label for="bedrijfsonderdeel">Bedrijfsonderdeel: </label>';
    $s.= '<input type="text" name="bedrijfsonderdeel" id="bedrijfsonderdeel" value="'.$bedrijfsonderdeel.'" /></p>'."\n";
    $s.= '<p><label for="contactpersoon">Contactpersoon: </label>';
    $s.= '<input type="text" name="contactpersoon" id="contactpersoon" value="'.$contactpersoon.'" /></p>'."\n";
    $s.= '<p><label for="tussenpartij">Tussenpartij: </label>';
    $s.= '<input type="text" name="tussenpartij" id="tussenpartij" value="'.$tussenpartij.'" /></p>'."\n";
    $s.= '<p><label for="factuuradres">Factuuradres: </label>';
    $s.= '<input type="text" name="factuuradres" id="factuuradres" value="'.$factuuradres.'" /></p>'."\n";
    $s.= '</fieldset>'."\n";
    
    $s.= '<fieldset>'."\n";
    $s.= '<legend>Factuurgegevens</legend>'."\n";
    $s.= '<p><label for="activiteiten">Werkzaamheden: </label>';
    $s.= '<input type="text" name="activiteiten" id="activiteiten" value="'.$activiteiten.'" /></p>'."\n";
    $s.= '<p><label for="factuurreferentie">Factuurreferentie: </label>';
    $s.= '<input type="text" name="factuurreferentie" id="factuurreferentie" value="'.$factuurreferentie.'" /></p>'."\n";
    $s.= '<p><label for="procuratiehouder">Procuratiehouder: </label>';
    $s.= '<input type="text" name="procuratiehouder" id="procuratiehouder" value="'.$procuratiehouder.'" /></p>'."\n";
    $s.= '</fieldset>'."\n";

    $s.= '<p id="submit"><input type="submit" class="submitbutton" value="Opslaan" /></p>'."\n";
    $_SESSION['action'] = $action;
    $s.= StandardInputFields();
    $_SESSION['action'] = $menu;
    $s.= '</div>'."\n";
    
    return $s;
    }



/********************************
 * Function UnsetProjectData    *
 ********************************/
function UnsetProjectData() {
    if(array_key_exists('project_id', $_SESSION)) { unset($_SESSION['project_id']); }
    
    if(array_key_exists('project_naam', $_SESSION)) { unset($_SESSION['project_naam']); }
    
    if(array_key_exists('project_code', $_SESSION)) { unset($_SESSION['project_code']);}
    
    if(array_key_exists('uurtarief', $_SESSION)) { unset($_SESSION['uurtarief']);}
    
    if(array_key_exists('project_type_id', $_SESSION)) { unset($_SESSION['project_type_id']);}
    
    if(array_key_exists('van_kalender_id', $_SESSION)) { unset($_SESSION['van_kalender_id']);}
    
    if(array_key_exists('tot_kalender_id', $_SESSION)) { unset($_SESSION['tot_kalender_id']);}
    
    if(array_key_exists('project_annotatie', $_SESSION)) { unset($_SESSION['project_annotatie']);}
    
    if(array_key_exists('contracturen', $_SESSION)) { unset($_SESSION['contracturen']); }
    
    if(array_key_exists('klantnaam', $_SESSION)) { unset($_SESSION['klantnaam']); }
    
    if(array_key_exists('bedrijfsonderdeel', $_SESSION)) { unset($_SESSION['bedrijfsonderdeel']); }
    
    if(array_key_exists('contactpersoon', $_SESSION)) { unset($_SESSION['contactpersoon']); }
    
    if(array_key_exists('factuuradres', $_SESSION)) { unset($_SESSION['factuuradres']); }
    
    if(array_key_exists('tussenpartij', $_SESSION)) { unset($_SESSION['tussenpartij']); }
    
    if(array_key_exists('activiteiten', $_SESSION)) { unset($_SESSION['activiteiten']); }
    
    if(array_key_exists('factuurreferentie', $_SESSION)) { unset($_SESSION['factuurreferentie']); }
    
    if(array_key_exists('procuratiehouder', $_SESSION)) { unset($_SESSION['procuratiehouder']);}
    
    if(array_key_exists('gebruikers_id', $_SESSION)) { unset($_SESSION['gebruikers_id']);}

    }



/********************************
 * Function ProjectLijst        *
 ********************************/
function ProjectLijst($db) {
    $s = '<div id="MenuInputForm">'."\n";
    $s.= '<p>Selecteer het project dat gewijzigd moet worden.<br />Gegroepeerd op persoon, gesorteerd op afloopdatum project.</p>';
    $sql1 = 'select gebruikers_id, gebruikers_naam from uur_gebruikers where gebruikers_actief = \'J\' order by gebruikers_inlog';

    
    if(array_key_exists('oudeprojecten', $_SESSION)) {
    	$checked = ' checked="checked"';
    	$kalenderjoin = '';
    	}
    else {
    	$checked='';
    	$kalenderjoin = 'inner join	uur_kalender k on p.tot_kalender_id = k.kalender_id and k.datum >= \''.date('Y-m-d').'\'';
    	}
    
    $s .= '<p><input type="checkbox" name="oudeprojecten" id="release"'.$checked.' onClick="document.page.submit()" /><label for="oudeprojecten">Afgesloten projecten aan</label></p>';
    $rows1 = ReturnData($sql1, $db);
    $s.= '<select name="project_id" OnChange ="document.page.submit()">'."\n";
    $s.= '<option value="0">[maak een keuze:]</option>'."\n";
    foreach($rows1 as $row1) {
        $s.= "\t".'<optgroup label="'.$row1['gebruikers_naam'].'">'."\n";
        $sql2 = 'select		p.project_id
                ,       	p.project_naam
                from    	uur_projecten p
                '.$kalenderjoin.'
                where   	p.gebruikers_id = '.$row1['gebruikers_id'].'
                and     	p.project_code not in (\'VAK\',\'ZIEK\')
                order by 	p.tot_kalender_id desc
                ';
//echo $sql2; die();
        $rows2 = ReturnData($sql2, $db);
        foreach($rows2 as $row2) {
            $s .= "\t\t".'<option value="'.$row2['project_id'].'">'.$row2['project_naam'].'</option>'."\n";
            }
        $s.= "\t".'</optgroup>'."\n";
        }
    
    $s.= '</select>'."\n";
    $s.= '<p><noscript><input type="submit" class="submitbutton" value="Versturen" /></noscript></p>'."\n";
    $s.= '</div>'."\n";
    
    $s.= StandardInputFields();
    return $s;
    }



/********************************
 * Function GetProject          *
 ********************************/
function GetProject($db, $project_id) {
    $sql = 'select  project_code
            ,       project_naam
            ,       project_annotatie
            ,       gebruikers_id
            ,       project_type_id
            ,       van_kalender_id
            ,       tot_kalender_id
            ,       uurtarief
            ,       contracturen
            ,       klantnaam
            ,       bedrijfsonderdeel
            ,       contactpersoon
            ,       factuuradres
            ,       tussenpartij
            ,       activiteiten
            ,       factuurreferentie
            ,       procuratiehouder
            from    uur_projecten
            where   project_id = '.$project_id;
    $rows = ReturnData($sql, $db);
    
    foreach($rows as $row) {
        //fill all project variables
        $_SESSION['project_naam'] = $row['project_naam'];
        $_SESSION['project_code'] = $row['project_code'];
        $_SESSION['project_annotatie'] = $row['project_annotatie'];
        $_SESSION['uurtarief'] = $row['uurtarief'];
        $_SESSION['gebruikers_id'] = $row['gebruikers_id'];
        $_SESSION['project_type_id'] = $row['project_type_id'];
        $_SESSION['van_kalender_id'] = $row['van_kalender_id'];
        $_SESSION['tot_kalender_id'] = $row['tot_kalender_id'];
        $_SESSION['contracturen'] = $row['contracturen'];
        $_SESSION['klantnaam'] = $row['klantnaam'];
        $_SESSION['bedrijfsonderdeel'] = $row['bedrijfsonderdeel'];
        $_SESSION['contactpersoon'] = $row['contactpersoon'];
        $_SESSION['factuuradres'] = $row['factuuradres'];
        $_SESSION['tussenpartij'] = $row['tussenpartij'];
        $_SESSION['activiteiten'] = $row['activiteiten'];
        $_SESSION['factuurreferentie'] = $row['factuurreferentie'];
        $_SESSION['procuratiehouder'] = $row['procuratiehouder'];
        }
    
    }




/********************************
 * Function GetTimesheet        *
 ********************************/
function GetTimesheet($db, $current_user_id, $month) {
    SetLanguage($db);
// SQL gedeelte
    // dagen van de gekozen maand
    $sql_header = 'select	day(datum) as dag
                   ,        dayofweek(datum) as weekdag
                   ,        date_format(datum, \'%a\') as dagvdweek
                   ,        kalender_id
                   ,        feestdag
                   from     uur_kalender
                   where	year(datum)*100+month(datum) = '.$month.'
                   order by datum
                   ';
    
    // alle projecten voor de gebruiker in die maand 
    $sql_projecten = 'select 	project_id
                      ,         project_naam 
                      from 	    uur_v_project_kalender
                      where	    gebruikers_id = '.$current_user_id.'
                      and		maand = '.$month.'
                      group by	project_id
                    ';
    
    // Ziekte en vakantie
    $sql_vak = 'select  project_id
                ,       project_naam
                from    uur_projecten
                where   gebruikers_id = '.$current_user_id.'
                and     project_code in (\'VAK\', \'ZIEK\')'
                ;
                
    
// GET DATA
    $rows_header = ReturnData($sql_header, $db);
    $rows_projecten = ReturnData($sql_projecten, $db);
    $rows_vak = ReturnData($sql_vak, $db);
    
        
    $s = '<table id="timesheet">'."\n";
// ROWS MET DAG VD MAAND
    $s.= '<tr>'."\n";
    $s.= "\t".'<th></th>'."\n";
    $j = 0;
    foreach($rows_header as $row_header) {
        if(($row_header['weekdag'] == 1 or $row_header['weekdag'] == 7) and $row_header['feestdag'] != 'J') {
            $s.= "\t".'<th class="weekend dagvdweek">'.$row_header['dagvdweek'].'</th>'."\n";
            }
        elseif($row_header['feestdag'] == 'J') {
            $s.= "\t".'<th class="feestdag dagvdweek">'.$row_header['dagvdweek'].'</th>'."\n";
            }    
        else {
            $s.= "\t".'<th class="dagvdweek">'.$row_header['dagvdweek'].'</th>'."\n";
            }
        // teller voor de colspan van de laatste tabelrij met de release optie
        $j++;
        }
    $s.= "\t".'<td class="totaal">&nbsp;</td>'."\n"; 
    $s.= "\t".'</tr>'."\n";
    
    $s.= '<tr>'."\n";
    $s.= "\t".'<th></th>'."\n";
    foreach($rows_header as $row_header) {
        if(($row_header['weekdag'] == 1 or $row_header['weekdag'] == 7) and $row_header['feestdag'] != 'J') {
            $s.= "\t".'<th class="weekend">'.$row_header['dag'].'</th>'."\n";
            }
        elseif($row_header['feestdag'] == 'J') {
            $s.= "\t".'<th class="feestdag">'.$row_header['dag'].'</th>'."\n";
            }    
        else {
            $s.= "\t".'<th>'.$row_header['dag'].'</th>'."\n";
            }
        }
    $s.= "\t".'<td class="totaalh">totaal</td>'."\n"; 
    $s.= "\t".'</tr>'."\n";


//ROWS PER PROJECT, EERSTE LOOP: projecten, TWEEDE LOOP: datum per project
    $i=1;
    $k=0;
    foreach($rows_projecten as $row_projecten) {
        $sql_uren = 'select 	kal.kalender_id
                    ,           dayofweek(kal.datum) as weekdag
                    ,           kal.feestdag
                    ,			case 
                                    when kal.kalender_id = proj.kalender_id
                                    then \'J\'
                                    else \'N\'
                                end as geldig_op_datum
                    ,           uur.aantal_uur
                    ,           uur.released
                    from		uur_kalender kal
                    left join	uur_v_project_kalender proj
                        on		kal.kalender_id = proj.kalender_id
                        and		proj.project_id = '.$row_projecten['project_id'].'
                        and		proj.gebruikers_id = '.$current_user_id.'
                        and		proj.maand = '.$month.'
                    left join   uur_maandstaat uur
                        on      uur.project_id = '.$row_projecten['project_id'].'
                        and     uur.kalender_id = kal.kalender_id
                        and     uur.gebruikers_id = '.$current_user_id.'
                    where		year(kal.datum)*100+month(kal.datum) = '.$month.'
                    order by	kal.datum';       
     
        $s.= '<tr>'."\n";
        $s.='<td class="projecten"><a href="pdf.php?project='.$row_projecten['project_id'].'">'.$row_projecten['project_naam'].'</a></td>'."\n";
        
        $rows_uren = ReturnData($sql_uren, $db);
        
        //zet totaal project_uren op 0;
        $p_uren = 0;
        foreach($rows_uren as $row_uren) {
            if(($row_uren['weekdag'] == 1 or $row_uren['weekdag'] == 7) and $row_uren['feestdag'] != 'J') {
                $s.= "\t".'<td class="weekend">';
                }
            elseif($row_uren['feestdag'] == 'J') {
                $s.= "\t".'<td class="feestdag">';
                }
            else {
                $s.= "\t".'<td>';
                }
                
            if($row_uren['geldig_op_datum'] == 'J') {
                $s.= '<input type="text" size="2" name="u-'.$row_uren['kalender_id'].'-'.$row_projecten['project_id'].'-'.$current_user_id.'" value="'.$row_uren['aantal_uur'].'" tabindex="'.$i.'" />';
                // totaal aantal uren per project;
                $p_uren = $p_uren + $row_uren['aantal_uur'];
                }
            else {
                $s.= '&nbsp;';
                }
                
            $s.= '</td>'."\n";
            $i++;
            
            //teller om te bepalen of er uren gereleased zijn
            if($row_uren['released'] == 'J') {
                $k++;
                }
            
            }
        $s.= "\t".'<td class="totaal"><input type="text" value="'.$p_uren.'" /></td>'."\n";
        $s.= "\t".'</tr>'."\n";
        }

// ZIEKTE EN VAKANTIEUREN
    foreach($rows_vak as $row_vak) {
        $sql_uren = 'select		kal.kalender_id
                    ,           dayofweek(kal.datum) as weekdag
                    ,           kal.feestdag
                    ,           uur.aantal_uur
                    from		uur_kalender kal
                    left join	uur_maandstaat uur
                        on		uur.project_id = '.$row_vak['project_id'].'
                        and		uur.gebruikers_id = '.$current_user_id.'
                        and     kal.kalender_id = uur.kalender_id
                    where		year(kal.datum)*100+month(kal.datum) = '.$month.'
        ';
        
        $s.= '<tr class="vakantie">'."\n";
        $s.='<td class="projecten">'.$row_vak['project_naam'].'</td>'."\n";
             
        $rows_uren = ReturnData($sql_uren, $db);
        
        //zet totaal project_uren op 0;
        $p_uren = 0;
        foreach($rows_uren as $row_uren) {
            if(($row_uren['weekdag'] == 1 or $row_uren['weekdag'] == 7) and $row_uren['feestdag'] != 'J') {
                $s.= "\t".'<td class="weekend">';
                }
            elseif($row_uren['feestdag'] == 'J') {
                $s.= "\t".'<td class="feestdag">';
                }
            else {
                $s.= "\t".'<td>';
                }
            
            $s.= '<input type="text" size="2" name="u-'.$row_uren['kalender_id'].'-'.$row_vak['project_id'].'-'.$current_user_id.'" value="'.$row_uren['aantal_uur'].'" tabindex="'.$i.'" />';
            // totaal aantal uren per project;
            $p_uren = $p_uren + $row_uren['aantal_uur'];
            $s.= '</td>'."\n";
            $i++;
            }
        
        $s.= "\t".'<td class="totaal"><input type="text" value="'.$p_uren.'" /></td>'."\n";
        $s.= "\t".'</tr>'."\n";
        }
    
    // Regel met de release optie van de timesheet
    if ($k > 0 ) {
        $s.= '<tr><td colspan="'.($j+2).'" class="release">Timesheet is vrijgegeven voor facturatie</td></tr>'."\n";
        }
    else {
        $s.= '<tr><td colspan="'.($j+2).'" class="release"><input type="checkbox" name="release" id="release" onClick="alert(\'Je hebt de releasebox aan- of uitgezet!\')" /><label for="release">Geef timesheet vrij voor facturatie</label></td></tr>'."\n";
        }
             
    $s.= '</table>'."\n";
    
    $s.= StandardInputFields();
    if($k==0) {
        $s.= '<p class="c"><input type="submit" value="Opslaan" /></p>'."\n";
        }
    
    return $s;
    }



/********************************
 * Function GetMaand            *
 ********************************/
function GetMaand($db, $month) {
    SetLanguage($db);

    $sql = 'select		maand.prv_jaarmaand
            ,			prv_name.maandnaam as prv_maandnaam
            ,			maand.jaarmaand
            ,			maand.maandnaam
            ,			maand.nxt_jaarmaand
            ,			nxt_name.maandnaam as nxt_maandnaam
            from		(
                        select 		max(prv.jaarmaand) as prv_jaarmaand
                        ,			cur.jaarmaand
                        ,			cur.maandnaam
                        ,			min(nxt.jaarmaand) as nxt_jaarmaand
                        from 		uur_v_maanden cur
                        left join		(
                                    select	jaarmaand
                                    from		uur_v_maanden
                                    ) nxt
                            on		nxt.jaarmaand > cur.jaarmaand
                        left join		(
                                    select	jaarmaand
                                    from		uur_v_maanden
                                    ) prv
                            on		prv.jaarmaand < cur.jaarmaand
                        where		cur.jaarmaand = '.$month.'
                        group by		cur.maandnaam
                        ,			cur.jaarmaand
                        ) maand
            left join		uur_v_maanden nxt_name
                on		maand.nxt_jaarmaand = nxt_name.jaarmaand
            left join		uur_v_maanden prv_name
                on		maand.prv_jaarmaand = prv_name.jaarmaand';
    
    $rows = ReturnData($sql, $db);
    
    foreach($rows as $row) {
        $_SESSION['month'] = $row['jaarmaand'];
        $_SESSION['monthname'] = $row['maandnaam'];
        $_SESSION['prevmonth'] = $row['prv_jaarmaand'];
        $_SESSION['prevmonthname'] = $row['prv_maandnaam'];
        $_SESSION['nextmonth'] = $row['nxt_jaarmaand'];
        $_SESSION['nextmonthname'] = $row['nxt_maandnaam'];
        }
    
    $s = '<div id="maand">'."\n";
    if(is_numeric($_SESSION['prevmonth'])) {
        $s.= "\t".'<a href="index.php?action=prevmonth">&#171; '.$_SESSION['prevmonthname'].'</a> | '."\n";
        }
    $s.= "\t".'<strong>'.$_SESSION['monthname'].'</strong>'."\n";
    if(is_numeric($_SESSION['nextmonth'])) {
        $s.= "\t".' | <a href="index.php?action=nextmonth">'.$_SESSION['nextmonthname'].' &#187;</a>'."\n";
        }
    $s.= '</div>'."\n";
    
    return $s;
    }

    

/********************************
 * Function VakantieSaldo        *
 ********************************/
 function VakantieSaldo($db, $rapportage_jaar, $gebruiker_bedrijf_id) {
    
    if($rapportage_jaar === null) {
        $rapportage_jaar = date('Y');
        }
    
    $sql = '
        select      g.gebruikers_id
        ,           g.gebruikers_naam
        ,           vs.jaar
        ,           vs.saldo_dagen
        from        uur_gebruikers g 
        left join   uur_saldo_vakantie vs
            on      vs.gebruikers_id = g.gebruikers_id
            and     vs.jaar = \''.$rapportage_jaar.'\'
        where		g.bedrijf_id='.$gebruiker_bedrijf_id.'
        order by    g.gebruikers_naam
        ';
    
    $rows = ReturnData($sql, $db);
    
    $s  = '<div id="MenuInputForm">'."\n"; 
    $s .= GetRapportageJaar($db, $rapportage_jaar, $_SESSION['action']);
    $s .= '<table id="overzicht">';
    $s .= '<tr><th>Naam</th>'."\n\t".'<th>Aantal vakantiedagen</th></tr>'."\n";
    
    foreach($rows as $row) {
        $s .= '<tr><td>'.$row['gebruikers_naam'].'</td>'."\n";
        $s .= "\t".'<td class="vakantiesaldo"><input type="text" name="saldo_dagen-'.$row['gebruikers_id'].'-'.$rapportage_jaar.'" value="'.$row['saldo_dagen'].'" /></td></tr>'."\n";
        }
    
    $s .= '</table>'."\n\n";
    $s .= '<p id="submit"><input type="submit" name="opslaan_vakantiedagen" value="opslaan" /></p>'."\n";
    $s .= '</div>'."\n";

    
    return $s;
    }





/*==============================================
  = PART 3 : Reusable components
  ==============================================*/


/********************************
 * Function FormSelectGebruiker *
 ********************************/
function FormSelectGebruiker($db, $automatic, $current_user_id, $variabele, $active_only) {
    if($active_only == 'J') {
        $sql = 'select gebruikers_id, gebruikers_naam, gebruikers_inlog from uur_gebruikers where gebruikers_actief = \'J\' order by gebruikers_inlog';
        }
    else {
         $sql = 'select gebruikers_id, gebruikers_naam, gebruikers_inlog from uur_gebruikers order by gebruikers_inlog';
        }
    $rows = ReturnData($sql, $db);
    if($automatic == 'J') {
        $s = '<select name="'.$variabele.'" OnChange ="document.page.submit()">'."\n";
        }
    else {
        $s = '<select name="'.$variabele.'">'."\n";
        }
    $s.= '<option value="0">[maak een keuze:]</option>'."\n";
    foreach($rows as $row) {
        if($row['gebruikers_id'] == $current_user_id) {
            $sel = ' selected="selected"';
            }
        else {
            $sel = '';
            }
        $s.= "\t".'<option value="'.$row['gebruikers_id'].'"'.$sel.'>'.$row['gebruikers_inlog'].' &mdash; '.$row['gebruikers_naam'].'</option>'."\n";
        }
    $s.= '</select>'."\n";
    
    return $s;
    }



/********************************
 * Function FormSelectBedrijf   *
 ********************************/
function FormSelectBedrijf($db, $automatic, $current_bedrijf_id, $variabele, $active_only) {
    if($active_only == 'J') {
        $sql = 'select bedrijf_id, bedrijf_naam from uur_bedrijf where bedrijf_actief = \'J\' order by bedrijf_naam';
        }
    else {
         $sql = 'select bedrijf_id, bedrijf_naam from uur_bedrijf order by bedrijf_naam';
        }

    $rows = ReturnData($sql, $db);
    
    if($automatic == 'J') {
        $s = '<select name="'.$variabele.'" OnChange ="document.page.submit()">'."\n";
        }
    else {
        $s = '<select name="'.$variabele.'">'."\n";
        }
    $s.= '<option value="0">[maak een keuze:]</option>'."\n";
    foreach($rows as $row) {
        if($row['bedrijf_id'] == $current_bedrijf_id) {
            $sel = ' selected="selected"';
            }
        else {
            $sel = '';
            }
        $s.= "\t".'<option value="'.$row['bedrijf_id'].'"'.$sel.'>'.$row['bedrijf_naam'].'</option>'."\n";
        }
    $s.= '</select>'."\n";

    return $s;
    }



/**********************************
 * Function FormSelectProjectType *
 **********************************/
function FormSelectProjectType($db, $project_type_id = NULL) {
    $sql = 'select project_type_id, project_type_naam, project_type_default 
            from uur_project_type 
            where project_type_naam not in (\'VAK\',\'ZIEK\')
            order by project_type_naam';
    $rows = ReturnData($sql, $db);
    
    $s = '<select name="project_type_id">'."\n";
    foreach($rows as $row) {
        if((!$project_type_id and $row['project_type_default'] == 'J') or ($project_type_id == $row['project_type_id'])) {
            $sel = ' selected="selected"';
            }
        else {
            $sel = '';
            }
        $s.= "\t".'<option value="'.$row['project_type_id'].'"'.$sel.'>'.$row['project_type_naam'].'</option>'."\n";
        }
    $s.= '</select>'."\n";
    
    return $s;
    }



/**********************************
 * Function FormSelectKalender *
 **********************************/
 function FormSelectKalender($db,$name, $session_id = null) {
    SetLanguage($db);
    $huidigedatum = date('Y-m-d');
    if($name == 'tot_kalender_id') {
        $hd = date("Y-m-d", strtotime(date("Y-m-d", strtotime($huidigedatum)) . " +1 month"));
        }
    else {
        $hd = $huidigedatum;
        }
    $sql = 'select		maandnaam
    		,			jaarmaand
            from 		uur_kalender
            group by	maandnaam
    		,			jaarmaand
            order by	jaarmaand'
    ;
    $rows = ReturnData($sql, $db);
    
    $s = '<select name="'.$name.'">'."\n";
    foreach($rows as $row) {
        $sql2 = 'select kalender_id, datum 
                 from uur_kalender 
                 where jaarmaand = \''.$row['jaarmaand'].'\''
        ;
        $rows2 = ReturnData($sql2, $db);
        
        $s.= "\t".'<optgroup label="'.$row['maandnaam'].'">'."\n";
        foreach($rows2 as $row2) {
            if((!$session_id and $row2['datum'] == $hd) or ($row2['kalender_id'] == $session_id)) {
                $sel = ' selected="selected"';
                }
            else {
                $sel = '';
                }
            
            $s.= "\t\t".'<option value="'.$row2['kalender_id'].'"'.$sel.'>'.$row2['datum'].'</option>'."\n";
            }
        $s.= "\t".'</optgroup>'."\n";
        }
    $s.= '</select>'."\n";
    
    return $s;
    }



/**********************************
 * Function SchoonMaken           *
 **********************************/
function Schoonmaken($array) {
	
	foreach ($array as $entry => $waarde) {
		$array[$entry] = addslashes($waarde);
		}	
		
	return $array;
    }



/*==============================================
  = PART 4 : Overzichten                       =
  ==============================================*/


/**********************************
 * Function GetRapportageJaar     *
 **********************************/
function GetRapportageJaar($db, $jaar, $action) {
    $sql = 'select year(datum) as jaar from uur_kalender group by year(datum) order by year(datum)';
    $rows = ReturnData($sql, $db);

    $s = '<p class="jaarselectie"><select name="rapportage_jaar" OnChange ="document.page.submit()">'."\n";
    foreach($rows as $row) {
        if($jaar == $row['jaar']) {
            $selected = ' selected="selected"';
            }
        else {
            $selected = '';
            }
        
        $s.= "\t".'<option value="'.$row['jaar'].'"'.$selected.'>'.$row['jaar'].'</option>'."\n";
        }
    $s.= '</select></p>'."\n";
    $_SESSION['action'] = $action;
    $s.= StandardInputFields();

    $s.= '<noscript><p class="jaarselectie"><input type="submit" value="Opslaan" /></p></noscript>'."\n";
    return $s;
    }



/**********************************
 * Function GetPrognose           *
 **********************************/
function GetPrognose($db) {
    SetLanguage($db);
    $s = '<h2>Prognose</h2>'."\n\n";
    $s.= '<table id="overzicht">'."\n";
    $s.= '<tr>'."\n";
    $s.= "\t".'<th>Maand</th>'."\n";
    $s.= "\t".'<th>Naam</th>'."\n";
    $s.= "\t".'<th>Project</th>'."\n";
    $s.= "\t".'<th>Aantal uur</th>'."\n";
    $s.= "\t".'<th>Tarief</th>'."\n";
    $s.= "\t".'<th>Omzet in &euro;</th>'."\n";
    $s.= "\t".'</tr>'."\n";
    
    $sql_mnd = 'select		maandnaam
                ,           jaarmaand 
                from 		uur_v_prognose
                where       bedrijf_id = '.$_SESSION['gebruiker_bedrijf_id'].'
                group by	maandnaam
                ,           jaarmaand  
                order by 	jaarmaand';
    $rows_mnd = ReturnData($sql_mnd, $db);
    $omzet_totaal = '';
    $aantal_totaal = '';
    
    foreach($rows_mnd as $row_mnd) {
        $sql_naam = 'select 	gebruikers_id
                    , 			gebruikers_naam 
                    from 		uur_v_prognose v
                    where 		jaarmaand = \''.$row_mnd['jaarmaand'].'\'
                    and         bedrijf_id = '.$_SESSION['gebruiker_bedrijf_id'].'
                    group by	gebruikers_id
                    , 			gebruikers_naam 
                    order by 	gebruikers_naam';
        $rows_naam = ReturnData($sql_naam, $db);
        $omzet_maand = '';
        $aantal_maand = '';
        
        foreach($rows_naam as $row_naam) {
            $sql_prog = 'select maandnaam
                        ,       gebruikers_naam
                        ,       project_naam
                        ,       aantal_uur
                        ,       uurtarief
                        ,       aantal_uur * uurtarief as omzet
                        from    uur_v_prognose
                        where   maandnaam = \''.$row_mnd['maandnaam'].'\'
                        and     gebruikers_id = \''.$row_naam['gebruikers_id'].'\'
            ';
            $rows_prog = ReturnData($sql_prog, $db);
            $omzet_naam = '';
            $aantal_naam = '';
            
            foreach($rows_prog as $row_prog) {
                $s.= "\t".'<td>'.$row_prog['maandnaam'].'</td>'."\n";
                $s.= "\t".'<td>'.$row_prog['gebruikers_naam'].'</td>'."\n";
                $s.= "\t".'<td>'.$row_prog['project_naam'].'</td>'."\n";
                $s.= "\t".'<td class="c">'.number_format(round($row_prog['aantal_uur'],2),2,',','.').'</td>'."\n";
                $s.= "\t".'<td class="c">'.number_format(round($row_prog['uurtarief'],2),2,',','.').'</td>'."\n";
                $s.= "\t".'<td class="c">'.number_format(round($row_prog['omzet'],2),2,',','.').'</td>'."\n";
                $s.= "\t".'</tr>'."\n";
                
                $omzet_naam = $omzet_naam+$row_prog['omzet'];
                $aantal_naam = $aantal_naam+$row_prog['aantal_uur'];
                $omzet_maand = $omzet_maand+$row_prog['omzet'];
                $aantal_maand = $aantal_maand+$row_prog['aantal_uur'];
                $omzet_totaal = $omzet_totaal+$row_prog['omzet'];
                $aantal_totaal = $aantal_totaal+$row_prog['aantal_uur'];
                }
            
            $s.= '<tr>'."\n";
            $s.= "\t".'<td class="naamtotaal">'.$row_mnd['maandnaam'].'</td>'."\n";
            $s.= "\t".'<td class="naamtotaal" colspan="2"> Totaal '.$row_naam['gebruikers_naam'].'</td>'."\n";
            $s.= "\t".'<td class="naamtotaal c">'.number_format(round($aantal_naam,2),2,',','.').'</td>'."\n";
            $s.= "\t".'<td class="naamtotaal">&nbsp;</td>'."\n";
            $s.= "\t".'<td class="naamtotaal c">'.number_format(round($omzet_naam,2),2,',','.').'</td>'."\n";
            $s.= "\t".'</tr>'."\n";
            } 
        
        $s.= '<tr>'."\n";
        $s.= "\t".'<td class="maandtotaal" colspan="3"> Totaal '.$row_mnd['maandnaam'].'</td>'."\n";
        $s.= "\t".'<td class="maandtotaal c">'.number_format(round($aantal_maand,2),2,',','.').'</td>'."\n";
        $s.= "\t".'<td class="maandtotaal">&nbsp;</td>'."\n";
        $s.= "\t".'<td class="maandtotaal c">'.number_format(round($omzet_maand,2),2,',','.').'</td>'."\n";
        $s.= "\t".'</tr>'."\n";
        $s.= '<tr class="legeregel">'."\n";
        $s.= "\t".'<td colspan="6">&nbsp;</td>'."\n";
        $s.= "\t".'</tr>'."\n";
        }
    
    $s.= '<tr>'."\n";
    $s.= "\t".'<td class="totaal" colspan="3"> Totale prognose</td>'."\n";
    $s.= "\t".'<td class="totaal c">'.number_format(round($aantal_maand,2),2,',','.').'</td>'."\n";
    $s.= "\t".'<td class="totaal">&nbsp;</td>'."\n";
    $s.= "\t".'<td class="totaal c">'.number_format(round($omzet_totaal,2),2,',','.').'</td>'."\n";
    $s.= "\t".'</tr>'."\n";
    $s.= '</table>'."\n";
    
    return $s;
    }



/**********************************
 * Function GetRealisatie         *
 **********************************/
 function GetRealisatie($db, $jaar, $action) {
    SetLanguage($db);
    $s = '<h2>Realisatie</h2>'."\n\n";
    $s.= GetRapportageJaar($db, $jaar, $action);
    $s.= '<table id="overzicht">'."\n";
    
    $sql_mnd = 'select jaarmaand, maandnaam
                from uur_v_realisatie 
                where jaar='.$jaar.'
                and bedrijf_id = '.$_SESSION['gebruiker_bedrijf_id'].'
                group by jaarmaand, maandnaam
                order by jaarmaand';
    $rows_mnd = ReturnData($sql_mnd, $db);
    $omzet_totaal = '';
    $aantal_totaal = '';
    
    foreach($rows_mnd as $row_mnd) {
        $sql_naam = 'select gebruikers_naam, gebruikers_id 
                     from uur_v_realisatie 
                     where jaarmaand = '.$row_mnd['jaarmaand'].' 
                     and jaar='.$jaar.'
                     and bedrijf_id = '.$_SESSION['gebruiker_bedrijf_id'].'
                     group by gebruikers_naam, gebruikers_id';
        $rows_naam = ReturnData($sql_naam, $db);
        $omzet_maand = '';
        $aantal_maand = '';
        
        $s.= '<tr><th colspan="5"><strong>'.$row_mnd['maandnaam'].'</strong></th></tr>'."\n";
        $s.= '<tr>'."\n";
        $s.= "\t".'<th>Naam</th>'."\n";
        $s.= "\t".'<th>Project</th>'."\n";
        $s.= "\t".'<th class="c">Aantal uur</th>'."\n";
        $s.= "\t".'<th class="c">Tarief</th>'."\n";
        $s.= "\t".'<th class="c">Omzet in &euro;</th>'."\n";
        $s.= "\t".'</tr>'."\n";
        
        foreach($rows_naam as $row_naam) {
            $sql_prog = 'select maandnaam
                        ,       gebruikers_naam
                        ,       project_naam
                        ,       aantal_uur as aantal_uur
                        ,       uurtarief as uurtarief
                        ,       aantal_uur * uurtarief as omzet
                        from    uur_v_realisatie
                        where   maandnaam = \''.$row_mnd['maandnaam'].'\'
                        and     gebruikers_id = \''.$row_naam['gebruikers_id'].'\'
                        and     released = \'J\'
                        and     jaar = '.$jaar;
            $rows_prog = ReturnData($sql_prog, $db);
            $omzet_naam = '';
            $aantal_naam = '';
            
            $i = 0;
            foreach($rows_prog as $row_prog) {
                $s.= '<tr>'."\n";
                $s.= "\t".'<td>'.$row_prog['gebruikers_naam'].'</td>'."\n";
                $s.= "\t".'<td>'.$row_prog['project_naam'].'</td>'."\n";
                $s.= "\t".'<td class="c">'.number_format(round($row_prog['aantal_uur'],2),2,',','.').'</td>'."\n";
                $s.= "\t".'<td class="c">'.number_format(round($row_prog['uurtarief'],2),2,',','.').'</td>'."\n";
                $s.= "\t".'<td class="c">'.number_format(round($row_prog['omzet'],2),2,',','.').'</td>'."\n";
                $s.= "\t".'</tr>'."\n";
                
                $omzet_naam = $omzet_naam+$row_prog['omzet'];
                $aantal_naam = $aantal_naam+$row_prog['aantal_uur'];
                $omzet_maand = $omzet_maand+$row_prog['omzet'];
                $aantal_maand = $aantal_maand+$row_prog['aantal_uur'];
                $omzet_totaal = $omzet_totaal+$row_prog['omzet'];
                $aantal_totaal = $aantal_totaal+$row_prog['aantal_uur'];
                $i++;
                }
            
            if($i==0) {
                $s.= '<tr>'."\n";
                $s.= "\t".'<td>'.$row_naam['gebruikers_naam'].'</td>'."\n";
                $s.= "\t".'<td colspan="4"><em>geen uren vrijgegeven</em></td>'."\n";
                $s.= "\t".'</tr>'."\n";
                }
            
            $s.= '<tr>'."\n";
            $s.= "\t".'<td class="naamtotaal" colspan="2"> Totaal '.$row_naam['gebruikers_naam'].'</td>'."\n";
            $s.= "\t".'<td class="naamtotaal c">'.number_format(round($aantal_naam,2),2,',','.').'</td>'."\n";
            $s.= "\t".'<td class="naamtotaal">&nbsp;</td>'."\n";
            $s.= "\t".'<td class="naamtotaal c">'.number_format(round($omzet_naam,2),2,',','.').'</td>'."\n";
            $s.= "\t".'</tr>'."\n";
            } 
        
        $s.= '<tr>'."\n";
        $s.= "\t".'<td class="maandtotaal" colspan="2"> Totaal '.$row_mnd['maandnaam'].'</td>'."\n";
        $s.= "\t".'<td class="maandtotaal c">'.number_format(round($aantal_maand,2),2,',','.').'</td>'."\n";
        $s.= "\t".'<td class="maandtotaal">&nbsp;</td>'."\n";
        $s.= "\t".'<td class="maandtotaal c">'.number_format(round($omzet_maand,2),2,',','.').'</td>'."\n";
        $s.= "\t".'</tr>'."\n";
        $s.= '<tr class="legeregel">'."\n";
        $s.= "\t".'<td colspan="5">&nbsp;</td>'."\n";
        $s.= "\t".'</tr>'."\n";
        }
    
    $s.= '<tr>'."\n";
    $s.= "\t".'<td class="totaal" colspan="2"> Totale realisatie</td>'."\n";
    $s.= "\t".'<td class="totaal c">'.number_format(round($aantal_totaal,2),2,',','.').'</td>'."\n";
    $s.= "\t".'<td class="totaal">&nbsp;</td>'."\n";    
    $s.= "\t".'<td class="totaal c">'.number_format(round($omzet_totaal,2),2,',','.').'</td>'."\n";
    $s.= "\t".'</tr>'."\n";
    $s.= '</table>'."\n";
    
    return $s;
    }



/**********************************
 * Function GetVakantie           *
 **********************************/
 function GetVakantie($db, $jaar, $action, $gebruiker_bedrijf_id) {
    SetLanguage($db);
    $start_aantal_uur = 0;
    $aantal_opgenomen_uur = 0;
    $resterend_aantal_uur = 0;
    $ziekte_uur = 0;
    $s = '';
      
    $sql ='
        select		g.gebruikers_naam
        ,			s.jaar
        ,			round(s.saldo_dagen*8,0) as start_aantal_uur
        ,			round(coalesce(sum(uur.aantal_uur),0),0) as aantal_opgenomen_uur
        ,			round((s.saldo_dagen*8),0)-round(coalesce(sum(uur.aantal_uur),0),0) as resterend_aantal_uur
        from		uur_gebruikers g
        inner join	uur_saldo_vakantie s
            on		g.gebruikers_id = s.gebruikers_id
            and		g.bedrijf_id = '.$gebruiker_bedrijf_id.'
        left join	(
                    select		year(k.datum) as jaar
                    ,			u.gebruikers_id
                    ,			u.aantal_uur
                    ,			p.project_naam
                    from		uur_maandstaat u
                    inner join	uur_kalender k
                        on		u.kalender_id = k.kalender_id
                    inner join	uur_projecten p
                        on		u.project_id = p.project_id
                    inner join	uur_project_type pt
                        on		p.project_type_id = pt.project_type_id
                        and		pt.project_type_naam = \'VAK\'
                    ) uur
            on		s.gebruikers_id = uur.gebruikers_id
            and		s.jaar = uur.jaar
        where       s.jaar = \''.$jaar.'\'
        group by	g.gebruikers_naam
        ,			s.jaar
        ,			s.saldo_dagen
        order by    g.gebruikers_naam
        '
    ;
    $rows = ReturnData($sql, $db);
        
    $s.= GetRapportageJaar($db, $jaar, $action);
    $s.= '<h2>Vakantie uren</h2>'."\n\n";
    $s.= '<table id="overzicht">'."\n";
    $s.= '<tr>'."\n";
    $s.= "\t".'<th>Naam</th>'."\n";
    $s.= "\t".'<th>Saldo uren</th>'."\n";
    $s.= "\t".'<th>Opgenomen vakantieuren</th>'."\n";
    $s.= "\t".'<th>Resterend aantal vakantieuren</th>'."\n";
    $s.= "\t".'</tr>'."\n";
    
    foreach($rows as $row) {
        $s.= '<tr>'."\n";
        $s.= "\t".'<td>'.$row['gebruikers_naam'].'</td>'."\n";
        $s.= "\t".'<td>'.$row['start_aantal_uur'].'</td>'."\n";
        $s.= "\t".'<td>'.$row['aantal_opgenomen_uur'].'</td>'."\n";
        $s.= "\t".'<td>'.$row['resterend_aantal_uur'].'</td>'."\n";
        $s.= "\t".'</tr>'."\n";
        
        $start_aantal_uur = $start_aantal_uur + $row['start_aantal_uur'];
        $aantal_opgenomen_uur = $aantal_opgenomen_uur + $row['aantal_opgenomen_uur'];
        $resterend_aantal_uur = $resterend_aantal_uur + $row['resterend_aantal_uur'];
        }

    $s.= '<tr>'."\n";
    $s.= "\t".'<td class="totaal">Totaal</td>'."\n";
    $s.= "\t".'<td class="totaal">'.$start_aantal_uur.'</td>'."\n";
    $s.= "\t".'<td class="totaal">'.$aantal_opgenomen_uur.'</td>'."\n";
    $s.= "\t".'<td class="totaal">'.$resterend_aantal_uur.'</td>'."\n";
    $s.= "\t".'</tr>'."\n";
    $s.= '</table>'."\n\n";
    
    
    // Ziekte uren
    $sql ='
        select		g.gebruikers_naam
        ,			round(coalesce(sum(uur.aantal_uur),0),0) as ziekte_uur
        from		uur_gebruikers g
        left join	(
                    select		year(k.datum) as jaar
                    ,			u.gebruikers_id
                    ,			u.aantal_uur
                    ,			p.project_naam
                    from		uur_maandstaat u
                    inner join	uur_kalender k
                        on		u.kalender_id = k.kalender_id
                    inner join	uur_projecten p
                        on		u.project_id = p.project_id
                    inner join	uur_project_type pt
                        on		p.project_type_id = pt.project_type_id
                        and		pt.project_type_naam = \'ZIEK\'
                    where year(k.datum) = \''.$jaar.'\'
                    ) uur
            on		g.gebruikers_id = uur.gebruikers_id
        where		g.bedrijf_id = '.$gebruiker_bedrijf_id.'
        group by	g.gebruikers_naam
        order by	g.gebruikers_naam
        '
    ;
    $rows = ReturnData($sql, $db);

    
    $s.= '<h2>Ziekte uren</h2>'."\n\n";
    $s.= '<table id="overzicht">'."\n";
    $s.= '<tr>'."\n";
    $s.= "\t".'<th>Naam</th>'."\n";
    $s.= "\t".'<th>Aantal ziekte uren</th>'."\n";
    $s.= "\t".'</tr>'."\n";
    
    foreach($rows as $row) {
        $s.= '<tr>'."\n";
        $s.= "\t".'<td>'.$row['gebruikers_naam'].'</td>'."\n";
        $s.= "\t".'<td>'.$row['ziekte_uur'].'</td>'."\n";
        $s.= "\t".'</tr>'."\n";
        
        $ziekte_uur = $ziekte_uur + $row['ziekte_uur'];
        }

    $s.= '<tr>'."\n";
    $s.= "\t".'<td class="totaal">Totaal</td>'."\n";
    $s.= "\t".'<td class="totaal">'.$ziekte_uur.'</td>'."\n";
    $s.= "\t".'</tr>'."\n";
    $s.= '</table>'."\n\n";
    
    return $s;
    }



/**********************************
 * Function GetCSV         *
 **********************************/
 function GetCSV($db, $gebruiker_bedrijf_id) {
    $sql = '
        select      g.gebruikers_inlog
        ,           g.gebruikers_naam
        ,           g.gebruikers_fte
        ,           year(k.datum)*100+month(datum) as jaarmaand
        ,           p.klantnaam
        ,           p.project_code
        ,           p.project_naam
        ,           p.contracturen
        ,           p.uurtarief
        ,           round(sum(m.aantal_uur),2) as aantal_uur
        from        uur_maandstaat m
        inner join  uur_gebruikers g
            on      m.gebruikers_id = g.gebruikers_id
            and		g.bedrijf_id = '.$gebruiker_bedrijf_id.'
        inner join  uur_kalender k
            on      m.kalender_id = k.kalender_id
        inner join  uur_projecten p
            on      m.project_id = p.project_id 
        group by    g.gebruikers_inlog
        ,           g.gebruikers_naam
        ,           g.gebruikers_fte
        ,           year(k.datum)*100+month(datum)
        ,           p.klantnaam
        ,           p.project_code
        ,           p.project_naam
        ,           p.contracturen
        ,           p.uurtarief
        order by    g.gebruikers_inlog
        ,           year(k.datum)*100+month(datum)
        ,           p.klantnaam
        ,           p.project_code
        ';
    $rows = ReturnData($sql, $db);
    
    $s = '"VerkorteNaam";"Naam";"FTE";"JaarMaand";"KlantNaam";"ProjectCode";"ProjectNaam";"Contracturen";"Tarief";"TotaalAantalUur"'."\n";
    foreach ($rows as $row) {
        $s.= '"'.$row['gebruikers_inlog'].'";';
        $s.= '"'.$row['gebruikers_naam'].'";';
        $s.= '"'.$row['gebruikers_fte'].'";';
        $s.= '"'.$row['jaarmaand'].'";';
        $s.= '"'.$row['klantnaam'].'";';
        $s.= '"'.$row['project_code'].'";';
        $s.= '"'.$row['project_naam'].'";';
        $s.= '"'.$row['contracturen'].'";';
        $s.= '"'.$row['uurtarief'].'";';
        $s.= '"'.$row['aantal_uur'].'"'."\n";
        }
    
    $FileName = 'report.csv';
    $fh = fopen($FileName, 'w') or die("<b>I don't have permission to write to $FileName. CHMOD 777 this file!");
    fwrite($fh, $s);
    fclose($fh);
    $answer =  '<p><a href="'.$FileName.'">'.$FileName.'</a> has been generated</p>'."\n";
    
    return $answer;
    }
?>