Newer
Older
require_once("templates/mailToResp.php");
mail($to, $subject, $message, $headers);
require_once("templates/mailToApp.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;
// }
// Crée le dossier annexes
function createFilesFolder ($rootpath, $applicantId) {
$path = $rootpath . $applicantId . "/";
if (!mkdir($path, 0777, true)) {
die('Echec lors de la création du dossier');
}
return $path;
function uploadFile(&$candidateData, $pathAnnexes, $file, $key, $name){
$extension = strtolower(strrchr($file['name'], '.'));
$file['name'] = $name . $extension;
move_uploaded_file($file['tmp_name'], $pathAnnexes . $file['name']);
$candidateData->fichiers[$name] = $file['name'];
unset($candidateData->fichiers[$key]);
}
function uploadAllFiles($pathAnnexes, $postedFiles, $candidateData){
uploadFile($candidateData, $pathAnnexes, $postedFiles['photo'], 'photo', "photo-passeport");
uploadFile($candidateData, $pathAnnexes, $postedFiles['idCard'], 'idCard', "carte-identite");
uploadFile($candidateData, $pathAnnexes, $postedFiles['cv'], 'cv', "curriculum-vitae");
uploadFile($candidateData, $pathAnnexes, $postedFiles['lettre'], '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], 'certifs'.$i, "annexe".$i);
if ($candidateData->formation=="polyMecanicien" && isset($postedFiles['gimch'])) {
uploadFile($candidateData, $pathAnnexes, $postedFiles['gimch'], 'gimch', "certificat-gimch");
if ($candidateData->formation=="informaticien" && isset($postedFiles['griTestInput'])) {
uploadFile($candidateData, $pathAnnexes, $postedFiles['griTestInput'], 'griTestInput', "certificat-gri");
$id = insertPersonalInfos($pdo, $candidateData);
insertResponsibles($pdo, $candidateData->representants, $id);
insertScolarities($pdo, $candidateData->scolarite, $id);
insertProActivities($pdo, $candidateData->activitesProfessionnelles, $id);
insertTrainings ($pdo, $candidateData->stages, $id);
}
function insertPersonalInfos ($pdo, $candidateData) {
$sqlreq = "INSERT INTO applicant
(applicant_guest_sciper, 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_guest_sciper, :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)";
$query->bindParam(':applicant_guest_sciper', $candidateData->guest_sciper, PDO::PARAM_STR);
$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);
// languages
$speaks_fr = in_array("fr", $candidateData->connaissancesLinguistiques);
$speaks_de = in_array("de", $candidateData->connaissancesLinguistiques);
$speaks_en = in_array("en", $candidateData->connaissancesLinguistiques);
$speaks_other = in_array("others", $candidateData->connaissancesLinguistiques);
$query->bindParam(':applicant_speaks_french', $speaks_fr, PDO::PARAM_BOOL);
$query->bindParam(':applicant_speaks_german', $speaks_de, PDO::PARAM_BOOL);
$query->bindParam(':applicant_speaks_english', $speaks_en, PDO::PARAM_BOOL);
$query->bindParam(':applicant_speaks_other', $speaks_other, 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);
$query->execute();
return $pdo->lastInsertId();
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
}
function insertResponsibles ($pdo, $representants, $applicantId) {
$addedRepIds = [];
// insert responsibles
$sqlreq = "INSERT INTO responsible (responsible_gender, responsible_name, responsible_fsname, responsible_street, responsible_npa, responsible_phone)
VALUES (:responsible_gender, :responsible_name, :responsible_fsname, :responsible_street, :responsible_npa, :responsible_phone)";
foreach ($representants as $rep) {
if ($rep['nom'] != '') {
$query = $pdo->prepare($sqlreq);
$query->bindParam(':responsible_gender', $rep['genre'], PDO::PARAM_STR);
$query->bindParam(':responsible_name', $rep['nom'], PDO::PARAM_STR);
$query->bindParam(':responsible_fsname', $rep['prenom'], PDO::PARAM_STR);
$query->bindParam(':responsible_street', $rep['addresse']['rue'], PDO::PARAM_STR);
$query->bindParam(':responsible_npa', $rep['addresse']['NPA'], PDO::PARAM_STR);
$query->bindParam(':responsible_phone', $rep['telephone'], PDO::PARAM_STR);
$query->execute();
array_push($addedRepIds, $pdo->lastInsertId());
}
}
// link responsibles
$main_rep_id = $addedRepIds[0] ? $addedRepIds[0] : null;
$sec_rep_id = $addedRepIds[1] ? $addedRepIds[1] : null;
$sqlreq = "UPDATE applicant SET fk_applicant_main_responsible=:fk_applicant_main_responsible, fk_applicant_sec_responsible=:fk_applicant_sec_responsible WHERE applicant_id=:applicant_id";
$query = $pdo->prepare($sqlreq);
$query->bindParam(':fk_applicant_main_responsible', $main_rep_id, PDO::PARAM_INT);
$query->bindParam(':fk_applicant_sec_responsible', $sec_rep_id, PDO::PARAM_INT);
$query->bindParam(':applicant_id', $applicantId, PDO::PARAM_INT);
$query->execute();
}
function insertScolarities ($pdo, $scolarities, $applicantId) {
// insert scolarities
$sqlreq = "INSERT INTO scolarity (scolarity_school, scolarity_location, scolarity_level, scolarity_years, applicant_applicant_id)
VALUES (:scolarity_school, :scolarity_location, :scolarity_level, :scolarity_years, :applicant_applicant_id)";
foreach ($scolarities as $scolarity) {
if ($scolarity['ecole'] != '') {
$query = $pdo->prepare($sqlreq);
$query->bindParam(':scolarity_school', $scolarity['ecole'], PDO::PARAM_STR);
$query->bindParam(':scolarity_location', $scolarity['lieu'], PDO::PARAM_STR);
$query->bindParam(':scolarity_level', $scolarity['niveau'], PDO::PARAM_STR);
$query->bindParam(':scolarity_years', $scolarity['annees'], PDO::PARAM_STR);
$query->bindParam(':applicant_applicant_id', $applicantId, PDO::PARAM_INT);
$query->execute();
}
}
}
function insertProActivities ($pdo, $activities, $applicantId) {
// insert professionnal activities
$sqlreq = "INSERT INTO professional_activity (professional_activity_company, professional_activity_location, professional_activity_activity, professional_activity_years, applicant_applicant_id)
VALUES (:professional_activity_company, :professional_activity_location, :professional_activity_activity, :professional_activity_years, :applicant_applicant_id)";
foreach ($activities as $activity) {
if ($activity['employeur'] != '') {
$query = $pdo->prepare($sqlreq);
$query->bindParam(':professional_activity_company', $activity['employeur'], PDO::PARAM_STR);
$query->bindParam(':professional_activity_location', $activity['lieu'], PDO::PARAM_STR);
$query->bindParam(':professional_activity_activity', $activity['activite'], PDO::PARAM_STR);
$query->bindParam(':professional_activity_years', $activity['annees'], PDO::PARAM_STR);
$query->bindParam(':applicant_applicant_id', $applicantId, PDO::PARAM_INT);
$query->execute();
}
}
}
function insertTrainings ($pdo, $trainings, $applicantId) {
// insert training / stages
$sqlreq = "INSERT INTO training (training_job, training_company, applicant_applicant_id)
VALUES (:training_job, :training_company, :applicant_applicant_id)";
foreach ($trainings as $training) {
if ($training['metier'] != '') {
$query = $pdo->prepare($sqlreq);
$query->bindParam(':training_job', $training['metier'], PDO::PARAM_STR);
$query->bindParam(':training_company', $training['employeur'], PDO::PARAM_STR);
$query->bindParam(':applicant_applicant_id', $applicantId, PDO::PARAM_INT);
$query->execute();
}
}
function insertFiles ($pdo, $files, $applicantId, $filesPath) {
// insert files
$userPath = $filesPath . $applicantId . "/";
$sqlreq = "INSERT INTO file (file_name, file_path, applicant_applicant_id)
VALUES (:file_name, :file_path, :applicant_applicant_id)";
foreach ($files as $file) {
$filePath = $userPath . $file;
$query = $pdo->prepare($sqlreq);
$query->bindParam(':file_name', $file, PDO::PARAM_STR);
$query->bindParam(':file_path', $filePath, PDO::PARAM_STR);
$query->bindParam(':applicant_applicant_id', $applicantId, PDO::PARAM_INT);
$query->execute();
}
}
function getPostulationBySciper ($pdo, $sciper) {
$sqlreq = "SELECT * FROM applicant WHERE applicant_guest_sciper = :sciper";
$query = $pdo->prepare($sqlreq);
$query->bindParam(':sciper', $sciper, PDO::PARAM_STR);
$query->execute();
function getResponsibleById ($pdo, $id) {
$sqlreq = "SELECT * FROM responsible WHERE responsible_id = :id";
$query = $pdo->prepare($sqlreq);
$query->bindParam(':id', $id, PDO::PARAM_STR);
$query->execute();
return $query->fetchAll();
}
function getScolaritiesById ($pdo, $id) {
$sqlreq = "SELECT * FROM scolarity WHERE applicant_applicant_id = :id";
$query = $pdo->prepare($sqlreq);
$query->bindParam(':id', $id, PDO::PARAM_STR);
$query->execute();
return $query->fetchAll();
}
function getProActivitiesById ($pdo, $id) {
$sqlreq = "SELECT * FROM professional_activity WHERE applicant_applicant_id = :id";
$query = $pdo->prepare($sqlreq);
$query->bindParam(':id', $id, PDO::PARAM_STR);
$query->execute();
return $query->fetchAll();
}
function getTrainingById ($pdo, $id) {
$sqlreq = "SELECT * FROM training WHERE applicant_applicant_id = :id";
$query = $pdo->prepare($sqlreq);
$query->bindParam(':id', $id, PDO::PARAM_STR);
$query->execute();
return $query->fetchAll();
}
function getFilesById ($pdo, $id) {
$sqlreq = "SELECT * FROM file WHERE applicant_applicant_id = :id";
$query = $pdo->prepare($sqlreq);
$query->bindParam(':id', $id, PDO::PARAM_STR);
$query->execute();
return $query->fetchAll();
}
function validFileAccess ($pdo, $id, $sciper) {
$sqlreq = "SELECT file_name, file_path FROM file INNER JOIN applicant ON file.applicant_applicant_id = applicant.applicant_id WHERE applicant.applicant_guest_sciper = :sciper AND file_id = :id";
$query = $pdo->prepare($sqlreq);
$query->bindParam(':id', $id, PDO::PARAM_STR);
$query->bindParam(':sciper', $sciper, PDO::PARAM_STR);
$query->execute();
return $query->fetchAll();
}
function deletePostulation ($pdo, $id, $sciper) {
}