diff --git a/candidatures.php b/candidatures.php index cd85a34..bb9bc65 100644 --- a/candidatures.php +++ b/candidatures.php @@ -9,7 +9,7 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) { if ($query_check_cookie->rowCount() == 1){ $sql = 'SELECT ID_candidature, progression_candidature, cv_file_path_candidature, lm_file_path_candidature, validation_form_file_path_candidature, internship_agreement_file_path_candidature, name_internship, name_company, email_company, ID_user, username, city_localisation, postal_code_localisation FROM candidatures NATURAL JOIN users INNER JOIN internships ON candidatures.ID_internship=internships.ID_internship INNER JOIN localisations ON internships.ID_localisation=localisations.ID_localisation NATURAL JOIN companies WHERE username=:user ORDER BY offer_date_internship ASC;'; - $query_perm = $bdd->prepare('SELECT username, code_permission FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE username=:user;'); + $query_perm = $bdd->prepare('SELECT username, code_permission, name_role FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE username=:user;'); $query_perm->execute(['user' => $_COOKIE["username"]]); $results_perm = $query_perm->fetchALL(PDO::FETCH_OBJ); if ($query_perm->rowCount() >= 1) { @@ -22,10 +22,9 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) { } if ($showCandidatures){ - - $query_candidatures = $bdd->prepare($sql); - $query_candidatures->execute(['user' => $_COOKIE["username"]]); - $results_candidatures = $query_candidatures->fetchALL(PDO::FETCH_OBJ); + $query_candidatures = $bdd->prepare($sql); + $query_candidatures->execute(['user' => $_COOKIE["username"]]); + $results_candidatures = $query_candidatures->fetchALL(PDO::FETCH_OBJ); ?> @@ -41,8 +40,9 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
Candidatures
rowCount() >= 1) { - foreach ($results_candidatures as $result) { + if ($results_perm[0]->name_role == "Etudiant") { + if ($query_candidatures->rowCount() >= 1) { + foreach ($results_candidatures as $result) { ?>
name_internship; ?>
@@ -53,17 +53,45 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) {
city_localisation; ?> postal_code_localisation; ?> - email_company; ?>
- progression_candidature == 1) { ?> + progression_candidature == 0) {echo "Vous avez indiquez que l'entreprise a répondu négativemet à votre demande.
Ne perdez pas espoir :)";} + else if ($result->progression_candidature == 1) {?>
Status
La candidature est actuellement en attente de réponse de l'entreprise.
Prochaine étape:
A partir de l'adresse email de l'entreprise, nous vous invitons à la contacter afin de leur adresser votre CV et lettre de motivation.
-
- Est-ce que la réponse de la part de l'entreprise est positive ? -
- - + + prepare('SELECT code_permission FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE code_permission="SFx31" AND username=:user;'); + $query_perm_step2->execute(['user' => $_COOKIE["username"]]); + if ($query_perm_step2->rowCount() >= 1) { + echo '
Est-ce que la réponse de la part de l\'entreprise est positive ?
'; + echo ''; + echo ''; + } else { + echo '
Vous n\'avez pas la permission d\'entrer la réponse de l\'entreprise... Veuillez contacter votre pilote ou délégué(e).'; + } + ?> + progression_candidature == 2) { ?> +
Status
+
La candidature est actuellement en attendre d'une fiche de validation de sujet de stage complétée et signée par l'entreprise.
+
Prochaine étape:
+ A partir de l'adresse email de l'entreprise, nous vous invitons à la contacter afin de leur adresser votre CV et lettre de motivation. +
+ + prepare('SELECT code_permission FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE code_permission="SFx31" AND username=:user;'); + $query_perm_step2->execute(['user' => $_COOKIE["username"]]); + if ($query_perm_step2->rowCount() >= 1) { + echo '
Est-ce que la réponse de la part de l\'entreprise est positive ?
'; + echo ''; + echo ''; + } else { + echo '
Vous n\'avez pas la permission d\'entrer la réponse de l\'entreprise... Veuillez contacter votre pilote ou délégué(e).'; + } + ?>
@@ -120,7 +148,11 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) { Vous n'avez aucune candidature en cours   - + diff --git a/controller/403.php b/controller/403.php index d68a753..14750ce 100644 --- a/controller/403.php +++ b/controller/403.php @@ -14,7 +14,7 @@
Accès refusé
- Vous n'avez pas les permissions nécessaires pour accéder à cette page. + Vous n'avez pas les permissions nécessaires pour accéder à cette page ou de réaliser cette action.
diff --git a/controller/Manage_candidatures.php b/controller/Manage_candidatures.php new file mode 100644 index 0000000..cd94a1d --- /dev/null +++ b/controller/Manage_candidatures.php @@ -0,0 +1,48 @@ +prepare('SELECT * FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE code_permission="SFx1" AND username=:user AND password_user=:password_user;'); + $query_check_cookie->execute(['user' => $_COOKIE['username'], 'password_user' => $_COOKIE['pass']]); + if ($query_check_cookie->rowCount() == 1){ + + if (isset($_GET["response"]) && isset($_GET["ID_candidature"])) { + $response = $_GET["response"]; + $ID_candidature = $_GET["ID_candidature"]; + + $query_perm_step2 = $bdd->prepare('SELECT code_permission FROM users NATURAL JOIN roles NATURAL JOIN roles_has_permissions NATURAL JOIN permissions WHERE code_permission="SFx31" AND username=:user;'); + $query_perm_step2->execute(['user' => $_COOKIE["username"]]); + if ($query_perm_step2->rowCount() >= 1) { + $query_check_user_candidature = $bdd->prepare('SELECT * FROM users NATURAL JOIN candidatures WHERE username=:user AND ID_candidature=:ID_candidature;'); + $query_check_user_candidature->execute(['user' => $_COOKIE["username"], 'ID_candidature' => $ID_candidature]); + if ($query_perm_step2->rowCount() >= 1) { + if ($response == "y") { + $query_update_candidature = $bdd->prepare('UPDATE candidatures SET progression_candidature = "2" WHERE ID_candidature=:ID_candidature;'); + $query_update_candidature->execute(['ID_candidature' => $ID_candidature]); + } else if ($response == "n") { + $query_update_candidature = $bdd->prepare('UPDATE candidatures SET progression_candidature = "0" WHERE ID_candidature=:ID_candidature;'); + $query_update_candidature->execute(['ID_candidature' => $ID_candidature]); + } + echo ""; + } else { + echo ""; + } + } else { + header('HTTP/1.0 403 Forbidden'); + require "controller/403.php"; + } + } + } + } +} +?> \ No newline at end of file diff --git a/controller/Postuler.php b/controller/Postuler.php index 334cad9..dca3fbb 100644 --- a/controller/Postuler.php +++ b/controller/Postuler.php @@ -28,76 +28,80 @@ if (isset($_COOKIE['username']) && isset($_COOKIE['pass'])) { if ($result->code_permission == "SFx30"){ $permAlertPilot = true; } } - echo $permPostuler.$permAlertPilot; + if ($permPostuler) { + if (is_uploaded_file($_FILES['cv']['tmp_name']) && is_uploaded_file($_FILES['lm']['tmp_name']) && isset($_POST["ID_internship"])) { + $query_user = $bdd->prepare('SELECT ID_user, firstname_user, lastname_user, email_user FROM users WHERE username=:user;'); + $query_user->execute(['user' => $_COOKIE["username"]]); + $results_user = $query_user->fetchALL(PDO::FETCH_OBJ); + $query_pilots_of_user = $bdd->prepare('SELECT ID_user, firstname_user, lastname_user, email_user FROM users NATURAL JOIN user_belong_promo NATURAL JOIN promotions INNER JOIN roles ON roles.ID_role=users.ID_role WHERE (name_role="Pilote" OR name_role="Délégué(e)") AND ID_promotion=(SELECT ID_promotion FROM users NATURAL JOIN user_belong_promo NATURAL JOIN promotions WHERE username=:user);'); + $query_pilots_of_user->execute(['user' => $_COOKIE["username"]]); + $results_pilots_of_user = $query_pilots_of_user->fetchALL(PDO::FETCH_OBJ); - if (is_uploaded_file($_FILES['cv']['tmp_name']) && is_uploaded_file($_FILES['lm']['tmp_name']) && isset($_POST["ID_internship"])) { - $query_user = $bdd->prepare('SELECT ID_user, firstname_user, lastname_user, email_user FROM users WHERE username=:user;'); - $query_user->execute(['user' => $_COOKIE["username"]]); - $results_user = $query_user->fetchALL(PDO::FETCH_OBJ); + $location_cv = "/documents/users/".$results_user[0]->ID_user."/"."candidatures/".$_POST["ID_internship"]."/".$_FILES['cv']['name']; + $location_lm = "/documents/users/".$results_user[0]->ID_user."/"."candidatures/".$_POST["ID_internship"]."/".$_FILES['lm']['name']; - $query_pilots_of_user = $bdd->prepare('SELECT ID_user, firstname_user, lastname_user, email_user FROM users NATURAL JOIN user_belong_promo NATURAL JOIN promotions INNER JOIN roles ON roles.ID_role=users.ID_role WHERE (name_role="Pilote" OR name_role="Délégué(e)") AND ID_promotion=(SELECT ID_promotion FROM users NATURAL JOIN user_belong_promo NATURAL JOIN promotions WHERE username=:user);'); - $query_pilots_of_user->execute(['user' => $_COOKIE["username"]]); - $results_pilots_of_user = $query_pilots_of_user->fetchALL(PDO::FETCH_OBJ); - - $location_cv = "/documents/users/".$results_user[0]->ID_user."/"."candidatures/".$_POST["ID_internship"]."/".$_FILES['cv']['name']; - $location_lm = "/documents/users/".$results_user[0]->ID_user."/"."candidatures/".$_POST["ID_internship"]."/".$_FILES['lm']['name']; - - try { - if (!is_dir('../documents/')){ - mkdir("../documents/", 0700); - } - if (!is_dir('../documents/users')){ - mkdir("../documents/users", 0700); - } - if (!is_dir("../documents/users/".$results_user[0]->ID_user."/")){ - mkdir("../documents/users/".$results_user[0]->ID_user."/", 0700); - } - if (!is_dir("../documents/users/".$results_user[0]->ID_user."/"."candidatures/")){ - mkdir("../documents/users/".$results_user[0]->ID_user."/"."candidatures/", 0700); - } - if (!is_dir("../documents/users/".$results_user[0]->ID_user."/"."candidatures/".$_POST["ID_internship"])){ - mkdir("../documents/users/".$results_user[0]->ID_user."/"."candidatures/".$_POST["ID_internship"], 0700); - } - - move_uploaded_file($_FILES['cv']['tmp_name'], "..".$location_cv); - move_uploaded_file($_FILES['lm']['tmp_name'], "..".$location_lm); - - $query_ID_user = $bdd->prepare('INSERT INTO candidatures VALUES (NULL, "1", :location_cv, :location_lm, NULL, NULL, :ID_user, :ID_internship);'); - $query_ID_user->execute(['location_cv' => $location_cv, 'location_lm' => $location_lm, 'ID_user' => $results_user[0]->ID_user, 'ID_internship' => $_POST["ID_internship"]]); - try { - $mail->SMTPDebug = SMTP::DEBUG_SERVER; - $mail->isSMTP(); - $mail->Host = 'smtp.gmail.com'; - $mail->SMTPAuth = true; - $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; - $mail->Port = 587; - - $mail->Username = 'teamspeakcompte@gmail.com'; - $mail->Password = ''; - - $mail->setFrom('teamspeakcompte@gmail.com', 'Ceci Ton Stage'); - foreach ($results_pilots_of_user as $result) { - $mail->addAddress($result->email_user, $result->firstname_user." ".$result->lastname_user); + if (!is_dir('../documents/')){ + mkdir("../documents/", 0700); } + if (!is_dir('../documents/users')){ + mkdir("../documents/users", 0700); + } + if (!is_dir("../documents/users/".$results_user[0]->ID_user."/")){ + mkdir("../documents/users/".$results_user[0]->ID_user."/", 0700); + } + if (!is_dir("../documents/users/".$results_user[0]->ID_user."/"."candidatures/")){ + mkdir("../documents/users/".$results_user[0]->ID_user."/"."candidatures/", 0700); + } + if (!is_dir("../documents/users/".$results_user[0]->ID_user."/"."candidatures/".$_POST["ID_internship"])){ + mkdir("../documents/users/".$results_user[0]->ID_user."/"."candidatures/".$_POST["ID_internship"], 0700); + } + + move_uploaded_file($_FILES['cv']['tmp_name'], "..".$location_cv); + move_uploaded_file($_FILES['lm']['tmp_name'], "..".$location_lm); + + $query_insert_candidature = $bdd->prepare('REPLACE INTO candidatures VALUES (NULL, "1", :location_cv, :location_lm, NULL, NULL, :ID_user, :ID_internship);'); + $query_insert_candidature->execute(['location_cv' => $location_cv, 'location_lm' => $location_lm, 'ID_user' => $results_user[0]->ID_user, 'ID_internship' => $_POST["ID_internship"]]); - $mail->IsHTML(true); - $mail->Subject = "CTS - Depot de candidature"; - $mail->Body = 'Bonjour, nous vous informons d\'un depot de candidature de '.$results_user[0]->firstname_user.' '.$results_user[0]->lastname_user.'.'; - //$mail->AltBody = 'Plain text message body for non-HTML email client. Gmail SMTP email body.'; - - $mail->send(); - echo "Email message sent."; - } catch (Exception $e) { - echo "Error in sending email. Mailer Error: {$mail->ErrorInfo}"; + if ($permAlertPilot) { + try { + $mail->SMTPDebug = SMTP::DEBUG_SERVER; + $mail->isSMTP(); + $mail->Host = 'smtp.gmail.com'; + $mail->SMTPAuth = true; + $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; + $mail->Port = 587; + + $mail->Username = 'teamspeakcompte@gmail.com'; + $mail->Password = 'wptjusfmrxurmgcf'; + + $mail->setFrom('teamspeakcompte@gmail.com', 'Ceci Ton Stage'); + foreach ($results_pilots_of_user as $result) { + $mail->addAddress($result->email_user, $result->firstname_user." ".$result->lastname_user); + } + + $mail->IsHTML(true); + $mail->Subject = "CTS - Depot de candidature"; + $mail->Body = 'Bonjour, nous vous informons d\'un depot de candidature de '.$results_user[0]->firstname_user.' '.$results_user[0]->lastname_user.'.'; + //$mail->AltBody = 'Plain text message body for non-HTML email client. Gmail SMTP email body.'; + + $mail->send(); + echo "Email message sent."; + } catch (Exception $e) { + echo "Error in sending email. Mailer Error: {$mail->ErrorInfo}"; + } + } + echo ""; } - //echo ""; - } - catch (Exception $e) { - echo "zut une erreur"; - } - } else {echo "POST file incomplet";} + catch (Exception $e) { + echo "zut une erreur"; + } + } else {echo "POST file incomplet";} + } else { + header('HTTP/1.0 403 Forbidden'); + require "controller/403.php"; + } } } } diff --git a/documents/users/2/candidatures/2/CV.pdf b/documents/users/2/candidatures/2/CV.pdf deleted file mode 100644 index e41ab97..0000000 Binary files a/documents/users/2/candidatures/2/CV.pdf and /dev/null differ diff --git a/documents/users/2/candidatures/2/LM.pdf b/documents/users/2/candidatures/2/LM.pdf deleted file mode 100644 index 0d8eff2..0000000 Binary files a/documents/users/2/candidatures/2/LM.pdf and /dev/null differ