/**
  * Va chercher tous les liens d'images de la chorale  dans la BDD ainsi que les options 
  * Pour les intégrer au Layout de la page "images" - options dans le footer
  **/
 public function getAllImages()
 {
     $imagesManager = new \Manager\ImagesManager();
     $images = $imagesManager->findAll("id", "DESC");
     $data = array();
     $data['options'] = $this->getOptions();
     $layout = array('name' => 'images', 'opengraph' => array('title' => 'CrescendO Joeuf: Galerie Photos', 'type' => 'article', 'image' => 'assets/' . $images[0]['url'], 'url' => 'http://www.crescendo.site/images', 'description' => 'Visitez la galerie de photos de la chorale Pop-Rock CrescendO, de Joeuf(54).', 'locale' => 'fr_FR', 'site_name' => 'CrescendO'), 'tags' => array('link' => array('css/medias.css'), 'script' => array('js/ajax.js')));
     $this->show('default/images', ['images' => $images, 'data' => $data, 'layout' => $layout]);
 }
 /**
  * Upload et ajout en BDD en fonction du type de contenu.
  * Retour sur page d'ajout de contenu quand terminé.
  **/
 public function gestionContenu()
 {
     $this->allowTo(['admin', 'chef', 'gestion']);
     $options = $this->getOptions();
     $user = $this->getuser();
     $data = array();
     if (isset($_POST['documentsent'])) {
         //Si on soumet le formulaire #document
         $finfo = new \finfo(FILEINFO_MIME_TYPE);
         // Récupération du Mime pour vérifier s'il est répertorié dans la liste des fichiers autorisés
         $mimeType = $finfo->file($_FILES['document']['tmp_name']);
         $extFoundInArray = array_search($mimeType, array('doc' => 'application/msword', 'xls' => 'application/excel', 'xls' => 'application/vnd.ms-excel', 'xls' => 'application/x-excel', 'xls' => 'application/x-msexcel', 'txt' => 'text/plain', 'odt' => 'application/vnd.oasis.opendocument.text', 'pdf' => 'application/pdf'));
         if ($extFoundInArray === false) {
             //Si le fichier envoyé n'est pas dans les types répertoriés
             echo 'Le fichier n\'est pas au bon format. Formats acceptés: .doc, .xls, .odt, .txt, .pdf';
             //die();
         }
         //On renomme le document et on l'envoie dans le bon dossier
         $path = '../public/assets/docs/' . mb_strtolower(preg_replace('/[\\s-]/', '_', $_POST['titre'])) . '.' . $extFoundInArray;
         $moved = move_uploaded_file($_FILES['document']['tmp_name'], $path);
         if (!$moved) {
             echo 'Erreur lors de l\'enregistrement';
         }
         //Insertion en base de données avec le fichier renommé et le bon chemin pour l'appel en BackOffice
         $url = '/docs/' . mb_strtolower(preg_replace('/[\\s-]/', '_', $_POST['titre'])) . '.' . $extFoundInArray;
         $documentManager = new \Manager\DocumentsManager();
         $insertion = array('titre' => $_POST['titre'], 'description' => $_POST['description'], 'url' => $url);
         $documentManager->insert($insertion);
         $layout = array('name' => 'actus', 'user' => $user, 'options' => $options, 'tags' => array('script' => array('js/contenu.js')));
         $this->show('choristes/ajout_contenu', ['layout' => $layout, 'upload' => true]);
     }
     if (isset($_POST['youtubesent'])) {
         //Si on soumet le formulaire #youtube
         $url = $_POST['url'];
         $description = $_POST['description'];
         $video = new \Manager\VideosManager();
         $video->InsertVideosUrl($url, $description);
         $layout = array('name' => 'actus', 'user' => $user, 'options' => $options, 'tags' => array('script' => array('js/contenu.js')));
         $this->show('choristes/ajout_contenu', ['layout' => $layout, 'upload' => true]);
     }
     if (isset($_POST['imagesent'])) {
         //Si on soumet le formulaire #image
         /* Upload images */
         $alt_img = $_POST['alt'];
         $desc_img = $_POST['desc_img'];
         $finfo = new \finfo(FILEINFO_MIME_TYPE);
         // Récupération du Mime
         $mimeType = $finfo->file($_FILES['image']['tmp_name']);
         $extFoundInArray = array_search($mimeType, array('jpg' => 'image/jpeg', 'png' => 'image/png'));
         if ($extFoundInArray === false) {
             //Si le fichier envoyé n'est pas une image
             echo 'Le fichier n\'est pas une image';
             //die();
         }
         $timestamp = date('d-m-Y-h-i-s');
         //On renomme l'image et on l'envoie dans le bon dossier
         $path = '../public/assets/img/' . $timestamp . '.' . $extFoundInArray;
         $moved = move_uploaded_file($_FILES['image']['tmp_name'], $path);
         if (!$moved) {
             echo 'Erreur lors de l\'enregistrement';
         }
         // création de la thumbnail
         $filename = '../public/assets/img/' . $timestamp . '-thumb.' . $extFoundInArray;
         $newwidth = 150;
         // Calcul des nouvelles dimensions
         list($width, $height) = getimagesize($path);
         $newheight = $height * $newwidth / $width;
         // Chargement
         $thumb = imagecreatetruecolor($newwidth, $newheight);
         if ($mimeType == 'image/jpeg') {
             $source = imagecreatefromjpeg($path);
             imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
             imagejpeg($thumb, $filename);
         }
         if ($mimeType == 'image/png') {
             $source = imagecreatefrompng($filename);
             imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
             imagepng($thumb, $filename);
         }
         //Insertion en base de données avec le fichier renommé et le bon chemin pour l'appel en FrontOffice
         $path = 'img/' . $timestamp . '.' . $extFoundInArray;
         $imagesManager = new \Manager\ImagesManager();
         $id_img = $imagesManager->insertImage($path, $alt_img, $desc_img);
         $layout = array('name' => 'actus', 'user' => $user, 'options' => $options, 'tags' => array('script' => array('js/contenu.js')));
         $this->show('choristes/ajout_contenu', ['layout' => $layout, 'upload' => true]);
     }
     if (isset($_POST['newssent'])) {
         /* Upload images */
         $alt_img = $_POST['alt'];
         $desc_img = $_POST['desc_img'];
         $finfo = new \finfo(FILEINFO_MIME_TYPE);
         // Récupération du Mime
         $mimeType = $finfo->file($_FILES['my-file']['tmp_name']);
         $extFoundInArray = array_search($mimeType, array('jpg' => 'image/jpeg', 'png' => 'image/png'));
         if ($extFoundInArray === false) {
             //Si le fichier envoyé n'est pas une image
             echo 'Le fichier n\'est pas une image';
             //die();
         }
         $timestamp = date('d-m-Y-h-i-s');
         //On renomme l'image et on l'envoie dans le bon dossier
         $path = '../public/assets/img/' . $timestamp . '.' . $extFoundInArray;
         $moved = move_uploaded_file($_FILES['my-file']['tmp_name'], $path);
         if (!$moved) {
             echo 'Erreur lors de l\'enregistrement';
         }
         // création de la thumbnail
         $filename = '../public/assets/img/' . $timestamp . '-thumb.' . $extFoundInArray;
         $newwidth = 150;
         // Calcul des nouvelles dimensions
         list($width, $height) = getimagesize($path);
         $newheight = $height * $newwidth / $width;
         // Chargement
         $thumb = imagecreatetruecolor($newwidth, $newheight);
         if ($mimeType == 'image/jpeg') {
             $source = imagecreatefromjpeg($path);
             imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
             imagejpeg($thumb, $filename);
         }
         if ($mimeType == 'image/png') {
             $source = imagecreatefrompng($filename);
             imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
             imagepng($thumb, $filename);
         }
         //Insertion en base de données avec le fichier renommé et le bon chemin pour l'appel en FrontOffice
         $path = 'img/' . $timestamp . '.' . $extFoundInArray;
         $imagesManager = new \Manager\ImagesManager();
         $id_img = $imagesManager->insertImage($path, $alt_img, $desc_img);
         if ($_POST['table'] == 'Presse') {
             //Pour rentrer un article de presse dans la table Presses
             $titre = $_POST['titre'];
             $description = $_POST['description'];
             $PressesManager = new \Manager\PressesManager();
             $PressesManager->insertArticle($titre, $description, $id_img);
             $layout = array('name' => 'actus', 'user' => $user, 'options' => $options, 'tags' => array('script' => array('js/contenu.js')));
             $this->show('choristes/ajout_contenu', ['layout' => $layout, 'upload' => true]);
         } else {
             if ($_POST['table'] == 'News') {
                 //Pour rentrer une news dans la table news
                 $titre = $_POST['titre'];
                 $description = $_POST['description'];
                 if ($_POST['private'] == '1') {
                     //Si la news n'est visible que pour les choristes en partie privée
                     $private = 1;
                 } else {
                     if ($_POST['private'] == 0) {
                         //Si la news est visible en display FrontOffice
                         $private = 0;
                     }
                 }
                 $NewsManager = new \Manager\NewsManager();
                 $NewsManager->insertArticle($titre, $description, $id_img, $private);
                 $layout = array('name' => 'actus', 'user' => $user, 'options' => $options, 'tags' => array('script' => array('js/contenu.js')));
                 $this->show('choristes/ajout_contenu', ['layout' => $layout, 'upload' => true]);
             }
         }
     }
     $options = $this->getOptions();
     $user = $this->getuser();
     $layout = array('name' => 'gestion_contenu', 'user' => $user, 'options' => $options, 'tags' => array('script' => array('js/contenu.js')));
     //Sinon on affiche la page de formulaire vierge avec le select
     $this->show('choristes/ajout_contenu', ['data' => $data, 'layout' => $layout]);
 }