/** * Affiche le contenu d'un album * * V�rifie l'existance et les droits d'un album, et affiche les vignettes. * V�rifie �galement la pr�sence de toutes les vignettes, et lance la g�n�ration au cas ou. * * @author Fr�d�ric Mossmann <*****@*****.**> */ public function getAlbum() { CopixHTMLHeader::addCSSLink(_resource("styles/module_album.css")); CopixHTMLHeader::addJSLink(_resource("js/iconito/module_malle.js")); $tpl = new CopixTpl(); $kernel_service =& CopixClassesFactory::Create('kernel|kernel'); if (!_request("album_id") || trim(_request("album_id")) == "" || !preg_match("/^[0-9]+\$/", _request("album_id"))) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('album.error.noalbumnumber'), 'back' => CopixUrl::get('||'))); } $album_id = _request("album_id"); if (_request("dossier_id") && preg_match("/^[0-9]+\$/", _request("dossier_id"))) { $dossier_id = _request("dossier_id"); } else { $dossier_id = 0; } if (Kernel::getLevel("MOD_ALBUM", $album_id) < PROFILE_CCV_READ) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get('||'))); } $tplAlbum = new CopixTpl(); $album_dao = CopixDAOFactory::create("album"); $album = $album_dao->get($album_id); if (!$album) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('album.error.noalbum'), 'back' => CopixUrl::get('||'))); } $dossier_dao = CopixDAOFactory::create("dossier"); if ($dossier_id > 0) { $dossier = $dossier_dao->get($dossier_id); } else { $dossier->dossier_id = 0; $dossier->dossier_album = $album_id; $dossier->dossier_parent = -1; $dossier->dossier_nom = "Racine"; $dossier->dossier_comment = ""; $dossier->album_id = $album_id; } // V�rification des vignettes $key = $album->album_id . '_' . $album->album_cle; CopixSession::delete('modules|album|vignettes|' . $key); CopixSession::delete('modules|album|vignettes|nb-' . $key); $errors = Album::checkThumbnails($album_id, $key); if ($errors > 0) { //die (".".$errors); return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('album|default|vignettes', array('album' => $album_id, 'dossier' => $dossier_id, 'key' => $key))); } $parent = $kernel_service->getModParentInfo("MOD_ALBUM", $album_id); $album->parent = $parent; $tplAlbum->assign("album", $album); $tplAlbum->assign("dossier", $dossier); $dossiermenu = array(); if (Kernel::getLevel("MOD_ALBUM", $album_id) >= PROFILE_CCV_PUBLISH) { $dossiermenu[] = array('txt' => CopixI18N::get('album.folder.action.newfolder.menu'), 'url' => '#', 'onclick' => 'openbox(\'folder_new\');', 'type' => 'add'); if ($dossier_id > 0) { $dossiermenu[] = array('txt' => CopixI18N::get('album.folder.action.rename.menu'), 'url' => '#', 'onclick' => 'openbox(\'folder_rename\');', 'type' => 'update'); $dossiermenu[] = array('txt' => CopixI18N::get('album.folder.action.move.menu'), 'url' => '#', 'onclick' => 'openbox(\'folder_move\');', 'type' => 'next'); $dossiermenu[] = array('txt' => CopixI18N::get('album.folder.action.delete.menu'), 'url' => '#', 'onclick' => 'openbox(\'folder_delete\');', 'type' => 'delete'); } $dossiermenu[] = array('txt' => CopixI18N::get('album.folder.action.movephotos.menu'), 'url' => CopixUrl::get('album|default|editphotos', array('album_id' => $album_id, 'dossier_id' => $dossier_id)), 'type' => 'next'); } $dossiers_list = Album::getFoldersTree($album_id); $tplAlbum->assign("dossiers", CopixZone::process('album|dossierstree', array('tree' => $dossiers_list, 'mode' => 'combo', 'album_id' => $album_id, 'dossier_id' => $dossier_id, 'dossier' => $dossier, 'dossiermenu' => $dossiermenu))); $photo_dao = CopixDAOFactory::create("photo"); $photolist = $photo_dao->findAllByAlbumAndFolder($album_id, $dossier_id); $tplAlbum->assign("photolist", $photolist); $dossiers_childs = Album::getFoldersTree($album_id, $dossier_id); $tplAlbum->assign("dossierlist", $dossiers_childs); foreach ($photolist as $photothumb) { Album::createThumbnails($photothumb->album_id . '_' . $photothumb->album_cle, $photothumb->photo_id . '_' . $photothumb->photo_cle, $photothumb->photo_ext); } $tplAlbum->assign('album_thumbsize', "_s128"); $tplAlbum->assign('album_thumbsize_height', "128"); $tplAlbum->assign('album_thumbsize_width', "128"); // Debut petit poucet $petit_poucet_array = array(); $dossier_walk = clone $dossier; if ($dossier->dossier_id > 0) { array_unshift($petit_poucet_array, clone $dossier_walk); } // _dump($dossier_walk); while ($dossier_walk->dossier_parent > 0) { $dossier_walk = $dossier_dao->get($dossier_walk->dossier_parent); array_unshift($petit_poucet_array, clone $dossier_walk); } $dossier_walk->dossier_id = 0; $dossier_walk->dossier_parent = -1; $dossier_walk->dossier_nom = 'Racine'; array_unshift($petit_poucet_array, clone $dossier_walk); $tplAlbum->assign('petit_poucet', $petit_poucet_array); // Fin petit poucet $result = $tplAlbum->fetch("album.tpl"); $tpl->assign('MAIN', $result); $album_nom = isset($album->parent["nom"]) ? $album->parent["nom"] : CopixI18N::get('album.moduleDescription'); if ($dossier_id > 0) { $album_nom .= " / " . $dossier->dossier_nom; } $tpl->assign('TITLE_PAGE', CopixI18N::get('album.title.album', array($album_nom))); $menu = array(); $simpleviewer_path = realpath("simpleviewer"); if (file_exists($simpleviewer_path . '/viewer.swf') && file_exists($simpleviewer_path . '/flashobject.js')) { $path2data = realpath("static"); $path2album = $path2data . "/album/" . $album_id . "_" . $album->album_cle; $addtopath = ''; if ($dossier_id > 0) { $addtopath = '/' . $dossier->dossier_id . "_" . $dossier->dossier_cle; } $path2album .= $addtopath; if (file_exists($path2album . '/imageData.xml')) { $menu[] = array('txt' => CopixI18N::get('album|album.menu.viewfolder'), 'url' => CopixUrl::get() . 'static/album/' . $album_id . "_" . $album->album_cle . $addtopath, 'target' => '_blank', 'size' => 110, 'type' => 'read'); if (Kernel::getLevel("MOD_ALBUM", $album_id) >= PROFILE_CCV_PUBLISH) { $menu[] = array('txt' => CopixI18N::get('album|album.menu.deletefolder'), 'url' => CopixUrl::get('album||depublier', array("album_id" => $album->album_id, "dossier_id" => $dossier->dossier_id)), 'size' => 140, 'type' => 'delete'); } } if (Kernel::getLevel("MOD_ALBUM", $album_id) >= PROFILE_CCV_PUBLISH) { $menu[] = array('txt' => CopixI18N::get('album|album.menu.publishfolder'), 'url' => CopixUrl::get('album||publier', array("album_id" => $album->album_id, "dossier_id" => $dossier_id)), 'size' => 100); } } // endif( simpleviewer ) if (Kernel::getLevel("MOD_ALBUM", $album_id) >= PROFILE_CCV_PUBLISH) { $menu[] = array('txt' => CopixI18N::get('album|album.menu.addzip'), 'url' => CopixUrl::get('album||addzip', array("album_id" => $album->album_id, "dossier_id" => $dossier_id)), 'behavior' => 'fancybox', 'size' => 140, 'type' => 'addfile'); $menu[] = array('txt' => CopixI18N::get('album|album.menu.addphoto'), 'url' => CopixUrl::get('album||addphoto', array("album_id" => $album->album_id, "dossier_id" => $dossier_id)), 'behavior' => 'fancybox', 'size' => 100, 'type' => 'addfile'); } $tpl->assign('MENU', $menu); return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl); }