<?php function mailToResp($surname, $name, $job){ require_once("templates/mailToResp.php"); mail($to, $subject, $message, $headers); } // vire les accents et remplace caractere non alphanumeric par '-' function checkChars ($toCheck) { $toCheck = strtr($toCheck, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $toCheck = preg_replace('/([^.a-z0-9]+)/i', '-', $toCheck); return $toCheck; } function mailToApprenti($to, $job){ require_once("templates/mailToApp.php"); mail($to, $subject, $message, $headers); } function uploadFile(&$candidateData, $pathAnnexes, $file, $name){ $extension = strtolower(strrchr($file['name'], '.')); $file['name'] = $name . $extension; move_uploaded_file($file['tmp_name'], $pathAnnexes . $file['name']); $candidateData->fichiers[$name] = $file['name']; } //Crée le dossier principal est ses 2 sous-dossiers function createCandidateFolders($candidateData){ $paths = $candidateData->getPaths(); if (!mkdir($paths["pathInfos"], 0777, true)){ die('Echec lors de la création du dossier informations'); } if (!mkdir($paths["pathAnnexes"], 0777, true)){ die('Echec lors de la création du dossier annexes'); } } function uploadAllFiles($pathAnnexes, $postedFiles, $candidateData){ uploadFile($candidateData, $pathAnnexes, $postedFiles['photo'], "photo-passeport"); uploadFile($candidateData, $pathAnnexes, $postedFiles['idCard'], "carte-identite"); uploadFile($candidateData, $pathAnnexes, $postedFiles['cv'], "curriculum-vitae"); uploadFile($candidateData, $pathAnnexes, $postedFiles['lettre'], "lettre-motivation"); for ($i = 1; $i <= 9; $i++){ if (array_key_exists('certifs'.$i, $postedFiles)){ if (!($postedFiles['certifs'.$i]['name'] == "")) { uploadFile($candidateData, $pathAnnexes, $postedFiles['certifs'.$i], "annexe".$i); } } } if($candidateData->formation=="polyMecanicien" && isset($postedFiles['gimch'])){ uploadFile($candidateData, $pathAnnexes, $postedFiles['gimch'], "certificat-gimch"); } if($candidateData->formation=="informaticien" && isset($postedFiles['griTestInput'])){ uploadFile($candidateData, $pathAnnexes, $postedFiles['griTestInput'], "certificat-gri"); } unset($candidateData->tmp_fichiers); return $candidateData; } function insertDataIntoDB ($pdo, $candidateData) { echo "<pre>"; print_r($candidateData); $sqlreq = "INSERT INTO applicant (applicant_formation, applicant_it_section, applicant_formation_location, applicant_maturity, applicant_gender, applicant_name, applicant_fsname, applicant_address_street, applicant_address_npa, applicant_home_phone, applicant_personal_phone, applicant_mail, applicant_birthdate, applicant_origin, applicant_nationality, applicant_foreign_authorization, applicant_avs, applicant_main_language, applicant_speaks_french, applicant_speaks_german, applicant_speaks_english, applicant_speaks_other, applicant_has_majority, applicant_scolarity_end, applicant_already_applicant, applicant_already_applicant_year, applicant_application_date, applicant_application_status, fk_applicant_main_responsible, fk_applicant_sec_responsible) VALUES (:applicant_formation, :applicant_it_section, :applicant_formation_location, :applicant_maturity, :applicant_gender, :applicant_name, :applicant_fsname, :applicant_address_street, :applicant_address_npa, :applicant_home_phone, :applicant_personal_phone, :applicant_mail, :applicant_birthdate, :applicant_origin, :applicant_nationality, :applicant_foreign_authorization, :applicant_avs, :applicant_main_language, :applicant_speaks_french, :applicant_speaks_german, :applicant_speaks_english, :applicant_speaks_other, :applicant_has_majority, :applicant_scolarity_end, :applicant_already_applicant, :applicant_already_applicant_year, NOW(), 'new', null, null)"; // :fk_applicant_main_responsible, :fk_applicant_sec_responsible $query = $pdo->prepare($sqlreq); $query->bindParam(':applicant_formation', $candidateData->formation, PDO::PARAM_STR); $query->bindParam(':applicant_it_section', $candidateData->filiere, PDO::PARAM_STR); $query->bindParam(':applicant_formation_location', $candidateData->lieu, PDO::PARAM_STR); $query->bindParam(':applicant_maturity', $candidateData->maturite, PDO::PARAM_BOOL); $query->bindParam(':applicant_gender', $candidateData->genreApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_name', $candidateData->nomApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_fsname', $candidateData->prenomApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_address_street', $candidateData->addresseApprentiComplete['rue'], PDO::PARAM_STR); $query->bindParam(':applicant_address_npa', $candidateData->addresseApprentiComplete['NPA'], PDO::PARAM_STR); $query->bindParam(':applicant_home_phone', $candidateData->telFixeApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_personal_phone', $candidateData->telMobileApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_mail', $candidateData->mailApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_birthdate', $candidateData->dateNaissanceApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_origin', $candidateData->origineApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_nationality', $candidateData->nationaliteApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_foreign_authorization', $candidateData->permisEtranger, PDO::PARAM_STR); $query->bindParam(':applicant_avs', $candidateData->numeroAVS, PDO::PARAM_STR); $query->bindParam(':applicant_main_language', $candidateData->langueMaternelleApprenti, PDO::PARAM_STR); $query->bindParam(':applicant_speaks_french', $test, PDO::PARAM_BOOL); $query->bindParam(':applicant_speaks_german', $test, PDO::PARAM_BOOL); $query->bindParam(':applicant_speaks_english', $test, PDO::PARAM_BOOL); $query->bindParam(':applicant_speaks_other', $test, PDO::PARAM_BOOL); $query->bindParam(':applicant_has_majority', $candidateData->majeur, PDO::PARAM_BOOL); $query->bindParam(':applicant_scolarity_end', $candidateData->anneeFinScolarite, PDO::PARAM_STR); $query->bindParam(':applicant_already_applicant', $candidateData->dejaCandidat, PDO::PARAM_BOOL); $query->bindParam(':applicant_already_applicant_year', $candidateData->anneeCandidature, PDO::PARAM_STR); try { $query->execute(); } catch(Exception $e) { echo $e; } // create reponsable then // responsables // $pdo->bindParam(':fk_applicant_main_responsible', $candidateData->$job, PDO::PARAM_STR); // $pdo->bindParam(':fk_applicant_sec_responsible', $candidateData->$job, PDO::PARAM_STR); // files } ?>