<?php

namespace AppBundle\Controller;

use AppBundle\Services\ConnexionMySQL;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;

class DefaultController extends Controller {

    /**
     * @Route("/", name="accueil")
     */
    public function accueilAction(Request $request) {

        return $this->render('default/accueil.html.twig', [
                    'base_dir' => "toto"
        ]);
    }

    /**
     * @Route("homepage", name="homepage")
     */
    public function indexAction(Request $request) {
        return $this->render('default/index.html.twig', [
                    'base_dir' => realpath($this->getParameter('kernel.project_dir')) . DIRECTORY_SEPARATOR,
        ]);
    }

    /**
     * @Route("embauche", name="embauche")
     */
    public function embaucheAction(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $role = $r->get('role');

        if ($token && $conn->isTokenValid($token)) {
            if ($conn->existToken($token)) {

                $listeTypesFichiers = array(
                    "COMMUNS" => array(
                        array(
                            "id" => "ldm",
                            "libelle" => "Lettre de motivation",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "CV",
                            "libelle" => "CV",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "photoID",
                            "libelle" => "Photo d'identité",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "carteIDRecto",
                            "libelle" => "Carte d'identité recto",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "carteIDVerso",
                            "libelle" => "Carte d'identité verso",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "permis",
                            "libelle" => "Permis de conduire",
                            "obligatoire" => 0
                        ),
                        array(
                            "id" => "carteGrise",
                            "libelle" => "Carte grise de votre véhicule personnel",
                            "obligatoire" => 0
                        ),
                        array(
                            "id" => "justificatifMutuelle",
                            "libelle" => "Bulletin d'adhésion à la mutuelle ou justificatif de dispense d'adhésion",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "prelevement",
                            "libelle" => "Demande de prélèvement Mutuelle",
                            "obligatoire" => 0
                        ),
                        array(
                            "id" => "secuSociale",
                            "libelle" => "Attestation de Sécurité Sociale (+ ayants droits)",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "vitale",
                            "libelle" => "Carte Vitale",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "RIB",
                            "libelle" => "Relevé d'Identitée Bancaire",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "livret",
                            "libelle" => "Livret de famille ou justificatif de la situatuation familliale",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "domicile",
                            "libelle" => "Justificatif de domicile",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "travail",
                            "libelle" => "Dernier certificat de travail",
                            "obligatoire" => 0
                        ),
                        array(
                            "id" => "medicale",
                            "libelle" => "Justificatif dernière visite médicale du travail (AIST/Transporteurs/Autre)",
                            "obligatoire" => 1
                        ),
                        array(
                            "id" => "diplomes",
                            "libelle" => "Dîplomes professionnels et/ou scolaires",
                            "obligatoire" => 1
                        )
                    ),
                    "CARISTES" => array(
                        array(
                            "id" => "caristes",
                            "libelle" => "Attestation CACES",
                            "obligatoire" => 0
                        )
                    ),
                    "CHAUFFEURS" => array(
                        array(
                            "id" => "attestation",
                            "libelle" => "Attestation FIMO/FCO",
                            "obligatoire" => 0
                        ),
                        array(
                            "id" => "conducteur",
                            "libelle" => "Carte de conducteur en cours de validité",
                            "obligatoire" => 0
                        )
                    ),
                    "TRAVAILLEURS HANDICAPÉS" => array(
                        array(
                            "id" => "notification",
                            "libelle" => "Notifications RQTH ou titre d'invalidité",
                            "obligatoire" => 0
                        )
                    ),
                    "TRAVAILLEURS ÉTRANGERS" => array(
                        array(
                            "id" => "sejour",
                            "libelle" => "Carte de séjour en cours de validité",
                            "obligatoire" => 0
                        ),
                        array(
                            "id" => "titreTravail",
                            "libelle" => "Titre de travail en cours de validité",
                            "obligatoire" => 0
                        )
                    )
                );
                $metier = $this->getMetier($r, $conn);
                $nationalite = $this->getNationalite($r, $conn);
                $rqth = $this->getRqth($r, $conn);


                if ($rqth == 1) {
                    $listeTypesFichiers['TRAVAILLEURS HANDICAPÉS'][0]['obligatoire'] = 1;
                }
                $checkFrancais = "1";
                switch ($nationalite) {
                    case ("Francais"):
                        break;
                    case ("Francaise"):
                        break;
                    case ("France"):
                        break;
                    case ("Français"):
                        break;
                    case ("Française"):
                        break;
                    case ("Fr"):
                        break;
                    case ("FR"):
                        break;
                    case ("fr"):
                        break;

                    default :
                        $checkFrancais = "0";
                        $listeTypesFichiers['TRAVAILLEURS ÉTRANGERS'][0]['obligatoire'] = 1;
                        $listeTypesFichiers['TRAVAILLEURS ÉTRANGERS'][1]['obligatoire'] = 1;
                }

                $emploisCaces = [
                    "Conducteur d'engin I (CQP)",
                    "Cariste",
                    "Pontier",
                    "Grutier",
                    "Conducteur d'engin II (CQP)",
                    "Responsable de Parc",
                    "N2 P1 C104 + Conducteur d'engin, d'équipement, de traitement des déchets",
                    "Conducteur d'engin, d'équipement, de traitement des déchets",
                    "Conducteur d'engin",
                    "Conduc. d'engin,d'équipement",
                    "Cariste qualifié",
                    "N2 P1 C104 + Conducteur d'engin, d'équipement"
                ];

                $emploisFimo = [
                    "Conducteur PL",
                    "Conducteur de matériel d'enlèvement",
                    "Conduc. de matériel de collecte, d'enlèvement, de nettoiement",
                    "Chauffeur Livreur VL",
                    "Chauffeur Livreur PL",
                    "Chauffeur-Livreur avec action commerciale"
                ];

                $metierTemp = explode(" [", $metier)[0];
                $metierAbreviation = explode("]", $metierTemp)[0];
                if (in_array($metierTemp, $emploisCaces) || in_array($metierAbreviation, $emploisCaces)) {
                    $listeTypesFichiers['CARISTES'][0]['obligatoire'] = 1;
                } else if (in_array($metierTemp, $emploisFimo) || in_array($metierAbreviation, $emploisFimo)) {
                    $listeTypesFichiers['COMMUNS'][5]['obligatoire'] = 1;
                    $listeTypesFichiers['CHAUFFEURS'][0]['obligatoire'] = 1;
                    $listeTypesFichiers['CHAUFFEURS'][1]['obligatoire'] = 1;
                }


// On récupère les infos dans la table
                $infosUser = $conn->getInfosUser($token);
                $infosUser["vetements"] = $infosUser["vetements"][0];
                $nbEnfant = count($infosUser['liste_enfants']);
                $nom = $infosUser['etat_civil']['nom'] ? $infosUser['etat_civil']['nom'] : $r->get('nom'); //je recupère la valeur de nom
                $nomDeNaissance = $infosUser['etat_civil']['nom_naissance'] ? $infosUser['etat_civil']['nom_naissance'] : $r->get('nomDeNaissance');
                $prenom1 = $infosUser['etat_civil']['prenom1'] ? $infosUser['etat_civil']['prenom1'] : $r->get('prenom1');
                $prenom2 = $infosUser['etat_civil']['prenom2'] ? $infosUser['etat_civil']['prenom2'] : $r->get('prenom2');
                $prenom3 = $infosUser['etat_civil']['prenom3'] ? $infosUser['etat_civil']['prenom3'] : $r->get('prenom3');
                $secu = $infosUser['etat_civil']['secu'] ? $infosUser['etat_civil']['secu'] : $r->get('secu');
                $dateNaissance = $infosUser['etat_civil']['date_naissance'] ? date('Y-m-d', $infosUser['etat_civil']['date_naissance']) : $r->get('dateNaissance');
                $lieuNaissance = $infosUser['etat_civil']['lieu_naissance'] ? $infosUser['etat_civil']['lieu_naissance'] : $r->get('lieuNaissance');
                $deptNaissance = $infosUser['etat_civil']['dept_naissance'] ? $infosUser['etat_civil']['dept_naissance'] : $r->get('deptNaissance');
                $paysNaissance = $infosUser['etat_civil']['pays_naissance'] ? $infosUser['etat_civil']['pays_naissance'] : $r->get('paysNaissance');
//                $nationalite = $infosUser['etat_civil']['nationalite'] ? $infosUser['etat_civil']['nationalite'] : $r->get('nationalite');
                $rd_situation = $infosUser['etat_civil']['situation_familiale'] ? $infosUser['etat_civil']['situation_familiale'] : $r->get('rd_situation');
                $date_entree = $infosUser['manager']['date_entree'] ? $infosUser['manager']['date_entree'] : $r->get('date_entree');
                $rd_sexeEnfant = [];
                $rd_chargeEnfant = [];

                $nomEnfant[1] = $r->get('o');
                $prenomEnfant[1] = $r->get('p');
                $dateNaissanceEnfant[1] = $r->get('dateNaissanceEnfant');


                for ($i = 1; $i <= $nbEnfant; $i++) {
                    $rd_sexeEnfant[$i] = $r->get("rd_sexeEnfant" . $i);
                    $rd_chargeEnfant[$i] = $r->get("rd_chargeEnfant" . $i);
                }

                $adresse = isset($infosUser['adresse']['adresse']) ? $infosUser['adresse']['adresse'] : $r->get('adresse');
                $CP = isset($infosUser['adresse']['code_postal']) ? $infosUser['adresse']['code_postal'] : $r->get('CP');
                $ville = isset($infosUser['adresse']['ville']) ? $infosUser['adresse']['ville'] : $r->get('ville');
                $telDomicile = isset($infosUser['adresse']['tel_dom']) ? $infosUser['adresse']['tel_dom'] : $r->get('telDomicile');
                $portable = isset($infosUser['adresse']['portable']) ? $infosUser['adresse']['portable'] : $r->get('portable');
                $mail = isset($infosUser['adresse']['email']) ? $infosUser['adresse']['email'] : $r->get('mail');
                $urgence = isset($infosUser['urgence']['personne']) ? $infosUser['urgence']['personne'] : $r->get('urgence');
                $telUrgence = isset($infosUser['urgence']['fixe']) ? $infosUser['urgence']['fixe'] : $r->get('telUrgence');
                $portUrgence = isset($infosUser['urgence']['portable']) ? $infosUser['urgence']['portable'] : $r->get('portUrgence');

                $rd_handicap = isset($infosUser['handicap']['handicap']) ? $infosUser['handicap']['handicap'] : $r->get('rd_handicap');
                $chk_RQTH = isset($infosUser['handicap']['RQTH']) ? $infosUser['handicap']['RQTH'] : $r->get('chk_RQTH');
                $chk_maladiePro = isset($infosUser['handicap']['maladie_pro']) ? $infosUser['handicap']['maladie_pro'] : $r->get('chk_maladiePro');
                $chk_allocationH = isset($infosUser['handicap']['allocation']) ? $infosUser['handicap']['allocation'] : $r->get('chk_allocationH');
                $chk_mutile = isset($infosUser['handicap']['mutile']) ? $infosUser['handicap']['mutile'] : $r->get('chk_mutile');
                $chk_pension = isset($infosUser['handicap']['pension']) ? $infosUser['handicap']['pension'] : $r->get('chk_pension');

                $dateReconnaissance1 = isset($infosUser['handicap']['date_debut_RQTH']) ? $infosUser['handicap']['date_debut_RQTH'] : $r->get('dateReconnaissance1');
                $dateReconnaissanceFin1 = isset($infosUser['handicap']['date_fin_RQTH']) ? $infosUser['handicap']['date_fin_RQTH'] : $r->get('dateReconnaissanceFin1');
                $dateReconnaissance2 = isset($infosUser['handicap']['date_maladie_pro']) ? $infosUser['handicap']['date_maladie_pro'] : $r->get('dateReconnaissance2');
                $dateReconnaissance3 = isset($infosUser['handicap']['date_debut_allocation']) ? $infosUser['handicap']['date_debut_allocation'] : $r->get('dateReconnaissance3');
                $dateReconnaissanceFin3 = isset($infosUser['handicap']['date_fin_allocation']) ? $infosUser['handicap']['date_fin_allocation'] : $r->get('dateReconnaissanceFin3');
                $dateReconnaissance4 = isset($infosUser['handicap']['date_mutile']) ? $infosUser['handicap']['date_mutile'] : $r->get('dateReconnaissance4');


                $invaliditeRQTH = isset($infosUser['handicap']['pourcentage_RQTH']) ? $infosUser['handicap']['pourcentage_RQTH'] : $r->get('invaliditeRQTH');
                $invaliditeMaladiePro = isset($infosUser['handicap']['pourcentage_maladie_pro']) ? $infosUser['handicap']['pourcentage_maladie_pro'] : $r->get('invaliditeMaladiePro');
                $invaliditeAllocationH = isset($infosUser['handicap']['pourcentage_allocation']) ? $infosUser['handicap']['pourcentage_allocation'] : $r->get('invaliditeAllocationH');
                $rd_pension = isset($infosUser['handicap']['pension']) ? $infosUser['handicap']['pension'] : $r->get("rd_pension");

                $rd_choix = isset($infosUser['mutuelle']['adhesion']) ? $infosUser['mutuelle']['adhesion'] : $r->get('rd_choix');
                $rd_choixMutuelle = isset($infosUser['mutuelle']['regime']) ? $infosUser['mutuelle']['regime'] : $r->get('rd_choixMutuelle');
                $adherents = isset($infosUser['mutuelle']['nombre_personnes']) ? $infosUser['mutuelle']['nombre_personnes'] : $r->get('adherents');
                $rd_motif = isset($infosUser['mutuelle']['motif_refus']) ? $infosUser['mutuelle']['motif_refus'] : $r->get('rd_motif');

                $pointure = isset($infosUser['vetements']['pointure']) ? $infosUser['vetements']['pointure'] : $r->get('pointure');
                $tailleVeste = isset($infosUser['vetements']['veste']) ? $infosUser['vetements']['veste'] : "S";
                $taillePantalon = isset($infosUser['vetements']['pantalon']) ? $infosUser['vetements']['pantalon'] : "S";
                $tailleCombinaison = isset($infosUser['vetements']['combinaison']) ? $infosUser['vetements']['combinaison'] : "S";
                $teeShirt = isset($infosUser['vetements']['t_shirt']) ? $infosUser['vetements']['t_shirt'] : "S";

                $lieu_signature = isset($infosUser['signature']['ville']) ? $infosUser['signature']['ville'] : $r->get('lieu_signature');
                $date_signature = isset($infosUser['signature']['date']) ? $infosUser['signature']['date'] : $r->get('date_signature');
                $nomPieces = $nom;
                $prenomPieces = $prenom1;
                $dateLimite = date("d/m/Y", strtotime($date_entree . '+ 11 days'));


// Documents à télécharger
                $listeFichiers = $infosUser['liste_fichiers'];
                $chk_informations = isset($infosUser['signature']['conditionsAcceptees']) ? $infosUser['signature']['conditionsAcceptees'] : $r->get('chk_informations');
                $droitImageInterne = isset($infosUser['signature']['droitImageInterne']) ? $infosUser['signature']['droitImageInterne'] : $r->get('droitImageInterne');
                $droitImageExterne = isset($infosUser['signature']['droitImageExterne']) ? $infosUser['signature']['droitImageExterne'] : $r->get('droitImageExterne');
                $dfs = isset($infosUser['signature']['dfs']) ? $infosUser['signature']['dfs'] : $r->get('dfs');
                $reglementInterieur = isset($infosUser['signature']['reglementInterieur']) ? $infosUser['signature']['reglementInterieur'] : $r->get('reglementInterieur');
                $bulletinElectronique = isset($infosUser['signature']['bulletinElectronique']) ? $infosUser['signature']['bulletinElectronique'] : $r->get('bulletinElectronique');


                $societe = $conn->getSociete($token)['societe'];
                $erreur = $r->get('erreur');
//                $tokenTest = base_convert(hash('sha256', time() . mt_rand()), 16, 36);
                return $this->render("default/index2.html.twig", [
                            'nom' => $nom, 'nomDeNaissance' => $nomDeNaissance, 'prenom1' => $prenom1, 'prenom2' => $prenom2, 'prenom3' => $prenom3, 'token' => $token, 'secu' => $secu,
                            'dateNaissance' => $dateNaissance, 'lieuNaissance' => $lieuNaissance, 'deptNaissance' => $deptNaissance, 'paysNaissance' => $paysNaissance, 'nationalite' => $nationalite,
                            'rd_situation' => $rd_situation, 'nbEnfant' => $nbEnfant, 'liste_enfants' => $infosUser['liste_enfants'], 'adresse' => $adresse, 'CP' => $CP, 'ville' => $ville,
                            'telDomicile' => $telDomicile, 'portable' => $portable, 'mail' => $mail, 'urgence' => $urgence, 'telUrgence' => $telUrgence, 'portUrgence' => $portUrgence,
                            'rd_handicap' => $rd_handicap, 'dateReconnaissance1' => $dateReconnaissance1, 'dateReconnaissanceFin1' => $dateReconnaissanceFin1, 'chk_RQTH' => $chk_RQTH,
                            'invaliditeRQTH' => $invaliditeRQTH, 'dateReconnaissance2' => $dateReconnaissance2, 'chk_pension' => $chk_pension, 'chk_maladiePro' => $chk_maladiePro,
                            'chk_allocationH' => $chk_allocationH, 'chk_mutile' => $chk_mutile, 'invaliditeAllocationH' => $invaliditeAllocationH, 'invaliditeMaladiePro' => $invaliditeMaladiePro,
                            'dateReconnaissance3' => $dateReconnaissance3, 'dateReconnaissance4' => $dateReconnaissance4, 'dateReconnaissanceFin3' => $dateReconnaissanceFin3, 'rd_choix' => $rd_choix,
                            'rd_choixMutuelle' => $rd_choixMutuelle, 'chk_informations' => $chk_informations, 'rd_pension' => $rd_pension, 'nomEnfant' => $nomEnfant, 'prenomEnfant' => $prenomEnfant,
                            'dateNaissanceEnfant' => $dateNaissanceEnfant, 'rd_sexeEnfant' => $rd_sexeEnfant, 'rd_chargeEnfant' => $rd_chargeEnfant, 'adherents' => $adherents, 'rd_motif' => $rd_motif,
                            'pointure' => $pointure, 'tailleVeste' => $tailleVeste, "nomPieces" => $nomPieces, "prenomPieces" => $prenomPieces, 'taillePantalon' => $taillePantalon,
                            'tailleCombinaison' => $tailleCombinaison, 'teeShirt' => $teeShirt, 'date_signature' => $date_signature, 'lieu_signature' => $lieu_signature, 'erreur' => $erreur, 'role' => $role,
                            'societe' => $societe, "dateLimite" => $dateLimite, "checkFrancais" => $checkFrancais, "droitImageInterne" => $droitImageInterne, "droitImageExterne" => $droitImageExterne,
                            'emploi' => $metier, "dfs" => $dfs, "reglementInterieur" => $reglementInterieur, "bulletinElectronique" => $bulletinElectronique,
                            'liste_types_fichiers' => $listeTypesFichiers, 'liste_fichiers' => $listeFichiers
                ]);
            } else {
                return new Response("L'employé n'existe pas, si vous venez de recevoir votre mail, essayez de recharger la page d'ici 2 minutes ou veuillez nous contacter svp.", 404);
            }
        } else {
            return new Response("", 404);
        }
    }

    /**
     * @Route("resultatEmbauche")
     */
    public function resultatEmbaucheAction(Request $r, ConnexionMySQL $conn) { //request $r représente requette html client->serveur
        $token = $r->get('token');
        $role = $r->get('role');
        $infosUser = $conn->getInfosUser($token);
        $nom = $r->get('nom'); //je recupère la valeur de nom
        $nomDeNaissance = $r->get('nomDeNaissance');
        $prenom1 = $r->get('prenom1');
        $prenom2 = $r->get('prenom2');
        $prenom3 = $r->get('prenom3');
        $secu = $r->get('secu');
        $dateNaissance = $r->get('dateNaissance');
        $lieuNaissance = $r->get('lieuNaissance');
        $deptNaissance = $r->get('deptNaissance');
        $paysNaissance = $r->get('paysNaissance');
        $nationalite = $r->get('nationalite');
        $rd_situation = $r->get('rd_situation');
        $nbEnfant = $r->get('nbEnfant');

        $rd_sexeEnfant = [];
        $rd_chargeEnfant = [];

        $nomEnfant = $r->get('nomEnfant');
        $prenomEnfant = $r->get('prenomEnfant');
        $dateNaissanceEnfant = $r->get('dateNaissanceEnfant');


        for ($i = 1; $i <= $nbEnfant; $i++) {
            $rd_sexeEnfant[$i] = $r->get("rd_sexeEnfant" . $i);
            $rd_chargeEnfant[$i] = $r->get("rd_chargeEnfant" . $i);
        }


        $adresse = $r->get('adresse');
        $CP = $r->get('CP');
        $ville = $r->get('ville');
        $telDomicile = $r->get('telDomicile');
        $portable = $r->get('portable');
        $mail = $r->get('mail');
        $urgence = $r->get('urgence');
        $telUrgence = $r->get('telUrgence');
        $portUrgence = $r->get('portUrgence');

        $rd_handicap = $r->get('rd_handicap');

        $chk_RQTH = $r->get('chk_RQTH');
        $chk_maladiePro = $r->get('chk_maladiePro');
        $chk_allocationH = $r->get('chk_allocationH');
        $chk_mutile = $r->get('chk_mutile');
        $chk_pension = $r->get('chk_pension');

        $dateReconnaissance1 = $r->get('dateReconnaissance1');
        $dateReconnaissanceFin1 = $r->get('dateReconnaissanceFin1');
        $dateReconnaissance2 = $r->get('dateReconnaissance2');
        $dateReconnaissance3 = $r->get('dateReconnaissance3');
        $dateReconnaissanceFin3 = $r->get('dateReconnaissanceFin3');
        $dateReconnaissance4 = $r->get('dateReconnaissance4');


        $invaliditeRQTH = $r->get('invaliditeRQTH');
        $invaliditeMaladiePro = $r->get('invaliditeMaladiePro');
        $invaliditeAllocationH = $r->get('invaliditeAllocationH');
        $rd_pension = $r->get('rd_pension');

        $rd_choix = $r->get('rd_choix');
        $rd_choixMutuelle = $r->get('rd_choixMutuelle');
        $adherents = $r->get('adherents');
        $rd_motif = $r->get('rd_motif');
        $pointure = $r->get('pointure');
        $tailleVeste = $r->get('tailleVeste');
        $taillePantalon = $r->get('taillePantalon');
        $tailleCombinaison = $r->get('tailleCombinaison');
        $teeShirt = $r->get('teeShirt');
        $lieu_signature = $r->get('lieu_signature');
        $date_signature = $r->get('date_signature');
        $nomPieces = $r->get('nom');
        $prenomPieces = $r->get('prenom1');
        $chk_informations = $r->get('chk_informations');
        $erreur = [];

        $regexAlpha1 = "/^[a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ'\-\_\.\ ]{0,}$/";
        $regexAlpha0 = "/^[a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ'\-\_\.\ ]{1,}$";

        $regexNum1 = 1;
        $regexNum0 = 1;

        $regexLieu = "/^[a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ\'\-\_\.\/\ ]{1,}$/";
        $regexAlpha1 = 1;

        $regexDate0 = "/^([0-9]{4}-[0-9]{2}-[0-9]{2}){0,}$/";
        $regexDate1 = "/^([0-9]{4}-[0-9]{2}-[0-9]{2}){1,}$/";
        $regexDate2 = "/^([0-9]{2}\/[0-9]{2}\/[0-9]{4} [0-9]{2}:[0-9]{2}){1,}$/";

        $regexDept = "/^(([\d]{1,2} )|(2[abAB] ))*(([\d]{1,2})|(2[abAB]))$/";

        $regexPays = "/^[a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ'\-\_\.\ç ]{1,}$/";
        $regexCP = "/^(([0-8][0-9])|(9[0-5]))[0-9]{3}$/";
        $regexAdresse = "/^[a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ'0-9\-\_\.\ ]{1,}$/";

        $regexTel0 = "/^0{0,1}[1-9]{0,1}[0-9]{0,8}$/";
        $regexTel1 = "/^(?:(?:\+|00)33|0)\s*[1-9](?:[\s.-]*\d{2}){4}$/";

        $regexMail = "/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/";

        $regexPourCent0 = "/^[0-9]{0,3}$/";
        $regexPourCent1 = "/^[0-9]{1,3}$/";

        $regexNum0 = "/^[0-9]{0,}$/";
        $regexNum1 = "/^[0-9]{1,}$/";

        $regexAdherents = "/^[1-9][0-9]{0,}$/";

        $regexTaille = "/^[s,S,M,m,L,l,XL,xl,XXL,xxl,XXXL,xxxl]{0,2}$/";


        if (!preg_match($regexAlpha1, $nom)) { //test, je vérifie si ce qui est dans la balise correspond au format attendu    
            $erreur[] = "nom";
        }
        if (!preg_match($regexAlpha1, $nomDeNaissance)) {
            $erreur[] = "nomDeNaissance";
        }
        if (!preg_match($regexAlpha1, $prenom1)) {
            $erreur[] = "prénom1";
        }
        if (!preg_match($regexAlpha0, $prenom2)) {
            $erreur[] = "prenom2";
        }
        if (!preg_match($regexAlpha0, $prenom3)) {
            $erreur[] = "prenom3";
        }
        if (!preg_match("/^([1-4,78]{1})([0-9]{2})([0-9]{2})([1-99\2A\2B\2a\2b]{2})([001-999]{3})([001-999]{3})([01-97]{2}) {0,15}$/", $secu)) {
            $erreur[] = "secu";
        }
        if (!preg_match($regexDate1, $dateNaissance)) {
            $erreur[] = "dateNaissance";
        }
        if (!preg_match($regexLieu, $lieuNaissance)) {
            $erreur[] = "lieuNaissance";
        }
        if (!preg_match($regexDept, $deptNaissance)) {
            $erreur[] = "deptNaissance";
        }
        if (!preg_match($regexPays, $paysNaissance)) {
            $erreur[] = "paysNaissance";
        }
        if (!preg_match($regexPays, $nationalite)) {
            $erreur[] = "nationalite";
        }
        if (empty($rd_situation) == true) {
            $erreur[] = "rd_situation";
        }
        if (!preg_match($regexNum1, $nbEnfant)) {
            $erreur[] = "nbEnfant";
        }
        if (!preg_match($regexAdresse, $adresse)) {
            $erreur[] = "adresse";
        }
        if (!preg_match($regexCP, $CP)) {
            $erreur[] = "CP";
        }
        if (!preg_match($regexLieu, $ville)) {
            $erreur[] = "ville";
        }
        if (!preg_match($regexTel0, $telDomicile)) {
            $erreur[] = "telDomicile";
        }
        if (!preg_match($regexTel1, $portable)) {
            $erreur[] = "portable";
        }
        if (!preg_match($regexMail, $mail)) {
            $erreur[] = "mail";
        }
        if (!preg_match($regexAlpha1, $urgence)) {
            $erreur[] = "urgence";
        }
        if (!preg_match($regexTel0, $telUrgence)) {
            $erreur[] = "telUrgence";
        }
        if (!preg_match($regexTel1, $portUrgence)) {
            $erreur[] = "portUrgence";
        }

        if (!preg_match($regexDate0, $dateReconnaissance1)) {
            $erreur[] = "dateReconnaissance1";
        }
        if (!preg_match($regexDate0, $dateReconnaissanceFin1)) {
            $erreur[] = "dateReconnaissanceFin1";
        }
        if (!preg_match($regexPourCent0, $invaliditeRQTH)) {
            $erreur[] = "invaliditeRQTH";
        }
        if (!preg_match($regexDate0, $dateReconnaissance2)) {
            $erreur[] = "dateReconnaissance2";
        }
        if (!preg_match($regexPourCent0, $invaliditeMaladiePro)) {
            $erreur[] = "invaliditeMaladiePro";
        }

        if (!preg_match($regexDate0, $dateReconnaissance3)) {
            $erreur[] = "dateReconnaissance3";
        }
        if (!preg_match($regexDate0, $dateReconnaissanceFin3)) {
            $erreur[] = "dateReconnaissanceFin3";
        }

        if (!preg_match($regexPourCent0, $invaliditeAllocationH)) {
            $erreur[] = "dateReconnaissanceFin3";
        }
        if (!preg_match($regexDate0, $dateReconnaissance4)) {
            $erreur[] = "dateReconnaissanceFin4";
        }
        if (!preg_match($regexAdherents, $adherents)) {
            $erreur[] = "portUrgence";
        }
        if (!preg_match($regexNum0, $pointure)) {
            $erreur[] = "pointure";
        }
        if (!preg_match($regexTaille, $tailleVeste)) {
            $erreur[] = "tailleVeste";
        }
        if (!preg_match($regexTaille, $tailleVeste)) {
            $erreur[] = "tailleVeste";
        }
        if (!preg_match($regexTaille, $taillePantalon)) {
            $erreur[] = "taillePantalon";
        }
        if (!preg_match($regexTaille, $tailleCombinaison)) {
            $erreur[] = "tailleCombinaison";
        }
        if (!preg_match($regexTaille, $teeShirt)) {
            $erreur[] = "teeShirt";
        }
        if (!preg_match($regexLieu, $lieu_signature)) {
            $erreur[] = "lieu_signature";
        }
        if (!preg_match($regexAlpha1, $nomPieces)) {
            $erreur[] = "nomPieces";
        }
        if (!preg_match($regexAlpha1, $prenomPieces)) {
            $erreur[] = "prenomPieces";
        }

        if (!preg_match($regexDate1, $date_signature)) {
            $erreur[] = "date_signature";
        }


        if (count($erreur) == 0) { //si test positif renvoi resultat
            return $this->redirectToRoute('embauche', [
                        'nom' => $nom, 'nomDeNaissance' => $nomDeNaissance, 'prenom1' => $prenom1, 'prenom2' => $prenom2, 'prenom3' => $prenom3, 'token' => $token, 'secu' => $secu,
                        'dateNaissance' => $dateNaissance, 'lieuNaissance' => $lieuNaissance, 'deptNaissance' => $deptNaissance, 'paysNaissance' => $paysNaissance, 'nationalite' => $nationalite,
                        'rd_situation' => $rd_situation, 'nbEnfant' => $nbEnfant, 'liste_enfants' => $infosUser['liste_enfants'], 'adresse' => $adresse, 'CP' => $CP, 'ville' => $ville,
                        'telDomicile' => $telDomicile, 'portable' => $portable, 'mail' => $mail, 'urgence' => $urgence, 'telUrgence' => $telUrgence, 'portUrgence' => $portUrgence,
                        'rd_handicap' => $rd_handicap, 'dateReconnaissance1' => $dateReconnaissance1, 'dateReconnaissanceFin1' => $dateReconnaissanceFin1, 'chk_RQTH' => $chk_RQTH,
                        'invaliditeRQTH' => $invaliditeRQTH, 'dateReconnaissance2' => $dateReconnaissance2, 'chk_pension' => $chk_pension, 'chk_maladiePro' => $chk_maladiePro, 'chk_allocationH' => $chk_allocationH,
                        'chk_mutile' => $chk_mutile, 'invaliditeAllocationH' => $invaliditeAllocationH, 'invaliditeMaladiePro' => $invaliditeMaladiePro, 'dateReconnaissance3' => $dateReconnaissance3,
                        'dateReconnaissance4' => $dateReconnaissance4, 'dateReconnaissanceFin3' => $dateReconnaissanceFin3, 'rd_choix' => $rd_choix, 'rd_choixMutuelle' => $rd_choixMutuelle,
                        'chk_informations' => $chk_informations, 'rd_pension' => $rd_pension, 'nomEnfant' => $nomEnfant, 'prenomEnfant' => $prenomEnfant, 'dateNaissanceEnfant' => $dateNaissanceEnfant,
                        'rd_sexeEnfant' => $rd_sexeEnfant, 'rd_chargeEnfant' => $rd_chargeEnfant, 'adherents' => $adherents, 'rd_motif' => $rd_motif, 'pointure' => $pointure, 'tailleVeste' => $tailleVeste,
                        "nomPieces" => $nomPieces, "prenomPieces" => $prenomPieces, 'taillePantalon' => $taillePantalon, 'tailleCombinaison' => $tailleCombinaison, 'teeShirt' => $teeShirt,
                        'date_signature' => $date_signature, 'lieu_signature' => $lieu_signature, 'erreur' => $erreur, 'role' => $role,
            ]);
        } else {
            return $this->render('default/resultat.html.twig', [
                        'nom' => $nom, 'nomDeNaissance' => $nomDeNaissance, 'prenom1' => $prenom1, 'prenom2' => $prenom2, 'prenom3' => $prenom3, 'token' => $token, 'secu' => $secu,
                        'dateNaissance' => $dateNaissance, 'lieuNaissance' => $lieuNaissance, 'deptNaissance' => $deptNaissance, 'paysNaissance' => $paysNaissance, 'nationalite' => $nationalite,
                        'rd_situation' => $rd_situation, 'nbEnfant' => $nbEnfant, 'liste_enfants' => $infosUser['liste_enfants'], 'adresse' => $adresse, 'CP' => $CP, 'ville' => $ville,
                        'telDomicile' => $telDomicile, 'portable' => $portable, 'mail' => $mail, 'urgence' => $urgence, 'telUrgence' => $telUrgence, 'portUrgence' => $portUrgence,
                        'rd_handicap' => $rd_handicap, 'dateReconnaissance1' => $dateReconnaissance1, 'dateReconnaissanceFin1' => $dateReconnaissanceFin1, 'chk_RQTH' => $chk_RQTH,
                        'invaliditeRQTH' => $invaliditeRQTH, 'dateReconnaissance2' => $dateReconnaissance2, 'chk_pension' => $chk_pension, 'chk_maladiePro' => $chk_maladiePro, 'chk_allocationH' => $chk_allocationH,
                        'chk_mutile' => $chk_mutile, 'invaliditeAllocationH' => $invaliditeAllocationH, 'invaliditeMaladiePro' => $invaliditeMaladiePro, 'dateReconnaissance3' => $dateReconnaissance3,
                        'dateReconnaissance4' => $dateReconnaissance4, 'dateReconnaissanceFin3' => $dateReconnaissanceFin3, 'rd_choix' => $rd_choix, 'rd_choixMutuelle' => $rd_choixMutuelle,
                        'chk_informations' => $chk_informations, 'rd_pension' => $rd_pension, 'nomEnfant' => $nomEnfant, 'prenomEnfant' => $prenomEnfant, 'dateNaissanceEnfant' => $dateNaissanceEnfant,
                        'rd_sexeEnfant' => $rd_sexeEnfant, 'rd_chargeEnfant' => $rd_chargeEnfant, 'adherents' => $adherents, 'rd_motif' => $rd_motif, 'pointure' => $pointure, 'tailleVeste' => $tailleVeste,
                        "nomPieces" => $nomPieces, "prenomPieces" => $prenomPieces, 'taillePantalon' => $taillePantalon, 'tailleCombinaison' => $tailleCombinaison, 'teeShirt' => $teeShirt,
                        'date_signature' => $date_signature, 'lieu_signature' => $lieu_signature, 'erreur' => $erreur
            ]);
        }
    }

    /**
     * @Route("exportBase216")
     */
    public function exportBase216(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));
        $ip = $_SERVER['SERVER_ADDR'];
        if ($ip == "192.168.10.216") {
            $result = $conn->getAllInfos($token);
            $etatCivil = $result["etat_civil"];
            $adresse = $result["adresse"];
            $listeEnfants = $result["liste_enfants"];
            $urgence = $result["urgence"];
            $taille = $result["taille"];
            $handicap = $result["handicap"];
            $mutuelle = $result["mutuelle"];
            $mutuelle = $result["mutuelle"];
            $signature = $result["signature"];
            $liste_fichiers = $result["liste_fichiers"];

            $manager = $conn->getInfosManager($token);
//        var_dump($manager);
            $usr_id = $adresse["usr_id"];
            if ($adresse["code_postal"] == "") {
                $adresse["code_postal"] = "null";
            }
            if ($handicap["RQTH"] == '') {
                $handicap["RQTH"] = 0;
            }
            if ($handicap["pourcentage_RQTH"] == "") {
                $handicap["pourcentage_RQTH"] = 0;
            }
            if ($handicap["maladie_pro"] == "") {
                $handicap["maladie_pro"] = 0;
            }
            if ($handicap["pourcentage_maladie_pro"] == "") {
                $handicap["pourcentage_maladie_pro"] = 0;
            }
            if ($handicap["allocation"] == "") {
                $handicap["allocation"] = 0;
            }
            if ($handicap["pourcentage_allocation"] == "") {
                $handicap["pourcentage_allocation"] = 0;
            }
            if ($handicap["mutile"] == "") {
                $handicap["mutile"] = 0;
            }
            if ($handicap["pension"] == "") {
                $handicap["pension"] = 0;
            }
            if ($mutuelle["adhesion"] == "") {
                $mutuelle["adhesion"] = 0;
            }
            if ($mutuelle["nombre_personnes"] == "") {
                $mutuelle["nombre_personnes"] = 0;
            }
            if ($taille["pointure"] == "") {
                $taille["pointure"] = 0;
            }
            if ($manager["emploi"] == "Cariste/Conducteur d'engin") {
                $manager["emploi"] = "Cariste/Conducteur d\'engin";
            }

//        var_dump($result);
            $ligne[0] = "Update adresse set adresse = '" . $adresse["adresse"] . "', code_postal = " . $adresse["code_postal"] . ",ville = '" . $adresse["ville"] . "', tel_dom = '" . $adresse["tel_dom"] . "',portable= '" . $adresse["portable"] . "',email = '" . $adresse["email"] . "' where usr_id = '" . $usr_id . "';\n";
            $ligne[1] = "Update etat_civil set nom ='" . $etatCivil["nom"] . "',nom_naissance = '" . $etatCivil["nom_naissance"] . "',prenom1 = '" . $etatCivil["prenom1"] . "',prenom2 = '" . $etatCivil["prenom2"] . "',prenom3 = '" . $etatCivil["prenom3"] . "',dept_naissance= '" . $etatCivil["dept_naissance"] . "', secu = '" . $etatCivil["secu"] . "',date_naissance = '" . $etatCivil["date_naissance"] . "',lieu_naissance = '" . $etatCivil["lieu_naissance"] . "',pays_naissance= '" . $etatCivil["pays_naissance"] . "',nationalite= '" . $etatCivil["nationalite"] . "',situation_familiale= '" . $etatCivil["situation_familiale"] . "' WHERE usr_id='" . $usr_id . "';\n";
            $ligne[2] = "Update handicap set handicap = '" . $handicap["handicap"] . "',RQTH= '" . $handicap["RQTH"] . "',date_debut_RQTH= '" . $handicap["date_debut_RQTH"] . "',date_fin_RQTH = '" . $handicap["date_fin_RQTH"] . "',pourcentage_RQTH = '" . $handicap["pourcentage_RQTH"] . "',maladie_pro = '" . $handicap["maladie_pro"] . "',date_maladie_pro = '" . $handicap["date_maladie_pro"] . "',pourcentage_maladie_pro = '" . $handicap["pourcentage_maladie_pro"] . "',allocation = '" . $handicap["allocation"] . "',date_debut_allocation = '" . $handicap["date_debut_allocation"] . "',date_fin_allocation = '" . $handicap["date_fin_allocation"] . "',pourcentage_allocation = '" . $handicap["pourcentage_allocation"] . "',mutile = '" . $handicap["mutile"] . "',date_mutile = '" . $handicap["date_mutile"] . "',pension = '" . $handicap["pension"] . "' WHERE usr_id='" . $usr_id . "';\n";
            $ligne[3] = "Update mutuelle set adherent = '" . $mutuelle["adherent"] . "',adhesion= '" . $mutuelle["adhesion"] . "',regime= '" . $mutuelle["regime"] . "',nombre_personnes = '" . $mutuelle["nombre_personnes"] . "',motif_refus = '" . $mutuelle["motif_refus"] . "' WHERE usr_id='" . $usr_id . "' ;\n";
            $ligne[4] = "Update signature set ville = '" . $signature["ville"] . "',date = '" . $signature["date"] . "',conditionsAcceptees = '" . $signature["conditionsAcceptees"] . "', droitImageInterne='" . $signature["droitImageInterne"] . "', droitImageExterne='" . $signature["droitImageExterne"] . "',dfs='" . $signature["dfs"] . "', reglementInterieur='" . $signature["reglementInterieur"] . "',bulletinElectronique='" . $signature["bulletinElectronique"] . "' WHERE usr_id='" . $usr_id . "';\n";
            $ligne[5] = "Update urgence set  personne = '" . $urgence["personne"] . "',fixe = '" . $urgence["fixe"] . "',portable = '" . $urgence["portable"] . "' WHERE usr_id='" . $usr_id . "';\n";
            $ligne[6] = "Update vetements set pointure = '" . $taille["pointure"] . "',veste = '" . $taille["veste"] . "',pantalon = '" . $taille["pantalon"] . "',combinaison = '" . $taille["combinaison"] . "',t_shirt = '" . $taille["t_shirt"] . "' WHERE usr_id='" . $usr_id . "';\n";
            $ligne[7] = "Update manager set societe = '" . $manager["societe"] . "',service = '" . $manager["service"] . "',etablissement = '" . $manager["etablissement"] . "',emploi = '" . $manager["emploi"] . "',date_fin_cdd = '" . $manager["date_fin_cdd"] . "',mensuelBrut = '" . $manager["mensuel_brut"] . "',mensuelNet = '" . $manager["mensuel_net"] . "',annuelBrut = '" . $manager["annuel_brut"] . "',annuelNet = '" . $manager["annuel_net"] . "',emploi = '" . $manager["emploi"] . "',dernierBlock = '" . $manager["dernierBlock"] . "' WHERE usr_id='" . $usr_id . "';\n";
            $i = 8;
            foreach ($listeEnfants as $enfant) {
                if ($i == 8) {
                    $ligne[8] = "Delete from enfants where usr_id = '" . $usr_id . "';\n";
                }
                $ligne[$i + 1] = "Insert into enfants set usr_id='" . $usr_id . "',nom = '" . $enfant["nom"] . "',prenom = '" . $enfant["prenom"] . "',sexe = '" . $enfant["sexe"] . "',date_naissance = '" . $enfant["date_naissance"] . "',a_charge = '" . $enfant["a_charge"] . "',numero = '" . $enfant["numero"] . "' ;\n";
//        $result = $conn->updateEtatCivil($token, $params);
                $i++;
            }
            $handle = fopen("/home/administrateur/rep18/export" . $usr_id . "216.sql", "w+");
            foreach ($ligne as $insert) {
                fwrite($handle, $insert);
            }
            fclose($handle);
            exec("curl -k intrarh.reseau.lan/app.php/saveExport216");
//            $handle2 = fopen("/home/administrateur/rep44/export" . $usr_id . "216.sql", "w+");
//            foreach ($ligne as $insert) {
//                fwrite($handle2, $insert);
//            }
//            fclose($handle2);
//            exec("curl -k 192.168.10.44/vincent/intraRH/web/app_dev.php/route");
        }
        return new response("");
    }

    /**
     * @Route("updateEtatCivil")
     */
    public function updateEtatCivilAction(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));
        $conn->changeDernierBlock("Etat_civil", $token);
        $result = $conn->updateEtatCivil($token, $params);
        $this->exportBase216($r, $conn);

        return new response("");
    }

    /**
     * @Route("updateConditions")
     */
    public function updateConditions(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));


        $conn->changeDernierBlock("Complete", $token);
        $conn->changeConditions($token, $params);
        $this->exportBase216($r, $conn);
        return new response("");
    }

    /**
     * @Route("ajaxComplete")
     */
    public function formulaireComplete(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');

        $conn->changeDernierBlock("Complete", $token);
        $this->exportBase216($r, $conn);
        return new response("");
    }

    /**
     * @Route("updateAdresse")
     */
    public function updateAdresse(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));

        $conn->changeDernierBlock("Adresse", $token);
        $result = $conn->updateAdresse($token, $params);
        $this->exportBase216($r, $conn);
        return new response("");
    }

    /**
     * @Route("updateUrgence")
     */
    public function updateUrgence(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));

        $conn->changeDernierBlock("Urgence", $token);
        $result = $conn->updateUrgence($token, $params);
        $this->exportBase216($r, $conn);
        return new response("");
    }

    /**
     * @Route("updateHandicap")
     */
    public function updateHandicap(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));

        $conn->changeDernierBlock("Handicap", $token);
        if ($params[0] == 0) {
            $conn->updateNonHandicap($token, $params);
        } else {

            $conn->updateHandicap($token, $params);
        }
        $this->exportBase216($r, $conn);
        return new response("");
    }

    /**
     * @Route("updateMutuelle")
     */
    public function updateMutuelleAction(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));
        $conn->changeDernierBlock("Mutuelle", $token);
        $result = $conn->updateMutuelle($token, $params);
        $this->exportBase216($r, $conn);
        return new response("");
    }

    /**
     * @Route("updateTaille")
     */
    public function updateTailleAction(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));
        if ($params[0] == "") {
            $params[0] = "0";
        }

        $conn->changeDernierBlock("Taille", $token);
        $result = $conn->updateTaille($token, $params);
        $this->exportBase216($r, $conn);

        return new response("");
    }

    /**
     * @Route("getService")
     */
    public function getService(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));

        $result = $conn->getService($token);
        $this->exportBase216($r, $conn);

        return new response($result);
    }

    /**
     * @Route("deleteEnfants")
     */
    public function deleteEnfantsAction(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');

        $result = $conn->deleteEnfants($token);

        return new response("");
    }

    /**
     * @Route("deleteFichierUtilisateur")
     */
    public function deleteFichierUtilisateur(Request $r, ConnexionMySQL $conn) {
        $fichier = $r->get('fichier');
        $fichierBDD = $r->get('fichierBDD');
        $token = $r->get('token');
        $result = $conn->deleteFichierUtilisateur($fichierBDD);

        $handle = fopen("/home/administrateur/rep18/deleteFichier" . $token . time() . ".sql", "w+");
        $sql = "DELETE FROM fichiers WHERE nom ='" . $fichierBDD . "';";
        $sql .= "DELETE FROM fichiers WHERE nom ='" . $fichierBDD . "';";
        fwrite($handle, $sql);
        fclose($handle);
        exec("rm -f uploaded_files/" . $token . "/" . $fichier);
        exec("curl -k intrarh.reseau.lan/app.php/saveExport216");


        return new response("");
    }

    /**
     * @Route("ajouteEnfant")
     */
    public function ajouteEnfantAction(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));
        $conn->changeDernierBlock("Enfants", $token);
        $conn->deleteEnfants($token);

        $length = sizeof($params) - 1;
        $nbEnfant = $params[$length][5];
        $j = 0;
        for ($i = 0; $i < $nbEnfant; $i++) {


            $result = $conn->ajouteEnfant($token, $params[$i]);
            $j++;
        }
        $this->exportBase216($r, $conn);
        return new Jsonresponse($result);
    }

    /**
     * @Route("updateSignature")
     */
    public function updateSignatureAction(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));

        $conn->changeDernierBlock("Signature", $token);
        $result = $conn->updateSignature($token, $params);
        $this->exportBase216($r, $conn);
        return new response("");
    }

    /**
     * @Route("ajouteFichier")
     */
    public function ajouteFichierAction(Request $r, ConnexionMySQL $conn, \Swift_Mailer $mailer) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));
        $conn->deleteJustification($params, $token);
        $conn->ajouteFichier($token, $params);
        $fichiers = $conn->getFichiers($token);
        $handleFichier = fopen("/home/administrateur/rep18/exportFichier216" . $token . time() . ".sql", "w+");
        $sql = "Delete from fichiers where usr_id = '" . $token . "';\n";
        $sql .= "Delete from fichiers WHERE usr_id = '" . $token . "' and type ='" . params[0] . "' and justification !='';\n";
        foreach ($fichiers as $fichier) {
            $token = $fichier["usr_id"];
            $type = $fichier["type"];
            $nom = $fichier["nom"];
            $justification = $fichier["justification"];
            $sql .= "INSERT INTO fichiers (`usr_id`, `type`, `nom`, `justification`) VALUES ('" . $token . "', '" . $type . "', '" . $nom . "', '" . $justification . "') ON duplicate key update usr_id = '" . $token . "', type = '" . $type . "', nom ='" . $nom . "';\n";
        }
        $sql .= "UPDATE manager set dernierBlock = 'Fichiers', envoiMailFichier='1' WHERE usr_id = '" . $token . "';\n";

        if ($conn->getEnvoiMailFichier($token)[0] == "0") {
            $infosMail = $conn->getNomPrenom($token);
            $nom = $infosMail[0]["nom"];
            $prenom = $infosMail[0]["prenom1"];
            $message = (new \Swift_Message('Block Fichiers ' . strtoupper($nom) . " " . $prenom))
                    ->setFrom('dsi@bonifay.fr')
                    ->setBcc(["1332@bonifay.fr",
//                            "1144@bonifay.fr"
                    ])
//                    ->setTo("rh@bonifay.fr")
                    ->setBody(strtoupper($nom) . " " . $prenom . " à rempli son formulaire d'embauche jusqu'aux fichiers. "
                    . "https://rh.bonifay.fr/embauche?token=" . $token . "&role=rh");
            'text/html';
            $conn->updateEnvoiMailFichier($token);

            $mailer->send($message);
        }
        fwrite($handleFichier, $sql);

        fclose($handleFichier);

        exec("curl -k intrarh.reseau.lan/app.php/saveExport216");
//        var_dump($sql);

        return new response($result ? 1 : 0);
    }

    /**
     * @Route("importFichierJustificatif", name="importFichierJustificatif")
     */
    public function importFichierJustificatif(Request $r, ConnexionMySQL $conn) {


        $token = $r->get('token');
        $params = json_decode($r->get('params'));

        $id = $params[0];
        $justification = $params[1];

        if ($conn->isTokenValid($token)) {
            if ($conn->existToken($token) == $token) {
                $conn->updateJustificationFichier($id, $token, $justification);

                $handleFichier = fopen("/home/administrateur/rep18/exportFichierJustification216" . $token . time() . ".sql", "w+");
                $sql = "INSERT INTO fichiers (usr_id, type, justification, nom) VALUES ('" . $token . "', '" . $id . "', '" . $justification . "', '') ON duplicate key update justification ='" . $justification . "';
        \n";
                fwrite($handleFichier, $sql);
                fclose($handleFichier);
                exec("curl -k intrarh.reseau.lan/app.php/saveExport216");
            } else {
                return new Response("Le token n\'existe pas");
            }
        } else {
            return new Response("Le format du token n\'est pas valide");
        }

        return new Response("");
    }

    public function getMetier(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));

        $result = $conn->getMetier($token);

        return $result;
    }

    public function getNationalite(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));

        $result = $conn->getNationalite($token);

        return $result;
    }

    public function getRqth(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $params = json_decode($r->get('params'));

        $result = $conn->getRqth($token);

        return $result;
    }

    /**
     * @Route("existEmploye", name="exist_employe")
     */
    public function existEmploye(Request $r, ConnexionMySQL $conn) {
        $token = $r->get('token');
        $result = $conn->existToken($token);
        return new Response($result);
    }

    /**
     * @Route("getAllDossierNonUpdate")
     */
    public function getAllDossierNonUpdate(ConnexionMySQL $conn, \Swift_Mailer $mailer) {


        $dossiers = $conn->getAllDossierNonUpdate();

        foreach ($dossiers as $dossier) {
//            var_dump($dossier);
            $message = (new \Swift_Message('Inactivitée ' . strtoupper($dossier["nom"]) . " " . $dossier["prenom1"]))
                    ->setFrom('dsi@bonifay.fr')
                    ->setBcc(["1332@bonifay.fr",
//                            "1144@bonifay.fr"
                    ])
//                    ->setTo("rh@bonifay.fr")
                    ->setBody("Le formulaire de " . strtoupper($dossier["nom"]) . " " . $dossier["prenom1"] . " n'à pas été modifié depuis plus de 7 jours . "
                    . "https://rh.bonifay.fr/embauche?token=" . $dossier["usr_id"] . "&role=rh");
            'text/html';

            $mailer->send($message);
        }

        return new response("");
    }

    /**
     * @Route("insertBaseFormEmbauche")
     */
    public function insertBaseFormEmbauche(Request $r, ConnexionMySQL $conn) {
        $chemin = "/home/administrateur/rep18/";
//        $chemin = "/home/administrateur/script_formEmbauche/";
        $fichiers = scandir($chemin);
        $token = $r->get("token");
        foreach ($fichiers as $fichier) {
            if (strpos($fichier, "import") === 0 || strpos($fichier, "delete") === 0) {
               // var_dump("dans le if");
                if ($token && strpos($fichier, "deleteUser") === 0) {
                    exec("rm -fr uploaded_files/" . $token);
                }
//var_dump("test");
                $handle = fopen($chemin . $fichier, "r");
                $sql = fread($handle, filesize($chemin . $fichier));
                $conn->insertBaseFrom216($sql);
                fclose($handle);
                exec("rm " . $chemin . $fichier);
            }
        }
//        $chemin = "/home/administrateur/rep44/";
//        $fichiers = scandir($chemin);
//        foreach ($fichiers as $fichier) {
//            if (strpos($fichier, "import") === 0 || strpos($fichier, "delete") === 0) {
//                $handle = fopen($chemin . $fichier, "r");
//                $sql = fread($handle, filesize($chemin . $fichier));
//                $conn->insertBaseFrom216($sql);
//                fclose($handle);
//                exec("rm " . $chemin . $fichier);
//            }
//        }

        return new response("");
    }

}
