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;
|
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:
|
default:
|
||||||
echo(json_encode(['status'=> '2','msg'=> "Ce point d'arrivée n'existe pas dans l'api."]));
|
echo(json_encode(['status'=> '2','msg'=> "Ce point d'arrivée n'existe pas dans l'api."]));
|
||||||
break;
|
break;
|
||||||
|
|
36
bdd.php
36
bdd.php
|
@ -268,4 +268,40 @@ function supprimer_ensemble($ensembleId){
|
||||||
$sql = "DELETE FROM ensembles WHERE id=$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>
|
</form>
|
||||||
|
|
||||||
<a href="televerser.php">Téléverser des documents</a>
|
<a href="televerser.php">Téléverser des documents</a>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="liste_resultats">
|
||||||
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
<script>
|
<script>
|
||||||
async function test_auth(){
|
async function test_auth(){
|
||||||
|
@ -78,17 +83,95 @@
|
||||||
resp = await fetch(url);
|
resp = await fetch(url);
|
||||||
|
|
||||||
data = await resp.json();
|
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){
|
if(data.status == 1){
|
||||||
data.resultats.forEach(doc => {
|
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();
|
test_auth();
|
||||||
document.getElementById("recherche_input").onkeydown =function(event) {
|
document.getElementById("recherche_input").onkeydown =function(event) {
|
||||||
if (event.key === "Enter"){
|
if (event.key === "Enter"){
|
||||||
|
@ -106,6 +189,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -21,7 +21,8 @@ $sql = "
|
||||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
commentaire_auteur TEXT,
|
commentaire_auteur TEXT,
|
||||||
valide BOOLEAN NOT NULL DEFAULT FALSE,
|
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 (
|
CREATE TABLE IF NOT EXISTS documents (
|
||||||
|
|
Loading…
Reference in a new issue