nettoyage
This commit is contained in:
parent
db511ca670
commit
b32630d008
@ -167,188 +167,8 @@ class geogallery extends common
|
||||
private function update()
|
||||
{
|
||||
|
||||
// Initialisation du module, créer les données si elles sont manquantes.
|
||||
$this->init();
|
||||
|
||||
$versionData = $this->getData(['module', $this->getUrl(0), 'config', 'versionData']);
|
||||
// Mise à jour 3.1
|
||||
if (version_compare($versionData, '3.1', '<')) {
|
||||
if (is_dir(self::DATADIRECTORY . 'pages/')) {
|
||||
// Déplacer les données du dossier Pages
|
||||
$this->copyDir(self::DATADIRECTORY . 'pages/' . $this->getUrl(0), self::DATADIRECTORY . $this->getUrl(0));
|
||||
$this->deleteDir(self::DATADIRECTORY . 'pages/');
|
||||
$style = $this->getData(['module', $this->getUrl(0), 'theme', 'style']);
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', str_replace('pages/', '', $style)]);
|
||||
}
|
||||
// Mettre à jour la version
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData', '3.1']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation séparée des éléments absents
|
||||
* Thème
|
||||
* Config
|
||||
* Content
|
||||
*/
|
||||
private function init()
|
||||
{
|
||||
|
||||
// Mise à jour d'une version inférieure, la gallery existe mais pas la variable content
|
||||
if (
|
||||
$this->getData(['module', $this->getUrl(0)]) &&
|
||||
$this->getData(['module', $this->getUrl(0), 'content']) === NULL
|
||||
) {
|
||||
|
||||
// Changement de l'arborescence dans module.json
|
||||
$data = $this->getData(['module', $this->getUrl(0)]);
|
||||
$this->deleteData(['module', $this->getUrl(0)]);
|
||||
$this->setData(['module', $this->getUrl(0), 'content', $data]);
|
||||
|
||||
// Effacer les fichiers CSS de l'ancienne version
|
||||
if (file_exists('module/gallery/view/index/index.css')) {
|
||||
unlink('module/gallery/view/index/index.css');
|
||||
}
|
||||
if (file_exists('module/gallery/view/gallery/gallery.css')) {
|
||||
unlink('module/gallery/view/gallery/gallery.css');
|
||||
}
|
||||
// Stockage des données du thème de la gallery existant
|
||||
if (is_array($this->getData(['theme', 'gallery']))) {
|
||||
$data = $this->getData(['theme', 'gallery']);
|
||||
$this->deleteData(['theme', 'gallery']);
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', $data]);
|
||||
// Nom de la feuille de style
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', self::DATADIRECTORY . $this->getUrl(0) . '/theme.css']);
|
||||
}
|
||||
}
|
||||
|
||||
// Variable commune
|
||||
$fileCSS = self::DATADIRECTORY . $this->getUrl(0) . '/theme.css';
|
||||
|
||||
// Check la présence des données de thème
|
||||
if ($this->getData(['module', $this->getUrl(0), 'theme']) === null) {
|
||||
require_once ('module/gallery/ressource/defaultdata.php');
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', theme::$defaultTheme]);
|
||||
// Nom de la feuille de style
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', $fileCSS]);
|
||||
}
|
||||
|
||||
// Check la présence de la feuille de style
|
||||
if (!file_exists(self::DATADIRECTORY . $this->getUrl(0) . '/theme.css')) {
|
||||
// Dossier de l'instance
|
||||
if (!is_dir(self::DATADIRECTORY . $this->getUrl(0))) {
|
||||
mkdir(self::DATADIRECTORY . $this->getUrl(0), 0755, true);
|
||||
}
|
||||
// Générer la feuille de CSS
|
||||
$content = file_get_contents('module/gallery/ressource/vartheme.css');
|
||||
$themeCss = file_get_contents('module/gallery/ressource/theme.css');
|
||||
|
||||
// Injection des variables
|
||||
$content = str_replace('#thumbAlign#', $this->getData(['module', $this->getUrl(0), 'theme', 'thumbAlign']), $content);
|
||||
$content = str_replace('#thumbWidth#', $this->getData(['module', $this->getUrl(0), 'theme', 'thumbWidth']), $content);
|
||||
$content = str_replace('#thumbHeight#', $this->getData(['module', $this->getUrl(0), 'theme', 'thumbHeight']), $content);
|
||||
$content = str_replace('#thumbMargin#', $this->getData(['module', $this->getUrl(0), 'theme', 'thumbMargin']), $content);
|
||||
$content = str_replace('#thumbBorder#', $this->getData(['module', $this->getUrl(0), 'theme', 'thumbBorder']), $content);
|
||||
$content = str_replace('#thumbBorderColor#', $this->getData(['module', $this->getUrl(0), 'theme', 'thumbBorderColor']), $content);
|
||||
$content = str_replace('#thumbOpacity#', $this->getData(['module', $this->getUrl(0), 'theme', 'thumbOpacity']), $content);
|
||||
$content = str_replace('#thumbShadows#', $this->getData(['module', $this->getUrl(0), 'theme', 'thumbShadows']), $content);
|
||||
$content = str_replace('#thumbShadowsColor#', $this->getData(['module', $this->getUrl(0), 'theme', 'thumbShadowsColor']), $content);
|
||||
$content = str_replace('#thumbRadius#', $this->getData(['module', $this->getUrl(0), 'theme', 'thumbRadius']), $content);
|
||||
$content = str_replace('#legendAlign#', $this->getData(['module', $this->getUrl(0), 'theme', 'legendAlign']), $content);
|
||||
$content = str_replace('#legendHeight#', $this->getData(['module', $this->getUrl(0), 'theme', 'legendHeight']), $content);
|
||||
$content = str_replace('#legendTextColor#', $this->getData(['module', $this->getUrl(0), 'theme', 'legendTextColor']), $content);
|
||||
$content = str_replace('#legendBgColor#', $this->getData(['module', $this->getUrl(0), 'theme', 'legendBgColor']), $content);
|
||||
|
||||
// Ecriture de la feuille de style
|
||||
file_put_contents(self::DATADIRECTORY . $this->getUrl(0) . '/theme.css', $content . $themeCss);
|
||||
// Nom de la feuille de style
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', $fileCSS]);
|
||||
}
|
||||
|
||||
// Check la présence de la config
|
||||
|
||||
if (
|
||||
is_null($this->getData(['module', $this->getUrl(0), 'config', 'showUniqueGallery']))
|
||||
|| is_null($this->getData(['module', $this->getUrl(0), 'config', 'backPosition']))
|
||||
|| is_null($this->getData(['module', $this->getUrl(0), 'config', 'backAlign']))
|
||||
|| is_null($this->getData(['module', $this->getUrl(0), 'config', 'versionData']))
|
||||
) {
|
||||
require_once ('module/gallery/ressource/defaultdata.php');
|
||||
$this->setData(['module', $this->getUrl(0), 'config', theme::$defaultData]);
|
||||
}
|
||||
|
||||
// Contenu vide de la galerie
|
||||
if (!is_array($this->getData(['module', $this->getUrl(0), 'content']))) {
|
||||
$this->setData(['module', $this->getUrl(0), 'content', array()]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tri de la liste des galeries
|
||||
*
|
||||
*/
|
||||
public function sortGalleries()
|
||||
{
|
||||
if (isset($_POST['response'])) {
|
||||
$data = explode('&', $_POST['response']);
|
||||
$data = str_replace('galleryTable%5B%5D=', '', $data);
|
||||
for ($i = 0; $i < count($data); $i++) {
|
||||
$this->setData([
|
||||
'module',
|
||||
$this->getUrl(0),
|
||||
'content',
|
||||
$data[$i],
|
||||
[
|
||||
'config' => [
|
||||
'name' => $this->getData(['module', $this->getUrl(0), 'content', $data[$i], 'config', 'name']),
|
||||
'directory' => $this->getData(['module', $this->getUrl(0), 'content', $data[$i], 'config', 'directory']),
|
||||
'homePicture' => $this->getData(['module', $this->getUrl(0), 'content', $data[$i], 'config', 'homePicture']),
|
||||
'sort' => $this->getData(['module', $this->getUrl(0), 'content', $data[$i], 'config', 'sort']),
|
||||
'position' => $i,
|
||||
'fullScreen' => $this->getData(['module', $this->getUrl(0), 'content', $data[$i], 'config', 'fullScreen']),
|
||||
'showPageContent' => $this->getData(['module', $this->getUrl(0), 'content', $data[$i], 'config', 'showPageContent'])
|
||||
|
||||
],
|
||||
'legend' => $this->getData(['module', $this->getUrl(0), 'content', $data[$i], 'legend']),
|
||||
'positions' => $this->getData(['module', $this->getUrl(0), 'content', $data[$i], 'positions'])
|
||||
]
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tri de la liste des images
|
||||
*
|
||||
*/
|
||||
public function sortPictures()
|
||||
{
|
||||
if (isset($_POST['response'])) {
|
||||
$galleryName = $_POST['gallery'];
|
||||
$data = explode('&', $_POST['response']);
|
||||
$data = str_replace('galleryTable%5B%5D=', '', $data);
|
||||
// Sauvegarder
|
||||
$this->setData([
|
||||
'module',
|
||||
$this->getUrl(0),
|
||||
'content',
|
||||
$galleryName,
|
||||
[
|
||||
'config' => [
|
||||
'name' => $this->getData(['module', $this->getUrl(0), 'content', $galleryName, 'config', 'name']),
|
||||
'directory' => $this->getData(['module', $this->getUrl(0), 'content', $galleryName, 'config', 'directory']),
|
||||
'homePicture' => $this->getData(['module', $this->getUrl(0), 'content', $galleryName, 'config', 'homePicture']),
|
||||
'sort' => $this->getData(['module', $this->getUrl(0), 'content', $galleryName, 'config', 'sort']),
|
||||
'position' => $this->getData(['module', $this->getUrl(0), 'content', $galleryName, 'config', 'position']),
|
||||
'fullScreen' => $this->getData(['module', $this->getUrl(0), 'content', $galleryName, 'config', 'fullScreen'])
|
||||
|
||||
],
|
||||
'legend' => $this->getData(['module', $this->getUrl(0), 'content', $galleryName, 'legend']),
|
||||
'positions' => array_flip($data)
|
||||
]
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -410,10 +230,7 @@ class geogallery extends common
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => helper::translate('Configuration des galeries'),
|
||||
'view' => 'config',
|
||||
'vendor' => [
|
||||
'tablednd'
|
||||
]
|
||||
'view' => 'config'
|
||||
]);
|
||||
}
|
||||
|
||||
@ -431,7 +248,6 @@ class geogallery extends common
|
||||
$success = false;
|
||||
if ($galleryId) {
|
||||
$galleryId = helper::increment($this->getInput('galleryAddName', helper::FILTER_ID, true), (array) $this->getData(['module', $this->getUrl(0), 'content']));
|
||||
$homePicture = '';
|
||||
// définir une vignette par défaut
|
||||
$directory = $this->getInput('galleryAddDirectory', helper::FILTER_STRING_SHORT, true);
|
||||
$iterator = new DirectoryIterator($directory);
|
||||
@ -447,8 +263,6 @@ class geogallery extends common
|
||||
self::THUMBS_WIDTH
|
||||
);
|
||||
}
|
||||
// Miniatures
|
||||
$homePicture = strtolower($fileInfos->getFilename());
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -463,11 +277,6 @@ class geogallery extends common
|
||||
'config' => [
|
||||
'name' => $this->getInput('galleryAddName'),
|
||||
'directory' => $this->getInput('galleryAddDirectory', helper::FILTER_STRING_SHORT, true),
|
||||
'homePicture' => $homePicture,
|
||||
'sort' => $this->getInput('galleryAddSort'),
|
||||
'position' => count($this->getData(['module', $this->getUrl(0), 'content'])) + 1,
|
||||
'fullScreen' => $this->getInput('galleryAddFullscreen', helper::FILTER_BOOLEAN),
|
||||
'showPageContent' => $this->getInput('galleryAddShowPageContent', helper::FILTER_BOOLEAN)
|
||||
],
|
||||
'legend' => [],
|
||||
'positions' => []
|
||||
@ -555,18 +364,11 @@ class geogallery extends common
|
||||
// légendes
|
||||
foreach ((array) $this->getInput('legend', null) as $file => $legend) {
|
||||
// Image de couverture par défaut si non définie
|
||||
$homePicture = $file;
|
||||
$file = str_replace('.', '', $file);
|
||||
$legends[$file] = helper::filter($legend, helper::FILTER_STRING_SHORT);
|
||||
}
|
||||
// Photo de la page de garde de l'album définie dans form
|
||||
if (is_array($this->getInput('homePicture', null))) {
|
||||
// Extrait la couverture sélectionnée
|
||||
$homePicture = array_keys($this->getInput('homePicture', null))[0];
|
||||
$legends[str_replace('.', '', $file)] = helper::filter($legend, helper::FILTER_STRING_SHORT);
|
||||
}
|
||||
// Données géographiques
|
||||
foreach ((array) $this->getInput('legend', null) as $file => $data) {
|
||||
$geo[$file] = [
|
||||
$geo[str_replace('.', '', $file)] = [
|
||||
'long' => $this->getInput('gpslong[' . $file . ']'),
|
||||
'lat' => $this->getInput('gpslat[' . $file . ']')
|
||||
];
|
||||
@ -579,18 +381,16 @@ class geogallery extends common
|
||||
$this->getUrl(2),
|
||||
[
|
||||
'config' => [
|
||||
'homePicture' => $homePicture,
|
||||
// Données mises à jour par les options
|
||||
'name' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'name']),
|
||||
'directory' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'directory']),
|
||||
'sort' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'sort']),
|
||||
'position' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'position']),
|
||||
'fullScreen' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'fullScreen']),
|
||||
'showPageContent' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'showPageContent'])
|
||||
],
|
||||
'legend' => $legends,
|
||||
//'geo' => $geo,
|
||||
'positions' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'positions'])
|
||||
'positions' => $geo
|
||||
]
|
||||
]);
|
||||
// Valeurs en sortie
|
||||
@ -637,19 +437,15 @@ class geogallery extends common
|
||||
}
|
||||
|
||||
self::$pictures[str_replace('.', '', $fileInfos->getFilename())] = [
|
||||
$this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'positions', str_replace('.', '', $fileInfos->getFilename())]) + 1,
|
||||
//$this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'positions', str_replace('.', '', $fileInfos->getFilename())]) + 1,
|
||||
$fileInfos->getFilename(),
|
||||
template::checkbox('homePicture[' . $fileInfos->getFilename() . ']', true, '', [
|
||||
'checked' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'homePicture']) === $fileInfos->getFilename() ? true : false,
|
||||
'class' => 'homePicture'
|
||||
]),
|
||||
template::text('legend[' . $fileInfos->getFilename() . ']', [
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'legend', str_replace('.', '', $fileInfos->getFilename())])
|
||||
]),
|
||||
template::text('gpslong[' . $fileInfos->getFilename() . ']', [
|
||||
'value' => $longitude,
|
||||
'readonly' => true,
|
||||
]) . '<br />' .
|
||||
]),
|
||||
template::text('gpslat[' . $fileInfos->getFilename() . ']', [
|
||||
'value' => $latitude,
|
||||
'readonly' => true,
|
||||
@ -694,10 +490,7 @@ class geogallery extends common
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => sprintf(helper::translate('Configuration de la galerie %s '), $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'name'])),
|
||||
'view' => 'edit',
|
||||
'vendor' => [
|
||||
'tablednd'
|
||||
]
|
||||
'view' => 'edit'
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -728,28 +521,6 @@ class geogallery extends common
|
||||
else {
|
||||
// Images de la galerie
|
||||
$directory = $this->getData(['module', $this->getUrl(0), 'content', $gallery, 'config', 'directory']);
|
||||
// Définir les options
|
||||
self::$config['homePicture'] = $this->getData(['module', $this->getUrl(0), 'content', $gallery, 'config', 'homePicture']);
|
||||
self::$config['fullScreen'] = $this->getData(['module', $this->getUrl(0), 'content', $gallery, 'config', 'fullScreen']) === true ? 'fullScreen' : '';
|
||||
self::$config['backPositionTop'] = ($this->getData(['module', $this->getUrl(0), 'config', 'backPosition']) === 'top' ||
|
||||
$this->getData(['module', $this->getUrl(0), 'config', 'backPosition']) === 'both')
|
||||
? ''
|
||||
: 'displayNone';
|
||||
self::$config['backPositionBottom'] = ($this->getData(['module', $this->getUrl(0), 'config', 'backPosition']) === 'bottom' ||
|
||||
$this->getData(['module', $this->getUrl(0), 'config', 'backPosition']) === 'both')
|
||||
? ''
|
||||
: 'displayNone';
|
||||
self::$config['backAlign'] = 'textAlign' . ucfirst($this->getData(['module', $this->getUrl(0), 'config', 'backAlign']));
|
||||
|
||||
// Annulation de l'apparition des boutons si la galerie est unique
|
||||
self::$config['backPositionTop'] = ($this->getData(['module', $this->getUrl(0), 'config', 'showUniqueGallery']) === true
|
||||
&& count($this->getData(['module', $this->getUrl(0), 'content'])) === 1)
|
||||
? 'displayNone'
|
||||
: self::$config['backPositionTop'];
|
||||
self::$config['backPositionBottom'] = ($this->getData(['module', $this->getUrl(0), 'config', 'showUniqueGallery']) === true
|
||||
&& count($this->getData(['module', $this->getUrl(0), 'content'])) === 1)
|
||||
? 'displayNone'
|
||||
: self::$config['backPositionBottom'];
|
||||
|
||||
if (is_dir($directory)) {
|
||||
$iterator = new DirectoryIterator($directory);
|
||||
@ -809,9 +580,6 @@ class geogallery extends common
|
||||
'showBarEditButton' => true,
|
||||
'title' => $this->getData(['module', $this->getUrl(0), 'content', $gallery, 'config', 'name']),
|
||||
'view' => 'gallery',
|
||||
'style' => file_exists($this->getData(['module', $this->getUrl(0), 'theme', 'style']))
|
||||
? $this->getData(['module', $this->getUrl(0), 'theme', 'style'])
|
||||
: '',
|
||||
'showPageContent' => $this->getData(['module', $this->getUrl(0), 'content', $gallery, 'config', 'showPageContent']),
|
||||
'vendor' => [
|
||||
'leaflet'
|
||||
@ -829,61 +597,17 @@ class geogallery extends common
|
||||
}
|
||||
// Liste des galeries
|
||||
else {
|
||||
// Tri des galeries suivant l'ordre défini
|
||||
$g = $this->getData(['module', $this->getUrl(0), 'content']);
|
||||
$p = helper::arrayColumn(helper::arrayColumn($g, 'config'), 'position');
|
||||
asort($p, SORT_NUMERIC);
|
||||
$galleries = [];
|
||||
foreach ($p as $positionId => $item) {
|
||||
$galleries[$positionId] = $g[$positionId];
|
||||
}
|
||||
// Construire le tableau
|
||||
foreach ((array) $galleries as $galleryId => $gallery) {
|
||||
if (is_dir($gallery['config']['directory'])) {
|
||||
$iterator = new DirectoryIterator($gallery['config']['directory']);
|
||||
foreach ($iterator as $fileInfos) {
|
||||
if ($fileInfos->isDot() === false and $fileInfos->isFile() and @getimagesize($fileInfos->getPathname())) {
|
||||
|
||||
self::$galleries[$galleryId] = $gallery;
|
||||
// L'image de couverture est-elle supprimée ?
|
||||
if (file_exists($gallery['config']['directory'] . '/' . $gallery['config']['homePicture'])) {
|
||||
// Créer la miniature si manquante
|
||||
if (!file_exists(str_replace('source', 'thumb', $gallery['config']['directory']) . '/' . self::THUMBS_SEPARATOR . strtolower($gallery['config']['homePicture']))) {
|
||||
$this->makeThumb(
|
||||
$gallery['config']['directory'] . '/' . str_replace(self::THUMBS_SEPARATOR, '', $gallery['config']['homePicture']),
|
||||
str_replace('source', 'thumb', $gallery['config']['directory']) . '/' . self::THUMBS_SEPARATOR . strtolower($gallery['config']['homePicture']),
|
||||
self::THUMBS_WIDTH
|
||||
);
|
||||
}
|
||||
// Définir l'image de couverture
|
||||
self::$firstPictures[$galleryId] = file_exists(str_replace('source', 'thumb', $gallery['config']['directory']) . '/' . self::THUMBS_SEPARATOR . strtolower($gallery['config']['homePicture']))
|
||||
? str_replace('source', 'thumb', $gallery['config']['directory']) . '/' . self::THUMBS_SEPARATOR . strtolower($gallery['config']['homePicture'])
|
||||
: str_replace('source', 'thumb', $gallery['config']['directory']) . '/' . strtolower($gallery['config']['homePicture']);
|
||||
} else {
|
||||
// homePicture contient une image invalide, supprimée ou déplacée
|
||||
// Définir l'image de couverture, première image disponible
|
||||
$this->makeThumb(
|
||||
$fileInfos->getPath() . '/' . $fileInfos->getFilename(),
|
||||
str_replace('source', 'thumb', $fileInfos->getPath()) . '/' . self::THUMBS_SEPARATOR . strtolower($fileInfos->getFilename()),
|
||||
self::THUMBS_WIDTH
|
||||
);
|
||||
self::$firstPictures[$galleryId] = file_exists(str_replace('source', 'thumb', $fileInfos->getPath()) . '/' . self::THUMBS_SEPARATOR . strtolower($fileInfos->getFilename()))
|
||||
? str_replace('source', 'thumb', $fileInfos->getPath()) . '/' . self::THUMBS_SEPARATOR . strtolower($fileInfos->getFilename())
|
||||
: str_replace('source', 'thumb', $fileInfos->getPath()) . '/' . strtolower($fileInfos->getFilename());
|
||||
}
|
||||
}
|
||||
continue (1);
|
||||
}
|
||||
}
|
||||
// Construction du tableau exploitable par leaflet regroupant les images des galleries.
|
||||
$galleries = $this->getData(['module', $this->getUrl(0)], 'content');
|
||||
// Boucle sur les contenus de galeries
|
||||
foreach ($galleries as $galleryId => $galleriesContent) {
|
||||
// echo "<pre>";var_dump( $galleriesContent );
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'showBarEditButton' => true,
|
||||
'showPageContent' => true,
|
||||
'view' => 'index',
|
||||
'style' => file_exists($this->getData(['module', $this->getUrl(0), 'theme', 'style']))
|
||||
? $this->getData(['module', $this->getUrl(0), 'theme', 'style'])
|
||||
: '',
|
||||
'vendor' => [
|
||||
'leaflet'
|
||||
],
|
||||
@ -910,43 +634,9 @@ class geogallery extends common
|
||||
$this->getUrl(0),
|
||||
'theme',
|
||||
[
|
||||
'thumbAlign' => $this->getinput('galleryThemeThumbAlign', helper::FILTER_STRING_SHORT),
|
||||
'thumbWidth' => $this->getinput('galleryThemeThumbWidth', helper::FILTER_STRING_SHORT),
|
||||
'thumbHeight' => $this->getinput('galleryThemeThumbHeight', helper::FILTER_STRING_SHORT),
|
||||
'thumbMargin' => $this->getinput('galleryThemeThumbMargin', helper::FILTER_STRING_SHORT),
|
||||
'thumbBorder' => $this->getinput('galleryThemeThumbBorder', helper::FILTER_STRING_SHORT),
|
||||
'thumbBorderColor' => $this->getinput('galleryThemeThumbBorderColor', helper::FILTER_STRING_SHORT),
|
||||
'thumbOpacity' => $this->getinput('galleryThemeThumbOpacity', helper::FILTER_STRING_SHORT),
|
||||
'thumbShadows' => $this->getinput('galleryThemeThumbShadows', helper::FILTER_STRING_SHORT),
|
||||
'thumbShadowsColor' => $this->getinput('galleryThemeThumbShadowsColor', helper::FILTER_STRING_SHORT),
|
||||
'thumbRadius' => $this->getinput('galleryThemeThumbRadius', helper::FILTER_STRING_SHORT),
|
||||
'legendHeight' => $this->getinput('galleryThemeLegendHeight', helper::FILTER_STRING_SHORT),
|
||||
'legendAlign' => $this->getinput('galleryThemeLegendAlign', helper::FILTER_STRING_SHORT),
|
||||
'legendTextColor' => $this->getinput('galleryThemeLegendTextColor', helper::FILTER_STRING_SHORT),
|
||||
'legendBgColor' => $this->getinput('galleryThemeLegendBgColor', helper::FILTER_STRING_SHORT),
|
||||
'showUniqueGallery' => $this->getinput('galleryThemeShowUniqueGallery', helper::FILTER_BOOLEAN),
|
||||
'style' => self::DATADIRECTORY . $this->getUrl(0) . '/theme.css',
|
||||
]
|
||||
]);
|
||||
// Création des fichiers CSS
|
||||
$content = file_get_contents('module/gallery/ressource/vartheme.css');
|
||||
$themeCss = file_get_contents('module/gallery/ressource/theme.css');
|
||||
// Injection des variables
|
||||
$content = str_replace('#thumbAlign#', $this->getinput('galleryThemeThumbAlign'), $content);
|
||||
$content = str_replace('#thumbWidth#', $this->getinput('galleryThemeThumbWidth'), $content);
|
||||
$content = str_replace('#thumbHeight#', $this->getinput('galleryThemeThumbHeight'), $content);
|
||||
$content = str_replace('#thumbMargin#', $this->getinput('galleryThemeThumbMargin'), $content);
|
||||
$content = str_replace('#thumbBorder#', $this->getinput('galleryThemeThumbBorder'), $content);
|
||||
$content = str_replace('#thumbBorderColor#', $this->getinput('galleryThemeThumbBorderColor'), $content);
|
||||
$content = str_replace('#thumbOpacity#', $this->getinput('galleryThemeThumbOpacity'), $content);
|
||||
$content = str_replace('#thumbShadows#', $this->getinput('galleryThemeThumbShadows'), $content);
|
||||
$content = str_replace('#thumbShadowsColor#', $this->getinput('galleryThemeThumbShadowsColor'), $content);
|
||||
$content = str_replace('#thumbRadius#', $this->getinput('galleryThemeThumbRadius'), $content);
|
||||
$content = str_replace('#legendAlign#', $this->getinput('galleryThemeLegendAlign'), $content);
|
||||
$content = str_replace('#legendHeight#', $this->getinput('galleryThemeLegendHeight'), $content);
|
||||
$content = str_replace('#legendTextColor#', $this->getinput('galleryThemeLegendTextColor'), $content);
|
||||
$content = str_replace('#legendBgColor#', $this->getinput('galleryThemeLegendBgColor'), $content);
|
||||
$success = is_int(file_put_contents(self::DATADIRECTORY . $this->getUrl(0) . '/theme.css', $content . $themeCss));
|
||||
$success = true;
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl() . '/theme',
|
||||
@ -964,121 +654,6 @@ class geogallery extends common
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Option de configuration de la galerie
|
||||
*/
|
||||
public function option()
|
||||
{
|
||||
/**
|
||||
* Options applicables à toutes les galeries du module
|
||||
*/
|
||||
if ($this->getUrl(2) === 'galleries') {
|
||||
// Soumission du formulaire
|
||||
if (
|
||||
$this->getUser('permission', __CLASS__, __FUNCTION__) === true &&
|
||||
$this->isPost()
|
||||
) {
|
||||
|
||||
// Sauver la configuration de la galerie
|
||||
$this->setData([
|
||||
'module',
|
||||
$this->getUrl(0),
|
||||
'config',
|
||||
[
|
||||
'showUniqueGallery' => $this->getinput('galleriesOptionShowUniqueGallery', helper::FILTER_BOOLEAN),
|
||||
'backPosition' => $this->getinput('galleryOptionBackPosition'),
|
||||
'backAlign' => $this->getinput('galleryOptionBackAlign'),
|
||||
'versionData' => $this->getData(['module', $this->getUrl(0), 'config', 'versionData']),
|
||||
]
|
||||
]);
|
||||
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl() . '/option',
|
||||
'notification' => 'Modifications enregistrées',
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
// Routage du formulaire
|
||||
self::$formOptionSelect = 'galleries';
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => helper::translate('Options de configuration'),
|
||||
'view' => 'option'
|
||||
]);
|
||||
/**
|
||||
* Enregistre les options de configuration de la galerie d'images sélectionnée
|
||||
*/
|
||||
} elseif ($this->getUrl(2) === 'gallery') {
|
||||
// Soumission du formulaire
|
||||
if (
|
||||
$this->getUser('permission', __CLASS__, __FUNCTION__) === true &&
|
||||
$this->isPost()
|
||||
) {
|
||||
|
||||
// Le nom de la galerie est vide c'est le nom dans l'url qui est pris en compte
|
||||
$galleryId = !empty($this->getInput('galleryEditName')) ? $this->getInput('galleryEditName', helper::FILTER_ID, true) : $this->getUrl(3);
|
||||
|
||||
// Sauvegarde des Valeurs non affectées par ce formulaire
|
||||
$homePicture = $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(3), 'config', 'homePicture']);
|
||||
$position = $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(3), 'config', 'position']);
|
||||
$legend = $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(3), 'legend']);
|
||||
$positions = $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(3), 'positions']);
|
||||
|
||||
// Le nom de la galerie n'est pas celui dans la BDD
|
||||
if ($galleryId !== $this->getUrl(3)) {
|
||||
// Incrémente le nouvel id de la galerie
|
||||
$galleryId = helper::increment($galleryId, $this->getData(['module', $this->getUrl(0), 'content']));
|
||||
// Supprime l'ancienne galerie
|
||||
$this->deleteData(['module', $this->getUrl(0), 'content', $this->getUrl(3)]);
|
||||
}
|
||||
// Sauvegarder
|
||||
if ($this->getInput('galleryEditName')) {
|
||||
$this->setData([
|
||||
'module',
|
||||
$this->getUrl(0),
|
||||
'content',
|
||||
$galleryId,
|
||||
[
|
||||
'config' => [
|
||||
'name' => $this->getInput('galleryEditName', helper::FILTER_STRING_SHORT, true),
|
||||
'directory' => $this->getInput('galleryEditDirectory', helper::FILTER_STRING_SHORT, true),
|
||||
'sort' => $this->getInput('galleryEditSort'),
|
||||
'fullScreen' => $this->getInput('galleryEditFullscreen', helper::FILTER_BOOLEAN),
|
||||
'showPageContent' => $this->getInput('galleryEditShowPageContent', helper::FILTER_BOOLEAN),
|
||||
// Données lues à partir du formulaire edit de la galerie avec la liste des images
|
||||
'homePicture' => $homePicture,
|
||||
'position' => $position
|
||||
|
||||
],
|
||||
'legend' => $legend,
|
||||
'positions' => $positions
|
||||
]
|
||||
]);
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/edit/' . $galleryId,
|
||||
'notification' => helper::translate('Modifications enregistrées'),
|
||||
'state' => true
|
||||
]);
|
||||
}
|
||||
// Routage du formulaire
|
||||
self::$formOptionSelect = 'gallery';
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'title' => sprintf(helper::translate('Options de la galerie %s'), ucfirst($this->getUrl(3))),
|
||||
'view' => 'option'
|
||||
]);
|
||||
} else {
|
||||
// Valeurs en sortie par défaut
|
||||
$this->addOutput([
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'notification' => helper::translate('Action interdite')
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
// Fonction pour convertir les coordonnées GPS au format décimal
|
||||
private function gps_decimal($coordinate, $hemisphere)
|
||||
{
|
||||
|
@ -1,22 +0,0 @@
|
||||
Copyright (c) Denis Howlett <denish@isocra.com>
|
||||
Copyright 2012 Nick Lombard - nickl- and other contributors
|
||||
https://github.com/isocra/TableDnD
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
3
module/geogallery/vendor/tablednd/inc.json
vendored
3
module/geogallery/vendor/tablednd/inc.json
vendored
@ -1,3 +0,0 @@
|
||||
[
|
||||
"tablednd.min.js"
|
||||
]
|
@ -1,2 +0,0 @@
|
||||
https://github.com/isocra/TableDnD
|
||||
Version 1.0.5
|
File diff suppressed because one or more lines are too long
@ -7,23 +7,19 @@
|
||||
'value' => template::ico('left')
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col1 offset8">
|
||||
<?php echo template::button('galleryConfigOption', [
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/option/galleries/',
|
||||
'value' => template::ico('sliders')
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col1">
|
||||
<?php echo template::button('galleryConfigTheme', [
|
||||
<!--
|
||||
<div class="col1 offset10">
|
||||
<?php /* echo template::button('galleryConfigTheme', [
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/theme/',
|
||||
'value' => template::ico('brush')
|
||||
]); ?>
|
||||
|
||||
]); */?>
|
||||
</div>
|
||||
<div class="col1">
|
||||
-->
|
||||
<div class="col1 offset10">
|
||||
<?php echo template::button('galleryAdd', [
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/add/',
|
||||
'value' => template::ico('plus'),
|
||||
'class' => 'buttonGreen',
|
||||
'class' => 'buttonGreen'
|
||||
]); ?>
|
||||
</div>
|
||||
|
@ -20,7 +20,7 @@
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php if ($module::$pictures): ?>
|
||||
<?php echo template::table([1, 3, 1, 3, 3, 1], $module::$pictures, ['#', 'Image', 'Couverture', 'Légende', 'Coordonnées', ''], ['id' => 'galleryTable'], $module::$picturesId); ?>
|
||||
<?php echo template::table([3, 4, 2, 2, 1], $module::$pictures, ['Image', 'Légende', 'Longitude', 'Latitude', 'Miniature'], ['id' => 'galleryTable'], $module::$picturesId); ?>
|
||||
<?php echo template::hidden('galleryEditFormResponse'); ?>
|
||||
<?php echo template::hidden('galleryEditSort', ['value' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(2), 'config', 'sort'])]); ?>
|
||||
<?php echo template::hidden('galleryEditFormGalleryName', ['value' => $this->getUrl(2)]); ?>
|
||||
|
@ -12,36 +12,54 @@
|
||||
* @link http://zwiicms.fr/
|
||||
*/
|
||||
|
||||
// Créer une carte Leaflet centrée sur une position par défaut
|
||||
var map = L.map('map').setView([0, 0], 2);
|
||||
|
||||
// Ajouter une couche de tuiles OpenStreetMap à la carte
|
||||
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
|
||||
}).addTo(map);
|
||||
|
||||
// Récupérer les données JSON des positions des images
|
||||
var jsonData = "<?php echo json_encode($imageData); ?>";
|
||||
var jsonData = "<?php echo json_encode($module::$galleries); ?>";
|
||||
jsonData = JSON.parse(jsonData);
|
||||
|
||||
// Créer un tableau pour stocker les marqueurs des images
|
||||
var markers = [];
|
||||
// Initialize the map
|
||||
var map = L.map('map').setView([51.505, -0.09], 5);
|
||||
|
||||
// Parcourir les données JSON et ajouter des marqueurs pour chaque image
|
||||
jsonData.images.forEach(function(image) {
|
||||
var marker = L.marker([image.lat, image.lng]).addTo(map);
|
||||
markers.push(marker);
|
||||
});
|
||||
// Add OpenStreetMap tile layer
|
||||
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||
maxZoom: 19,
|
||||
}).addTo(map);
|
||||
|
||||
// Calculer la moyenne des positions des images
|
||||
var sumLat = 0;
|
||||
var sumLng = 0;
|
||||
jsonData.images.forEach(function(image) {
|
||||
sumLat += image.lat;
|
||||
sumLng += image.lng;
|
||||
});
|
||||
var avgLat = sumLat / jsonData.images.length;
|
||||
var avgLng = sumLng / jsonData.images.length;
|
||||
// Helper function to create a popup content
|
||||
function createPopupContent(image, legend, directory) {
|
||||
var imageUrl = directory + '/' + image;
|
||||
var legendText = legend[image.replace('.jpg', 'jpg')];
|
||||
return `
|
||||
<div>
|
||||
<img src="${imageUrl}" alt="${legendText}" style="width: 100px; height: auto;" />
|
||||
<p>${legendText}</p>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
// Centrer la carte sur la moyenne des positions des images
|
||||
map.setView([avgLat, avgLng]);
|
||||
// Loop through each geotag dataset
|
||||
for (var key in jsonData) {
|
||||
if (jsonData.hasOwnProperty(key)) {
|
||||
var gallery = jsonData[key];
|
||||
var directory = gallery.config.directory;
|
||||
var legend = gallery.legend;
|
||||
var positions = gallery.positions;
|
||||
|
||||
// Loop through each image position
|
||||
for (var image in positions) {
|
||||
if (positions.hasOwnProperty(image)) {
|
||||
var position = positions[image];
|
||||
var lat = parseFloat(position.lat);
|
||||
var long = parseFloat(position.long);
|
||||
|
||||
// Create a marker
|
||||
var marker = L.marker([lat, long]).addTo(map);
|
||||
|
||||
// Create popup content
|
||||
var popupContent = createPopupContent(image, legend, directory);
|
||||
|
||||
// Bind the popup to the marker
|
||||
marker.bindPopup(popupContent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
<?php if($module::$galleries): ?>
|
||||
<?php echo "<pre>"; var_dump($module::$galleries); ?>
|
||||
<?php if ($module::$galleries): ?>
|
||||
<pre>
|
||||
<?php ;
|
||||
var_dump($module::$galleries); ?>
|
||||
</pre>
|
||||
<div id="map"></div>
|
||||
<?php else: ?>
|
||||
<?php echo template::speech('Aucune galerie'); ?>
|
||||
|
@ -1,18 +0,0 @@
|
||||
/**
|
||||
* This file is part of Zwii.
|
||||
*
|
||||
* For full copyright and license information, please see the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*
|
||||
* @author Rémi Jean <remi.jean@outlook.com>
|
||||
* @copyright Copyright (C) 2008-2018, Rémi Jean
|
||||
* @author Frédéric Tempez <frederic.tempez@outlook.com>
|
||||
* @copyright Copyright (C) 2018-2024, Frédéric Tempez
|
||||
* @license CC Attribution-NonCommercial-NoDerivatives 4.0 International
|
||||
* @link http://zwiicms.fr/
|
||||
*/
|
||||
|
||||
|
||||
/** NE PAS EFFACER
|
||||
* admin.css
|
||||
*/
|
@ -1,68 +0,0 @@
|
||||
/**
|
||||
* This file is part of Zwii.
|
||||
*
|
||||
* For full copyright and license information, please see the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*
|
||||
* @author Rémi Jean <remi.jean@outlook.com>
|
||||
* @copyright Copyright (C) 2008-2018, Rémi Jean
|
||||
* @author Frédéric Tempez <frederic.tempez@outlook.com>
|
||||
* @copyright Copyright (C) 2018-2024, Frédéric Tempez
|
||||
* @license CC Attribution-NonCommercial-NoDerivatives 4.0 International
|
||||
* @link http://zwiicms.fr/
|
||||
*/
|
||||
|
||||
/**
|
||||
* Gestion des événements
|
||||
*/
|
||||
|
||||
// Activation des options pour les galeries non uniques
|
||||
$("#galleryOptionShowUniqueGallery").click(function() {
|
||||
if ($(this).prop("checked")) {
|
||||
$("#galleryOptionBackPosition, #galleryOptionBackAlign").prop( "disabled", true );
|
||||
} else {
|
||||
$("#galleryOptionBackPosition, #galleryOptionBackAlign").prop( "disabled", false );
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Liste des dossiers
|
||||
*/
|
||||
var oldResult = [];
|
||||
var directoryDOM = $("#galleryEditDirectory");
|
||||
var directoryOldDOM = $("#galleryEditDirectoryOld");
|
||||
function dirs() {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "<?php echo helper::baseUrl() . $this->getUrl(0); ?>/dirs",
|
||||
success: function(result) {
|
||||
if($(result).not(oldResult).length !== 0 || $(oldResult).not(result).length !== 0) {
|
||||
directoryDOM.empty();
|
||||
for(var i = 0; i < result.length; i++) {
|
||||
directoryDOM.append(function(i) {
|
||||
var option = $("<option>").val(result[i]).text(result[i]);
|
||||
if(directoryOldDOM.val() === result[i]) {
|
||||
option.prop("selected", true);
|
||||
}
|
||||
return option;
|
||||
}(i))
|
||||
}
|
||||
oldResult = result;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
dirs();
|
||||
// Actualise la liste des dossiers toutes les trois secondes
|
||||
setInterval(function() {
|
||||
dirs();
|
||||
}, 3000);
|
||||
|
||||
/**
|
||||
* Stock le dossier choisi pour le re-sélectionner en cas d'actualisation ajax de la liste des dossiers
|
||||
*/
|
||||
directoryDOM.on("change", function() {
|
||||
directoryOldDOM.val($(this).val());
|
||||
});
|
||||
|
@ -1,120 +0,0 @@
|
||||
<?php echo template::formOpen('galleriesOptionForm'); ?>
|
||||
<div class="row">
|
||||
<div class="col1">
|
||||
<?php echo template::button('galleriesOptionBack', [
|
||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||
'value' => template::ico('left'),
|
||||
'class' => 'buttonGrey'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col2 offset9">
|
||||
<?php echo template::submit('galleriesOptionSubmit'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php if($module::$formOptionSelect === 'galleries'): ?>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo helper::translate('Paramètres');?></h4>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php echo template::checkbox('galleriesOptionShowUniqueGallery', true, 'Masquer l\'index des galeries lorsque le module ne contient qu\'une seule galerie' , [
|
||||
'checked' => count($this->getData(['module', $this->getUrl(0), 'content'])) === 1
|
||||
? $this->getData(['module', $this->getUrl(0), 'config', 'showUniqueGallery'])
|
||||
: false,
|
||||
'disabled' => count($this->getData(['module', $this->getUrl(0), 'content'])) > 1,
|
||||
'help' => 'Cette option est active lorsque le module ne contient qu\'une seule galerie, elle permet d\'éviter la page listant toutes les galeries et affiche directement la galerie'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="containerBackOptions">
|
||||
<div class="col6">
|
||||
<?php echo template::select('galleryOptionBackPosition', $module::$galleryOptionBackPosition, [
|
||||
'label' => 'Position du bouton de retour à l\'index des galeries',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'showUniqueGallery']) === true
|
||||
? 'none'
|
||||
: $this->getData(['module', $this->getUrl(0), 'config','backPosition']),
|
||||
'disabled' => count($this->getData(['module', $this->getUrl(0), 'content'])) === 1
|
||||
? $this->getData(['module', $this->getUrl(0), 'config', 'showUniqueGallery'])
|
||||
: false,
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col6">
|
||||
<?php echo template::select('galleryOptionBackAlign', $module::$galleryOptionBackAlign, [
|
||||
'label' => 'Alignement du bouton de retour',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'showUniqueGallery']) === true
|
||||
? 'none'
|
||||
: $this->getData(['module', $this->getUrl(0), 'config','backAlign']),
|
||||
'disabled' => count($this->getData(['module', $this->getUrl(0), 'content'])) === 1
|
||||
? $this->getData(['module', $this->getUrl(0), 'config', 'showUniqueGallery'])
|
||||
: false,
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php elseif($module::$formOptionSelect === 'gallery'): ?>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo helper::translate('Paramètres');?></h4>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::text('galleryEditName', [
|
||||
'label' => 'Nom',
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(3), 'config', 'name'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col6">
|
||||
<div class="displayNone">
|
||||
<?php echo template::hidden('galleryEditDirectoryOld', [
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(3), 'config', 'directory']),
|
||||
'noDirty' => true // Désactivé à cause des modifications en ajax
|
||||
]); ?>
|
||||
</div>
|
||||
<?php echo template::select('galleryEditDirectory', [], [
|
||||
'label' => 'Dossier cible',
|
||||
'noDirty' => true // Désactivé à cause des modifications en ajax
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col3">
|
||||
<?php echo template::select('galleryEditSort', $module::$sort, [
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(3), 'config', 'sort']),
|
||||
'label' => 'Tri des images',
|
||||
'help' => 'Tri manuel : déplacez le images dans le tableau ci-dessous. L\'ordre est sauvegardé automatiquement.'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col7 verticalAlignBottom">
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php echo template::checkbox('galleryEditFullscreen', true, 'Mode plein écran automatique' , [
|
||||
'checked' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(3), 'config', 'fullScreen']),
|
||||
'help' => 'A l\'ouverture de la galerie, la première image est affichée en plein écran.'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php echo template::checkbox('galleryEditShowPageContent', true, 'Afficher le contenu de la page avec la galerie' , [
|
||||
'checked' => $this->getData(['module', $this->getUrl(0), 'content', $this->getUrl(3), 'config', 'showPageContent']),
|
||||
'help' => 'Le contenu de la page est toujours affiché dans la liste des galeries. Quand une seule galerie est disponible, il est possible de l\'afficher directement, cette option est utile dans ce cas précis.'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php echo template::formClose(); ?>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="moduleVersion">Version n°
|
||||
<?php echo $module::VERSION; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -11,119 +11,6 @@
|
||||
<?php echo template::submit('galleryThemeBack'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo helper::translate('Vignettes');?></h4>
|
||||
<div class="row">
|
||||
<div class="col3">
|
||||
<?php echo template::select('galleryThemeThumbWidth', $module::$galleryThemeSizeWidth, [
|
||||
'label' => 'Largeur',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbWidth'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3">
|
||||
<?php echo template::select('galleryThemeThumbHeight', $module::$galleryThemeSizeHeight, [
|
||||
'label' => 'Hauteur',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbHeight'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('galleryThemeThumbAlign', $module::$galleryThemeFlexAlign, [
|
||||
'label' => 'Alignement',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbAlign'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col2">
|
||||
<?php echo template::select('galleryThemeThumbMargin', $module::$galleryThemeMargin, [
|
||||
'label' => 'Marge',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbMargin'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::select('galleryThemeThumbBorder', $module::$galleryThemeBorder, [
|
||||
'label' => 'Bordure',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbBorder'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('galleryThemeThumbBorderColor', [
|
||||
'class' => 'colorPicker',
|
||||
'help' => 'Le curseur horizontal règle le niveau de transparence.',
|
||||
'label' => 'Couleur de la bordure',
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'theme','thumbBorderColor'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('galleryThemeThumbRadius', $module::$galleryThemeRadius, [
|
||||
'label' => 'Arrondi des angles',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbRadius'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::select('galleryThemeThumbShadows', $module::$galleryThemeShadows, [
|
||||
'label' => 'Ombre',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbShadows'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::text('galleryThemeThumbShadowsColor', [
|
||||
'class' => 'colorPicker',
|
||||
'help' => 'Le curseur horizontal règle le niveau de transparence.',
|
||||
'label' => 'Couleur de l\'ombre',
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'theme','thumbShadowsColor'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('galleryThemeThumbOpacity', $module::$galleryThemeOpacity, [
|
||||
'label' => 'Opacité au survol',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','thumbOpacity'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4><?php echo helper::translate('Légendes');?></h4>
|
||||
<div class="row">
|
||||
<div class="col3">
|
||||
<?php echo template::text('galleryThemeLegendTextColor', [
|
||||
'class' => 'colorPicker',
|
||||
'help' => 'Le curseur horizontal règle le niveau de transparence.',
|
||||
'label' => 'Texte',
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'theme','legendTextColor'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3">
|
||||
<?php echo template::text('galleryThemeLegendBgColor', [
|
||||
'class' => 'colorPicker',
|
||||
'help' => 'Le curseur horizontal règle le niveau de transparence.',
|
||||
'label' => 'Arrière plan',
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'theme','legendBgColor'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3">
|
||||
<?php echo template::select('galleryThemeLegendHeight', $module::$galleryThemeLegendHeight, [
|
||||
'label' => 'Hauteur',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','legendHeight'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3">
|
||||
<?php echo template::select('galleryThemeLegendAlign', $module::$galleryThemeAlign, [
|
||||
'label' => 'Alignement',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'theme','legendAlign'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo template::formClose(); ?>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
|
Loading…
Reference in New Issue
Block a user