push initial du projet par Stéphane

This commit is contained in:
Pontoporeia
2022-12-10 14:32:31 +01:00
commit ba6ee35e31
182 changed files with 38110 additions and 0 deletions

117
inc/inc-add-zip.php Executable file
View File

@@ -0,0 +1,117 @@
<?php
require("../config/config.php");
require(CHEMIN."inc/inc-functions.php");
require(CHEMIN."inc/classe_xml.php");
require(CHEMIN."inc/inc-display-functions.php");
// import depuis un zip
// on envoie les images vers upload puis on lance le formulaire
//print_r($_POST);
//print_r($_FILES);
if(isset($_POST['submit-zip'])){
$filename = $_FILES['zip']['name'];
$tmp_name = $_FILES['zip']['tmp_name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!in_array(strtolower($ext),array('zip'))){
echo "Erreur de fichier, ceci n'est pas un zip !";
die();
}
zip_flatten( $tmp_name, CHEMIN.DOSSIER_UPLOAD );
/*
$zip = new ZipArchive;
$res = $zip->open($tmp_name);
$valid_ext = array('jpg','png','gif','jpeg');
if ($res === TRUE) {
for($i = 0; $i < $zip->numFiles; $i++){
$nom=$zip->getNameIndex($i);
if(strpos($nom, "__MACOSX") === false){
$fileParts = pathinfo($nom);
//print_r($fileParts);
if(!isset($fileParts['extension'])){
continue;
}
$ext = strtolower($fileParts['extension']);
if(in_array(strtolower($ext),$valid_ext)){
//echo $fileParts['basename']."<br>";
$zip->extractTo(CHEMIN.DOSSIER_UPLOAD,$nom);
}
} else {
// erreur !
}
}
$zip->close();
echo 'Unzippé !<br>Redirection dans un instant';
} else {
echo 'Echec !<br>Quelque chose s\'est mal passé';
}
*/
die();
}
function zip_flatten ( $zipfile, $dest='.' ){
$valid_ext = array('jpg','png','gif','jpeg');
$zip = new ZipArchive;
if ( $zip->open( $zipfile ) ){
for ( $i=0; $i < $zip->numFiles; $i++ ){
$entry = $zip->getNameIndex($i);
if ( substr( $entry, -1 ) == '/' ) continue; // skip directories
$ext = strtolower(pathinfo($entry, PATHINFO_EXTENSION));
if(!in_array(strtolower($ext),$valid_ext)){
continue;
}
$fp = $zip->getStream( $entry );
$ofp = fopen( $dest.'/'.basename($entry), 'w' );
if ( ! $fp )
throw new Exception('Unable to extract the file.');
while ( ! feof( $fp ) )
fwrite( $ofp, fread($fp, 8192) );
fclose($fp);
fclose($ofp);
}
$zip->close();
}
else
return false;
return $zip;
}
?>
<div class="p-3">
<h2 class="titre-medium mb-3">Ajouter des items zippés</h2>
<div class="texte-small">
Cet outil permet de créer des entrées dans la collection générale à partir d'un fichier unique en zip.
</div>
<hr>
<h3 class="titre-small">Liste des éléments</h3>
<div class="texte-tiny">
Images présentes dans le dossier upload
</div>
<div id="import-list" class="my-3 texte-mini">
<form method="post" enctype="multipart/form-data" id="form-zip">
<fieldset class="form-group mb-3 livre fieldset-illustration">
<label for="zip" class="mb-1">Fichier zip</label>
<div class="file-item unique small row">
<div class="col-12 mb-1"><input class="form-control form-control-sm" type="file" name="zip" value=""></div></div>
</fieldset>
<input type="submit" class="btn btn-success btn-sm" name="submit-zip" value="Uploader">
</form>
</div>