<?php
$getConfig = false;
if (file_exists("../Classe/FunctionClasse.php")) {
    include_once("../Classe/FunctionClasse.php");
} else {
    include_once("Classe/FunctionClasse.php");
}

if (file_exists('../config.php')) {
    require_once '../config.php';
    $getConfig = true;
} else if (file_exists('.\config.php')) {
    require_once '.\config.php';
    $getConfig = true;
}

if ($getConfig) {

    $NomSiteCap = "Taghilt";
    $NomSiteNotCap = "taghilt";
    $NomSiteAllCap = 'TAGHILT';
    $NomSite = 'taghilt';
    $serveur = "reoleweb";
    $compagnyName = "Reoleweb";

    $ldap_host = "ldaps://SdrhtAD02.drht.local";
    //Fix le temp limit d,une connextion inactive
    $timeLimit = 15 * 60; // 15 minutes en secondes

    if ($getConfig) {
        $showParameters = defined('SHOW_PARAM') ? SHOW_PARAM : 'false';

        $logoEtablissement = defined('LOGO')   ? LOGO   : 'LogoTaghilt.jpg';
        $nomEtablissement = defined('NOM_ETABLISSEMENT')   ? NOM_ETABLISSEMENT   : 'Nom de votre établissement';
        $nomEtablissementAnglais = defined('NOM_ETABLISSEMENT_ANGLAIS')   ? NOM_ETABLISSEMENT_ANGLAIS   : 'Name of your establishment';
        $nomService = defined('NOM_SERVICE')   ? NOM_SERVICE   : 'Service informatique';
        $emailService = defined('EMAIL_SUPPORT')   ? EMAIL_SUPPORT   : '';
        $telService = defined('TEL_SUPPORT')   ? TEL_SUPPORT   : '';
        $chemin_imprimante = defined('CHEMIN_IMPRIMANTE')   ? CHEMIN_IMPRIMANTE   : '';

        if (!empty($emailService) && !empty($telService)) {
            $bodyService = 'Pour toute assistance, veuillez prendre contact avec <strong>" ' . $nomService . ' "</strong> par courriel : ' . $emailService . ' ou appeler au : <strong> ' .  $telService . '</strong>.';
            $errorMsgService = 'le service : <strong>' . $nomService . '</strong> par courriel : <strong> ' .  $emailService . '</strong> ou appeler au : <strong> ' .  $telService . '</strong>';
        } else if (!empty($emailService) && empty($telService)) {
            $bodyService = 'Pour toute assistance, veuillez prendre contact avec <strong>" ' . $nomService . ' "</strong> par courriel : ' . $emailService . '.';
            $errorMsgService = 'le service : <strong>' . $nomService . '</strong> par courriel : <strong> ' .  $emailService . '</strong>';
        } else if (empty($emailService) && !empty($telService)) {
            $bodyService = 'Pour toute assistance, veuillez prendre contact avec <strong>" ' . $nomService . ' "</strong> par téléphone au : <strong> ' .  $telService . '</strong>.';
            $errorMsgService = 'le service : <strong>' . $nomService . '</strong> par téléphone au : <strong> ' .  $telService . '</strong>';
        } else {
            $bodyService = 'Pour toute assistance, veuillez prendre contact avec le service informatique.';
            $errorMsgService = '<strong>' . $nomService . '</strong>';
        }


        $BorneMachinetmp = [];
        $constName = 'NOMS_BORNES';
        if (defined($constName) && trim(constant($constName)) !== '') {
            $parts = explode(',', constant($constName));
            foreach ($parts as $part) {
                $trimmed = trim($part);
                if ($trimmed !== '') {
                    $BorneMachinetmp[] = $trimmed;
                }
            }
        }
        $AllowedMachineOnMaintenancetemp = [];
        $constName = 'ALLOWED_MACHINE_ON_MAINTENANCE';
        if (defined($constName) && trim(constant($constName)) !== '') {
            $parts = explode(',', constant($constName));
            foreach ($parts as $part) {
                $trimmed = trim($part);
                if ($trimmed !== '') {
                    $AllowedMachineOnMaintenancetemp[] = $trimmed;
                }
            }
        }


        $YesUseSwitchLang = defined('UTILISER_MULITLANGUE')   ? UTILISER_MULITLANGUE : false; // $YesUseSwitchLang = true;
        $DisplaySideBAr = defined('AFFICHER_SIDEBAR')   ? AFFICHER_SIDEBAR : false; // $DisplaySideBAr = false;;
        $UseModeDark = defined('UTILISER_MODE_DARK')   ? UTILISER_MODE_DARK : false; // $UseModeDark = false;
        $SiteEnMaintenance = defined('EN_MAINTENANCE')   ? EN_MAINTENANCE : false; // $SiteEnMaintenance = false;
        $useInMenuGestion = defined('REGROUPER_MENU')   ? REGROUPER_MENU : false; // $useInMenuGestion = true;
        $inactivity_time = defined('INACTIVITY_TIME')   ? INACTIVITY_TIME : 15;

        $useChartMonthly = defined('AFFI_FRAPHE_STAT_MON')   ? AFFI_FRAPHE_STAT_MON : false; // $useChartMonthly = true;
        $useChartYearly = defined('AFFI_FRAPHE_STAT_ANNU')   ? AFFI_FRAPHE_STAT_ANNU : false; // $useChartYearly = true;

        $useStep = defined('UTILISER_ETAPE')   ? UTILISER_ETAPE : true; // $useStep = true;
        $useOnlyFirstDate = defined('UTILISER_SEUL_DATE_DEBUT')   ? UTILISER_SEUL_DATE_DEBUT : true; // $useOnlyFirstDate = true;

        $formuleBienvenue = formuleBienvenue($nomEtablissement);

        /*$this->updateOrInsertDefine($config, 'UTILISER_MULITLANGUE', $utiliser_mulitlangue); //$YesUseSwitchLang = true;
    $this->updateOrInsertDefine($config, 'AFFICHER_SIDEBAR', $afficher_sidebar);
    $this->updateOrInsertDefine($config, 'UTILISER_MODE_DARK', $utiliser_mode_dark);
    $this->updateOrInsertDefine($config, 'EN_MAINTENANCE', $en_maintenance); fait
    $this->updateOrInsertDefine($config, 'REGROUPER_MENU', $regrouper_menu);    
    $this->updateOrInsertDefine($config, 'UTILISER_ETAPE', $utiliser_etape);
    $this->updateOrInsertDefine($config, 'UTILISER_SEUL_DATE_DEBUT', $utiliser_seul_date_debut);

    $this->updateOrInsertDefine($config, 'AFFI_FRAPHE_STAT_MON', $affi_fraphe_stat_mon);
    $this->updateOrInsertDefine($config, 'AFFI_FRAPHE_STAT_ANNU', $affi_fraphe_stat_annu);

    $this->updateOrInsertDefine($config, 'LDAP_ENABLED', $ldap_enabled);
    $this->updateOrInsertDefine($config, 'IMPORT_USER_FROM_LDAP', $import_user_from_ldap);
    $this->updateOrInsertDefine($config, 'LDAP_HOST', $ldap_host);
    $this->updateOrInsertDefine($config, 'LDAP_PORT', $ldap_port);
    $this->updateOrInsertDefine($config, 'BIND_DN', $bind_dn);
    $this->updateOrInsertDefine($config, 'BIND_PASSWORD', $bind_password);
    $this->updateOrInsertDefine($config, 'BASE_DN', value: $base_dn);*/
    }

    //Paramètre de l'application 
    $versionApp = '1.0';
    $yearVersion = date("Y");
    $dateHourVersion = date('Y-m-d H:i:s');

    $StyleMenu = 1;

    $roleAdministrateur = false;
    $rolePilote = false;
    $roleGestionnnaire = false;
    $roleDeveloppeur = false;

    $useSearchEmploye = false;

    $displayQuery = false;

    //Paramètre inscription d'un représentant
    $ActivityCompagnyRequired = false;

    if ($ActivityCompagnyRequired)
        $ActivityCompagnyRequiredText = 'required';
    else
        $ActivityCompagnyRequiredText = '';

    //On recupère le nom d'ordinateur connecté
    $connectedHost = getClientHostname();


    //Utiliser l'inscription par étage sur la pqge inscription visiteur ou si false , l'inscription sera affiché en une seule page
    $UseStep = true;

    //Variable qui afficher uniquement une date initialisé automatiquement a la date du jour lors de l'inscription.


    //Remarque : Mettez dans les listes le nom de l'ordinateur ainsi que son adresse ip, car des fois la fonction getClientHostname donne le nom d'ordinateur des fois l'adresse ip.
    //Liste des ordinateurs qui sont autorisé à voir l'application malgré qu'elle est  en maintenance, ordi de Reda drht43872
    $AllowedMachineOnMaintenance = $AllowedMachineOnMaintenancetemp; //["drht41201", "drht44542", "drht44393", "drht37143", "172.30.8.233", "172.30.9.43", "10.48.190.91", "172.30.8.208", "172.30.8.231", "drht43872", "drht35224"];

    //ordinateur utilisé comme borne d'inscription représentant
    $BorneMachine = $BorneMachinetmp; //, "172.30.8.208", "drht41201", "172.30.9.156", "172.30.8.137", "172.30.8.169"  ahmed maison"10.253.133.41"

    if (!$DisplaySideBAr) {
        $mainClass = 'col-lg-12';
    } else {
        $mainClass = 'col-lg-10';
    }

    //Initialisation de la variable langue
    if (!isset($_SESSION['language'])) {
        $_SESSION['language'] = 'fr';
    }
    $language = $_SESSION['language'];

    if (isset($_SESSION[$NomSite]['userRoles'])) {
        $roles = $_SESSION[$NomSite]['userRoles'];

        foreach ($roles as $role) {
            if ($role['role_name'] === 'Administrateur') {
                $roleAdministrateur = true;
            }
            if ($role['role_name'] === 'Pilote') {
                $rolePilote = true;
            }
            if ($role['role_name'] === 'Gestionnaire') {
                $roleGestionnnaire = true;
            }
            if ($role['role_name'] === 'Employé(e)') {
                $roleEmploye = true;
            }
            if ($role['role_name'] === 'Technicien(ne) à l\'horaire') {
                $roleTechnicienHoraire = true;
            }
            if ($role['role_name'] === 'Chef de service') {
                $roleChefService = true;
            }
            if ($role['role_name'] === 'Développeur') {
                $roleDeveloppeur = true;
            }
        }
    }

    if (isset($_SESSION[$NomSite]['userRoles'])) {
        foreach ($_SESSION[$NomSite]['userRoles'] as $userRoles) {
            //echo 'Id Role = ' . $userRoles['id_role'] . ', ';
            //echo 'role_name = ' . $userRoles['role_name'] . '<br>';
        }
    } else {
        //echo 'userRoles Session is not setted.';
    }
}
