diff --git a/assets/css/offres_stages.css b/assets/css/offres_stages.css index 10fcc44..ee70eda 100644 --- a/assets/css/offres_stages.css +++ b/assets/css/offres_stages.css @@ -131,7 +131,7 @@ .flex-row { - width: calc(100% / 2); + width: calc(100% / 4); text-align: center; padding: 0.2em 0.2em; } @@ -227,6 +227,13 @@ font-size: 20px; } +.flex-row-modal +{ + width: calc(100% / 2); + text-align: center; + padding: 0.2em 0.2em; +} + .close { color: #aaa; diff --git a/assets/js/offres_stages.js b/assets/js/offres_stages.js index 449245f..f7403e8 100644 --- a/assets/js/offres_stages.js +++ b/assets/js/offres_stages.js @@ -1,3 +1,5 @@ +var ID_internship=0; + $(document).ready(function(){ $("#li_stages").delay(2000).addClass("hover"); @@ -27,8 +29,10 @@ $(document).ready(function(){ }); $(".button_postuler").click(function() { - $(".modal").show(); + window.ID_internship = $(this).attr("id_internship"); + $(".title_modal").html("Postuler pour " + $(this).attr("name_internship")); $(".info_message").hide(); + $(".modal").show(); }); window.onclick = function(event) { @@ -37,6 +41,13 @@ $(document).ready(function(){ } } + $('.form_postuler').on('submit',(function(){ + check = true; + if ($('#cv').get(0).files.length === 0 || $('#lm').get(0).files.length === 0) { check = false; } + if (check) {$(".form_postuler").append('');} + return check; + + })); }); \ No newline at end of file diff --git a/candidatures.php b/candidatures.php index 5385d83..33d566a 100644 --- a/candidatures.php +++ b/candidatures.php @@ -25,8 +25,6 @@ if (isset($_SESSION["username"])){ $query_candidatures = $bdd->prepare($sql); $query_candidatures->execute(['user' => $_SESSION["username"]]); $results_candidatures = $query_candidatures->fetchALL(PDO::FETCH_OBJ); - - ?> @@ -60,22 +58,41 @@ if (isset($_SESSION["username"])){
Fichiers en lien avec la candidature:
- - + - + - + - +
Curriculum Vitae :cv_file_path_candidature; ?> + cv_file_path_candidature != "") {echo 'Déposé ';} + else {echo 'Non disponible ';} + ?> +
Lettre de motivation :lm_file_path_candidature; ?> + lm_file_path_candidature != "") {echo 'Déposé ';} + else {echo 'Non disponible ';} + ?> +
Fiche de validation :validation_form_file_path_candidature; ?> + validation_form_file_path_candidature != "") {echo 'Déposé ';} + else {echo 'Non disponible ';} + ?> +
Convention de stage :internship_agreement_file_path_candidature; ?> + internship_agreement_file_path_candidature != "") {echo 'Déposé ';} + else {echo 'Non disponible ';} + ?> +
@@ -88,7 +105,7 @@ if (isset($_SESSION["username"])){
Tout est vide...
- Il n'y a aucun favori dans les parages   + Vous n'avez aucune candidature en cours  
diff --git a/controller/0 b/controller/0 new file mode 100644 index 0000000..0d8eff2 Binary files /dev/null and b/controller/0 differ diff --git a/controller/Postuler.php b/controller/Postuler.php new file mode 100644 index 0000000..5a7952a --- /dev/null +++ b/controller/Postuler.php @@ -0,0 +1,50 @@ +prepare('SELECT ID_user FROM users WHERE username=:user;'); + $query_ID_user->execute(['user' => $_SESSION["username"]]); + $ID_user = $query_ID_user->fetchALL(PDO::FETCH_OBJ)[0]->ID_user; + + $location_cv = "/documents/users/".$ID_user."/candidatures/".$_POST["ID_internship"]."/".$_FILES['cv']['name']; + $location_lm = "/documents/users/".$ID_user."/candidatures/".$_POST["ID_internship"]."/".$_FILES['lm']['name']; + + echo $location_cv; + echo "
"; + echo $location_lm; + + try { + if (!is_dir('../documents/')){ + mkdir("../documents/", 0700); + } + if (!is_dir('../documents/users')){ + mkdir("../documents/users", 0700); + } + if (!is_dir("../documents/users/".$ID_user."/")){ + mkdir("../documents/users/".$ID_user."/", 0700); + } + if (!is_dir("../documents/users/".$ID_user."/"."candidatures/")){ + mkdir("../documents/users/".$ID_user."/"."candidatures/", 0700); + } + if (!is_dir("../documents/users/".$ID_user."/"."candidatures/".$_POST["ID_internship"])){ + mkdir("../documents/users/".$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' => $ID_user, 'ID_internship' => $_POST["ID_internship"]]); + + echo ""; + } + catch (Exception $e) { + echo "zut une erreur"; + } + } else {echo "POST file incomplet";} + } +} +?> \ No newline at end of file diff --git a/documents/users/1/candidatures/2/CV.pdf b/documents/users/1/candidatures/2/CV.pdf new file mode 100644 index 0000000..e41ab97 Binary files /dev/null and b/documents/users/1/candidatures/2/CV.pdf differ diff --git a/documents/users/1/candidatures/2/LM.pdf b/documents/users/1/candidatures/2/LM.pdf new file mode 100644 index 0000000..0d8eff2 Binary files /dev/null and b/documents/users/1/candidatures/2/LM.pdf differ diff --git a/offres_stages.php b/offres_stages.php index b627ca1..81116fd 100644 --- a/offres_stages.php +++ b/offres_stages.php @@ -4,7 +4,7 @@ session_start(); if (isset($_SESSION["username"])){ - $sql = 'SELECT ID_internship ,name_internship, description_internship, duration_internship, remuneration_internship, offer_date_internship, place_number_internship, competences_internship, city_localisation, postal_code_localisation, GROUP_CONCAT(name_promotion SEPARATOR ", ") AS "name_promotion", name_company, note FROM internships NATURAL JOIN localisations NATURAL JOIN companies NATURAL JOIN internship_for_promo NATURAL JOIN promotions NATURAL JOIN evaluate INNER JOIN users ON evaluate.ID_user=users.ID_user NATURAL JOIN roles WHERE name_role="Pilote" AND visibility_company="O"'; + $sql = 'SELECT ID_internship ,name_internship, description_internship, duration_internship, remuneration_internship, offer_date_internship, place_number_internship, competences_internship, city_localisation, postal_code_localisation, GROUP_CONCAT(name_promotion SEPARATOR ", ") AS "name_promotion", name_company, email_company, email_company, note FROM internships NATURAL JOIN localisations NATURAL JOIN companies NATURAL JOIN internship_for_promo NATURAL JOIN promotions NATURAL JOIN evaluate INNER JOIN users ON evaluate.ID_user=users.ID_user NATURAL JOIN roles WHERE name_role="Pilote" AND visibility_company="O"'; $params = []; $selected = []; if (isset($_GET["localisation"]) && isset($_GET["competences"]) && isset($_GET["confiance"]) && isset($_GET["dateoffre"]) && isset($_GET["duree"]) && isset($_GET["promotion"])){ @@ -77,7 +77,7 @@ if (isset($_SESSION["username"])){ $query_promotions = $bdd->prepare('SELECT name_promotion FROM internships NATURAL JOIN internship_for_promo NATURAL JOIN promotions NATURAL JOIN companies WHERE visibility_company="O" GROUP BY name_promotion;'); $query_promotions->execute(); $results_promotions = $query_promotions->fetchALL(PDO::FETCH_OBJ); - + $query_wishlist = $bdd->prepare('SELECT ID_internship FROM internships NATURAL JOIN wishlist INNER JOIN users ON wishlist.ID_user=users.ID_user WHERE username=:user;'); $query_wishlist->execute(['user' => $_SESSION["username"]]); $results_wishlist = $query_wishlist->fetchALL(PDO::FETCH_OBJ); @@ -85,6 +85,14 @@ if (isset($_SESSION["username"])){ foreach ($results_wishlist as $result) { array_push($wishlist, $result->ID_internship); } + + $query_candidatures = $bdd->prepare('SELECT candidatures.ID_internship FROM candidatures NATURAL JOIN users INNER JOIN internships ON candidatures.ID_internship=internships.ID_internship WHERE username=:user;'); + $query_candidatures->execute(['user' => $_SESSION["username"]]); + $results_candidatures = $query_candidatures->fetchALL(PDO::FETCH_OBJ); + $candidatures = []; + foreach ($results_candidatures as $result) { + array_push($candidatures, $result->ID_internship); + } ?> @@ -96,17 +104,17 @@ if (isset($_SESSION["username"])){ diff --git a/test2.php b/test2.php index a7fd538..a928bde 100644 --- a/test2.php +++ b/test2.php @@ -1,20 +1,35 @@ - - prepare('SELECT ID_user FROM users WHERE username=:user;'); + $query_ID_user->execute(['user' => $_SESSION["username"]]); + $ID_user = $query_ID_user->fetchALL(PDO::FETCH_OBJ)[0]->ID_user; -/* Prepare to save the file upload to the upload folder */ -$location = "upload/".$filename; + $location_cv = "./documents/users/".$ID_user."/".$_FILES['cv']['name']; + $location_lm = "./documents/users/".$ID_user."/".$_FILES['lm']['name']; -/* Permanently save the file upload to the upload folder */ -if ( move_uploaded_file($_FILES['file']['tmp_name'], $location) ) { - echo '

The HTML5 and php file upload was a success!

'; -} else { - echo '

The php and HTML5 file upload failed.

'; + if (!is_dir('./documents/')){ + mkdir("./documents/", 0700); + } + if (!is_dir('./documents/users')){ + mkdir("./documents/users", 0700); + } + if (!is_dir("./documents/users/".$ID_user)){ + mkdir("./documents/users/".$ID_user, 0700); + } + + + try { + move_uploaded_file($_FILES['cv']['tmp_name'], $location_cv); + move_uploaded_file($_FILES['lm']['tmp_name'], $location_lm); + echo "tout est ok"; + } + catch (Exception $e) { + echo "zut une erreur"; + } + } } - -?> - - \ No newline at end of file +?> \ No newline at end of file diff --git a/upload/hotel-mario-non-hd_1.mp4 b/upload/hotel-mario-non-hd_1.mp4 deleted file mode 100644 index 942c9c2..0000000 Binary files a/upload/hotel-mario-non-hd_1.mp4 and /dev/null differ