pour test si c'est ma lamp stack ou juste mon code qui pu
Этот коммит содержится в:
родитель
9f34926e7f
коммит
26731533b6
3 изменённых файлов: 134 добавлений и 14 удалений
10
bdd.php
10
bdd.php
|
@ -10,7 +10,7 @@ $conn = new mysqli($servername, $username, $password,$dbname);
|
|||
$uploadDir = '/opt/lampp/htdocs/annales/archives/';
|
||||
|
||||
// le type de document est classifié entre 0 et n dans l'ensemble des entiers naturels
|
||||
$max_val_type = 2;
|
||||
$max_val_type = 3;
|
||||
|
||||
// Liste des extensions autorisées pour les images
|
||||
$image_extensions = [
|
||||
|
@ -32,8 +32,11 @@ $pdf_extensions = ['pdf'];
|
|||
// Liste des extensions autorisées pour les fichiers de présentation (par exemple, PowerPoint)
|
||||
$presentation_extensions = ['ppt', 'pptx','odp','pptm','ppsx'];
|
||||
|
||||
// pour les fonctions speciales comme les quiz html...
|
||||
$ext_speciales = ["html"];
|
||||
|
||||
// Fusionner les listes en une seule liste
|
||||
$ext_autorisees = array_merge($image_extensions, $pdf_extensions, $presentation_extensions);
|
||||
$ext_autorisees = array_merge($image_extensions, $pdf_extensions, $presentation_extensions,$ext_speciales);
|
||||
|
||||
function check_ext($filename) {
|
||||
$extension = pathinfo($filename, PATHINFO_EXTENSION);
|
||||
|
@ -123,6 +126,9 @@ function saveFilesFromPost($postData,$id_ensemble) {
|
|||
|
||||
if ($safe_type < 1 || $safe_type > $max_val_type) {
|
||||
echo(json_encode(['status'=> '2','msg'=>"Le type de document spécifié n'existe pas."]));
|
||||
// supprime donc le fichier
|
||||
unlink($filePath);
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
|
|
17
index.php
17
index.php
|
@ -149,13 +149,22 @@
|
|||
titre_ensemble.innerText = doc.titre;
|
||||
document.getElementById("liste_resultats").appendChild(titre_ensemble);
|
||||
|
||||
// images ou pdf ?
|
||||
// fichiers spéciaux ?
|
||||
let apercu;
|
||||
if(doc.upload_path.toString().split(".").pop() == "pdf"){
|
||||
let ext = doc.upload_path.toString().split(".").pop();
|
||||
switch(ext){
|
||||
case "pdf":
|
||||
ele = document.createElement("embed");
|
||||
|
||||
}else{
|
||||
break;
|
||||
case "html":
|
||||
ele = document.createElement("iframe");
|
||||
ele.setAttribute("sandbox","allow-forms allow-modals allow-scripts")
|
||||
break;
|
||||
default:
|
||||
ele = document.createElement("img");
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
|
||||
ele.src = doc.upload_path;
|
||||
|
|
111
televerser.php
111
televerser.php
|
@ -21,21 +21,28 @@ $csrf = new CSRF();
|
|||
<input type="file" id="fileInput" multiple>
|
||||
<input type="text" placeholder="titre" id="titre"></input>
|
||||
|
||||
<select id="select_type">
|
||||
<select id="select_type" onchange="changer_mode()">
|
||||
<option value="1" >annale</option>
|
||||
<option value="2" >fiche_revision</option>
|
||||
|
||||
<option value="3" >HTML personnalisé</option>
|
||||
</select>
|
||||
|
||||
<input type="text" placeholder="commentaires généraux sur l'ensemble des documents" id="commentaire_auteur"></input>
|
||||
<div id="selectedImages"></div>
|
||||
|
||||
<div id="corrige_checkbox_wrapper">
|
||||
<input type="checkbox" id="corrige_checkbox">
|
||||
<label for="corrige_checkbox">Corrigé inclu</label>
|
||||
</div>
|
||||
|
||||
|
||||
<button type="button" onclick="uploadFiles()">Téléverser les fichiers</button>
|
||||
</form>
|
||||
|
||||
<div id="exercices_details_wrapper">
|
||||
<button onclick="ajouter_details_exo()">Ajouter les détails d'un exercice</button>
|
||||
|
||||
</div>
|
||||
<!-- Button to open the camera -->
|
||||
<button onclick="openCamera()">Open Camera</button>
|
||||
|
||||
|
@ -54,7 +61,25 @@ function uploadFiles() {
|
|||
|
||||
formData.append("corrige_inclu",document.getElementById("corrige_checkbox").value);
|
||||
|
||||
let ex = [{duree:"10",themes:["algèbre","analyse"],commentaire_exo:"ceci est un commenataire"},{duree:"15",themes:["elec analogique"],commentaire_exo:""}];
|
||||
//let ex = [{duree:"10",themes:["algèbre","analyse"],commentaire_exo:"ceci est un commenataire"},{duree:"15",themes:["elec analogique"],commentaire_exo:""}];
|
||||
|
||||
let ex = [];
|
||||
|
||||
// details des exos pour les annales
|
||||
if(formData["type"] == "1"){
|
||||
let details = document.getElementsByClassName("input-details-exo");
|
||||
|
||||
for(let i=0;i<=details.length;i = i + 3){
|
||||
ex.push({
|
||||
// duree
|
||||
duree:details[i].getAttribute.value,
|
||||
themes:details[i+1].getAttribute.value.split(","),
|
||||
commentaire_exo:details[i+2].getAttribute.value
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
formData.append("exercices",JSON.stringify(ex))
|
||||
|
||||
|
||||
|
@ -137,6 +162,7 @@ function openCamera() {
|
|||
}
|
||||
|
||||
|
||||
|
||||
function dataURLtoBlob(dataURL) {
|
||||
const arr = dataURL.split(',');
|
||||
const mime = arr[0].match(/:(.*?);/)[1];
|
||||
|
@ -148,6 +174,85 @@ function dataURLtoBlob(dataURL) {
|
|||
}
|
||||
return new Blob([u8arr], { type: mime });
|
||||
}
|
||||
|
||||
|
||||
function ajouter_details_exo(){
|
||||
duree = document.createElement("input");
|
||||
duree.setAttribute("type","number");
|
||||
duree.setAttribute("hint","Entrez la durée de l'exercice en minutes.")
|
||||
|
||||
// classe imortante pour itérer sur toutes les input
|
||||
// dans le bon ordre et les associer aux exos dans la requête post
|
||||
duree.setAttribute("class","input-details-exo");
|
||||
|
||||
document.getElementById("exercices_details_wrapper").appendChild(duree);
|
||||
|
||||
|
||||
themes = document.createElement("input");
|
||||
themes.setAttribute("type","text");
|
||||
themes.setAttribute("hint","Entrez les themes abordés par l'exercice séparés par une virgule.");
|
||||
themes.setAttribute("class","input-details-exo");
|
||||
|
||||
document.getElementById("exercices_details_wrapper").appendChild(themes);
|
||||
|
||||
|
||||
comm = document.createElement("input");
|
||||
comm.setAttribute("type","text");
|
||||
comm.setAttribute("hint","Un ptit commentaire sur l'exo ?");
|
||||
comm.setAttribute("class","input-details-exo");
|
||||
|
||||
document.getElementById("exercices_details_wrapper").appendChild(comm);
|
||||
|
||||
|
||||
// un peu de tendresse dans ce monde de brutes
|
||||
br =document.createElement("br");
|
||||
document.getElementById("exercices_details_wrapper").appendChild(br);
|
||||
hr =document.createElement("hr");
|
||||
document.getElementById("exercices_details_wrapper").appendChild(hr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function mode_html(){
|
||||
|
||||
document.getElementById("exercices_details_wrapper").setAttribute("hidden",true);
|
||||
document.getElementById("corrige_checkbox_wrapper").setAttribute("hidden",true);
|
||||
|
||||
}
|
||||
function mode_fiche(){
|
||||
document.getElementById("exercices_details_wrapper").setAttribute("hidden",true);
|
||||
document.getElementById("corrige_checkbox_wrapper").setAttribute("hidden",true);
|
||||
|
||||
}
|
||||
|
||||
function mode_annale(){
|
||||
document.getElementById("corrige_checkbox_wrapper").removeAttribute("hidden");
|
||||
document.getElementById("exercices_details_wrapper").removeAttribute("hidden");
|
||||
}
|
||||
|
||||
|
||||
function changer_mode(){
|
||||
|
||||
|
||||
switch(document.getElementById("select_type").value){
|
||||
// annale
|
||||
case "1":
|
||||
mode_annale();
|
||||
break;
|
||||
// fiche
|
||||
case "2":
|
||||
mode_fiche();
|
||||
break;
|
||||
|
||||
// html personnalisé
|
||||
case "3":
|
||||
mode_html();
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
|
Загрузка…
Сослаться в новой задаче