fonctionnalités primaires backend complètes. Manque jeton csrf.
This commit is contained in:
parent
94e777d031
commit
3bd2bcd01a
4 changed files with 141 additions and 5 deletions
14
api.php
14
api.php
|
@ -147,6 +147,20 @@
|
|||
|
||||
break;
|
||||
|
||||
case "generer_chronologie":
|
||||
|
||||
try{
|
||||
|
||||
$res = generer_chronologie();
|
||||
|
||||
echo(json_encode(["status"=>"1","resultats"=>$res]));
|
||||
|
||||
}catch(Exception $e){
|
||||
echo( json_encode(["status"=> "0","msg"=> $e->getMessage() ]) );
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
echo(json_encode(['status'=> '2','msg'=> "Ce point d'arrivée n'existe pas dans l'api."]));
|
||||
break;
|
||||
|
|
36
bdd.php
36
bdd.php
|
@ -268,4 +268,40 @@ function supprimer_ensemble($ensembleId){
|
|||
$sql = "DELETE FROM ensembles WHERE id=$ensembleId";
|
||||
}
|
||||
|
||||
|
||||
function generer_chronologie(){
|
||||
|
||||
global $conn;
|
||||
|
||||
// on va choper les 10 derniers trucs televerses par les gens
|
||||
$sql = "SELECT * FROM ensembles ORDER BY date_televersement DESC";
|
||||
|
||||
$res = $conn->execute_query($sql);
|
||||
$i = 0;
|
||||
$ensembles = array();
|
||||
while (($ens = $res->fetch_assoc()) && $i < 10){
|
||||
|
||||
array_push($ensembles,$ens);
|
||||
|
||||
$i++;
|
||||
}
|
||||
|
||||
// on rajoute le chemin vers chaque document présent dans l'ensemble
|
||||
$resultat_complet = array();
|
||||
foreach($ensembles as $ens){
|
||||
$sql = "SELECT titre,upload_path,ensemble_id FROM documents WHERE ensemble_id=?";
|
||||
$res = $conn->execute_query($sql,array($ens["id"]));
|
||||
$ens["documents"] = array();
|
||||
while($doc = $res->fetch_assoc()){
|
||||
array_push($ens["documents"],$doc);
|
||||
}
|
||||
|
||||
array_push($resultat_complet,$ens);
|
||||
|
||||
}
|
||||
|
||||
|
||||
return $resultat_complet;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
93
index.php
93
index.php
|
@ -25,6 +25,11 @@
|
|||
</form>
|
||||
|
||||
<a href="televerser.php">Téléverser des documents</a>
|
||||
|
||||
|
||||
<div id="liste_resultats">
|
||||
</div>
|
||||
|
||||
</body>
|
||||
<script>
|
||||
async function test_auth(){
|
||||
|
@ -78,17 +83,95 @@
|
|||
resp = await fetch(url);
|
||||
|
||||
data = await resp.json();
|
||||
|
||||
// vide d'abord les éléments présents dans la liste sur la page
|
||||
document.getElementById("liste_resultats").innerHTML = "";
|
||||
|
||||
if(data.status == 1){
|
||||
data.resultats.forEach(doc => {
|
||||
const img = document.createElement("img");
|
||||
img.src = doc.upload_path;
|
||||
img.setAttribute("onclick","document.location.href='ens.php?ensemble_id="+doc.ensemble_id.toString()+"'");
|
||||
document.body.appendChild(img);
|
||||
|
||||
|
||||
|
||||
// on affiche le titre du résultat parce qu'on est pas des sauvages
|
||||
let titre_ensemble;
|
||||
titre_ensemble = document.createElement("h2");
|
||||
titre_ensemble.innerText = doc.titre;
|
||||
document.getElementById("liste_resultats").appendChild(titre_ensemble);
|
||||
|
||||
// images ou pdf ?
|
||||
let ele;
|
||||
if(doc.upload_path.toString().split(".").pop() == "pdf"){
|
||||
ele = document.createElement("embed");
|
||||
|
||||
|
||||
}else{
|
||||
ele = document.createElement("img");
|
||||
}
|
||||
|
||||
ele.src = doc.upload_path;
|
||||
ele.setAttribute("onclick","document.location.href='ens.php?ensemble_id="+doc.ensemble_id.toString()+"'");
|
||||
document.getElementById("liste_resultats").appendChild(ele);
|
||||
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
async function gen_chronologie(){
|
||||
var url = "/annales/api.php/generer_chronologie";
|
||||
|
||||
console.log(url);
|
||||
|
||||
resp = await fetch(url);
|
||||
|
||||
data = await resp.json();
|
||||
console.log(data);
|
||||
// vide d'abord les éléments présents dans la liste sur la page
|
||||
document.getElementById("liste_resultats").innerHTML = "";
|
||||
|
||||
// ensuite on ajoute un petit titre à la chronologie
|
||||
let titre = document.createElement("h1");
|
||||
titre.innerText = "Documents récemment publiés";
|
||||
document.getElementById("liste_resultats").appendChild(titre);
|
||||
|
||||
// et on remplis avec ce que l'api a généré
|
||||
if(data.status == 1){
|
||||
data.resultats.forEach(ens => {
|
||||
|
||||
ens.documents.forEach(doc=>{
|
||||
// on affiche le titre du résultat parce qu'on est pas des sauvages
|
||||
let titre_ensemble;
|
||||
titre_ensemble = document.createElement("h2");
|
||||
titre_ensemble.innerText = doc.titre;
|
||||
document.getElementById("liste_resultats").appendChild(titre_ensemble);
|
||||
|
||||
// images ou pdf ?
|
||||
let apercu;
|
||||
if(doc.upload_path.toString().split(".").pop() == "pdf"){
|
||||
ele = document.createElement("embed");
|
||||
|
||||
}else{
|
||||
ele = document.createElement("img");
|
||||
}
|
||||
|
||||
ele.src = doc.upload_path;
|
||||
ele.setAttribute("onclick","document.location.href='ens.php?ensemble_id="+doc.ensemble_id.toString()+"'");
|
||||
document.getElementById("liste_resultats").appendChild(ele);
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
gen_chronologie();
|
||||
|
||||
test_auth();
|
||||
document.getElementById("recherche_input").onkeydown =function(event) {
|
||||
if (event.key === "Enter"){
|
||||
|
@ -106,6 +189,8 @@
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
|
|
@ -21,7 +21,8 @@ $sql = "
|
|||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
commentaire_auteur TEXT,
|
||||
valide BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
corrige_inclu BOOLEAN NOT NULL DEFAULT FALSE
|
||||
corrige_inclu BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
date_televersement DATE NOT NULL DEFAULT CURRENT_DATE()
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS documents (
|
||||
|
|
Loading…
Reference in a new issue