insertion d'une image
if(isset($_GET['action']) && isset($_GET['page']) && $_GET['action'] == 'upload_image')
{
// sécurité !!
if(!isset($_SESSION) || !isset($_FILES['upload']) || empty($_FILES['upload']))
{
// sans effet?
header('Location: index.php?erreur=image_ajax');
}
else
{
require('model/Image.php');
require('controller/Security.php');
// paramètre "true" parce qu'on reçoit une requête AJAX
$Image = new Image($_GET['page'], $_GET['page'], true);
// les données des albums sont dans le dossier discographie
if($_GET['page'] === 'album')
{
$Image->setFolder('discographie');
}
$nomFichier = Security::secureFileName($_FILES['upload']['name']);
$Image->setFileName($nomFichier);
$Image->setThumbnailWidth(630);
$Image->upload();
echo($Image->reponseAjax); // attendu par l'éditeur
// attention ici aux var_dump() ou echo() qui trainent
$Image->makeThumbnail(); // => taille de la
// on pourra l'agrandir en cliquant dessus
// code exécuté alors que l'utilisateur récupère la main
}
exit(); // stop !!
}
// page restauration quand le fichier zip est lourd
//
// -> input file onchange
if(isset($_GET['action']) && $_GET['action'] == 'restauration'
&& isset($_GET['file_name']) && isset($_GET['file_size']))
{
if(!isset($_SESSION))
{
header('Location: index.php?erreur=file_infos_ajax');
}
else
{
$_SESSION['fileSize'] = $_GET['file_size'];
$_SESSION['fileName'] = $_GET['file_name'];
exit(); // stop !!
}
}
// -> input submit onclick
if(isset($_GET['action']) && $_GET['action'] == 'restauration'
&& isset($_GET['chunk_name']) && isset($_FILES['blob']))
{
if(!isset($_SESSION))
{
header('Location: index.php?erreur=upload_ajax');
}
else
{
require('controller/backup.php');
uploadChunkAndMerge();
echo('file send');
exit(); // stop !!
}
}
// nettoyage systématique
if(!isset($_GET['action']) || $_GET['action'] != 'restauration')
{
if(isset($_SESSION['fileName']))
{
unset($_SESSION['fileName']);
}
if(isset($_SESSION['fileSize']))
{
unset($_SESSION['fileSize']);
}
}