/**
  * Publication d'un album public
  */
 public function processPublierAlbum()
 {
     set_time_limit(0);
     $classeurDAO = _ioDAO('classeur|classeur');
     $dossierDAO = _ioDAO('classeur|classeurdossier');
     if (is_null($classeur = $classeurDAO->get(_request('classeurId', null))) || is_null($dossierId = _request('dossierId', null))) {
         return CopixActionGroup::process('generictools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.errorOccurred'), 'back' => CopixUrl::get('')));
     } elseif (Kernel::getLevel('MOD_CLASSEUR', $classeur->id) < PROFILE_CCV_MODERATE) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get('classeur||voirContenu', array('classeurId' => $classeur->id))));
     }
     $path2classeur = realpath('./static/classeur') . '/' . $classeur->id . '-' . $classeur->cle;
     if ($dossierId != 0) {
         $album = $dossierDAO->get($dossierId);
         $albumType = 'dossier';
         $path2album = $path2classeur . '/' . $album->id . '-' . $album->cle;
         $path2public = CopixUrl::get() . 'static/classeur/' . $classeur->id . '-' . $classeur->cle . '/' . $album->id . '-' . $album->cle;
     } else {
         $album = $classeur;
         $albumType = 'classeur';
         $path2album = $path2classeur;
         $path2public = CopixUrl::get() . 'static/classeur/' . $album->id . '-' . $album->cle;
     }
     // Récupération des images à inclure dans l'album
     _classInclude('classeur|classeurservice');
     $fichiers = classeurService::getFilesInFolder($classeur->id, $dossierId);
     foreach ($fichiers as $fichier) {
         if ($fichier->estUneImage()) {
             $image = new CopixPPO();
             $extension = strtolower(strrchr($fichier->fichier, '.'));
             $image = $fichier->id . '-' . $fichier->cle . $extension;
             $images[] = $image;
         }
     }
     // Création des dossiers de l'album si nécessaire et copie des images à publier
     if (is_dir($path2album . '/images/')) {
         if ($handle = opendir($path2album . '/images/')) {
             while (($file = readdir($handle)) !== false) {
                 if ($file != '.' && $file != '..') {
                     unlink($path2album . '/images/' . $file);
                 }
             }
             closedir($handle);
             rmdir($path2album . '/images/');
             unlink($path2album . '/index.html');
         }
     }
     if (!is_dir($path2album)) {
         mkdir($path2album, 0775);
     }
     if (!is_dir($path2album . '/images/')) {
         mkdir($path2album . '/images/', 0775);
     }
     chmod($path2album, 0775);
     chmod($path2album . '/images/', 0775);
     foreach ($images as $image) {
         $this->copyResized($path2classeur . '/' . $image, $path2album . '/images/' . $image, 800);
     }
     // Création du fichier index.html nécessaire à l'affichage de l'album
     $file_html = fopen($path2album . '/index.html', 'w');
     $tplHtml = new CopixTpl();
     $tplHtml->assign('path2public', $path2public);
     $tplHtml->assign('images', $images);
     $tplHtml->assign('album_id', $album->id);
     $tplHtml->assign('album_key', $album->cle);
     $tplHtml->assign('album_titre', $classeur->titre);
     $tplHtml->assign('dossier_id', $dossierId);
     if ($dossierId != 0) {
         $tplHtml->assign('dossier_nom', $album);
     }
     $result = $tplHtml->fetch('album_html.tpl');
     fwrite($file_html, $result);
     fclose($file_html);
     // Edition de l'album : date de publication et publication à 1
     $album->date_publication = date('Y-m-d H:i:s');
     $album->public = 1;
     if ($albumType == 'dossier') {
         $dossierDAO->update($album);
     } else {
         $classeurDAO->update($album);
     }
     $confirmMessage = CopixI18N::get('classeur|classeur.message.confirmPublished');
     return _arRedirect(CopixUrl::get('classeur||editerAlbumPublic', array('classeurId' => $classeur->id, 'dossierId' => $dossierId, 'confirmMessage' => $confirmMessage)));
 }