diff --git a/core/core.php b/core/core.php index ac6caaaf..e8093bd8 100644 --- a/core/core.php +++ b/core/core.php @@ -3342,7 +3342,7 @@ class template { $html .= ''; $i = 0; foreach($tr as $td) { - $html .= '' . $td . ''; + $html .= '' . $td . ''; } $html .= ''; } diff --git a/module/gallery/gallery.php b/module/gallery/gallery.php index f463f634..1dde307b 100644 --- a/module/gallery/gallery.php +++ b/module/gallery/gallery.php @@ -23,8 +23,8 @@ class gallery extends common { ]; public static $sort = [ - 'asc' => 'Alphabétique naturel', - 'dsc' => 'Alphabétique naturel inverse', + 'SORT_ASC' => 'Alphabétique naturel', + 'SORT_DSC' => 'Alphabétique naturel inverse', 'none' => 'Aucun tri', ]; @@ -44,8 +44,24 @@ class gallery extends common { public function config() { // Liste des galeries $galleries = $this->getData(['module', $this->getUrl(0)]); + $countGalleries = count($this->getData(['module',$this->getUrl(0)])); + // Tri des éléments de la galerie + /* + echo "
";	
+		if($galleries) {	
+			foreach($galleries as $galleryId => $gallery) {
+				echo $galleryId;
+				echo "|";
+				echo $gallery['config']['order'] ;
+				echo '

'; + } + } + + + echo "

"; + */ + if($galleries) { - ksort($galleries,SORT_NATURAL); foreach($galleries as $galleryId => $gallery) { // Erreur dossier vide if(is_dir($gallery['config']['directory'])) { @@ -57,10 +73,20 @@ class gallery extends common { else { $gallery['config']['directory'] = '' . $gallery['config']['directory'] . ' (dossier introuvable)'; } + // Ordre des galeries + // Element 0 chaine vide + $galeryOrder = range(1,count($this->getData(['module',$this->getUrl(0)]))); // Met en forme le tableau self::$galleries[] = [ $gallery['config']['name'], $gallery['config']['directory'], + $gallery['config']['order'], + /* + template::select('galleryConfigOrder', $galeryOrder , [ + 'selected' => $gallery['config']['order'], + 'class' => 'configOrder' + + ]),*/ template::button('galleryConfigEdit' . $galleryId , [ 'href' => helper::baseUrl() . $this->getUrl(0) . '/edit/' . $galleryId . '/' . $_SESSION['csrf'], 'value' => template::ico('pencil') @@ -80,7 +106,8 @@ class gallery extends common { 'config' => [ 'name' => $this->getInput('galleryConfigName'), 'directory' => $this->getInput('galleryConfigDirectory', helper::FILTER_STRING_SHORT, true), - 'sort' => $this->getInput('galleryConfigSort') + 'sort' => $this->getInput('galleryConfigSort'), + 'order' => count($this->getData(['module',$this->getUrl(0)])) + 1 ], 'legend' => [] ]]); @@ -223,10 +250,10 @@ class gallery extends common { switch ($this->getData(['module', $this->getUrl(0), $this->getUrl(2), 'config', 'sort'])) { case 'none': break; - case 'dsc': + case 'SORT_DSC': krsort(self::$pictures,SORT_NATURAL); break; - case 'asc': + case 'SORT_ASC': default: ksort(self::$pictures,SORT_NATURAL); break; @@ -268,10 +295,10 @@ class gallery extends common { switch ($this->getData(['module', $this->getUrl(0), $this->getUrl(1), 'config', 'sort'])) { case 'none': break; - case 'dsc': + case 'SORT_DSC': krsort(self::$pictures,SORT_NATURAL); break; - case 'asc': + case 'SORT_ASC': default: ksort(self::$pictures,SORT_NATURAL); break; diff --git a/module/gallery/view/config/config.js.php b/module/gallery/view/config/config.js.php index 39e47491..80bef565 100644 --- a/module/gallery/view/config/config.js.php +++ b/module/gallery/view/config/config.js.php @@ -6,6 +6,8 @@ * * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean + * @author Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @license GNU General Public License, version 3 * @link http://zwiicms.com/ */ @@ -58,4 +60,22 @@ setInterval(function() { */ directoryDOM.on("change", function() { directoryOldDOM.val($(this).val()); +}); + + +/** + * Tri dynamique de la galerie + */ +$( document ).ready(function() { + var $tbody = $('#galleryTable tbody'); + $tbody.find('tr').sort(function (a, b) { + var tda = $(a).find('td.pos3:eq(0)').text(); + var tdb = $(b).find('td.pos3:eq(0)').text(); + // if a < b return 1 + return tda > tdb ? 1 + // else if a > b return -1 + : tda < tdb ? -1 + // else they are equal - return 0 + : 0; + }).appendTo($tbody); }); \ No newline at end of file diff --git a/module/gallery/view/config/config.php b/module/gallery/view/config/config.php index 508b07a0..4f00d51c 100644 --- a/module/gallery/view/config/config.php +++ b/module/gallery/view/config/config.php @@ -45,7 +45,7 @@ - + 'galleryTable']); ?> diff --git a/module/gallery/view/edit/edit.php b/module/gallery/view/edit/edit.php index c088032d..60f7dff4 100644 --- a/module/gallery/view/edit/edit.php +++ b/module/gallery/view/edit/edit.php @@ -17,7 +17,7 @@

Informations générales

-
+
'Nom', 'value' => $this->getData(['module', $this->getUrl(0), $this->getUrl(2), 'config', 'name']) @@ -33,13 +33,13 @@ 'noDirty' => true // Désactivé à cause des modifications en ajax ]); ?>
-
+
$this->getData(['module', $this->getUrl(0), $this->getUrl(2), 'config', 'sort']), 'label' => 'Tri des images', 'help' => 'Les images sont triées par nom de fichier grâce à la méthode naturelle qui donne de meilleurs résultats lorsque les images sont numérotées.' ]); ?> -
+
diff --git a/module/gallery/view/gallery/gallery.css b/module/gallery/view/gallery/gallery.css index 9206e2d7..7374a3f5 100644 --- a/module/gallery/view/gallery/gallery.css +++ b/module/gallery/view/gallery/gallery.css @@ -21,4 +21,15 @@ background: rgba(0, 0, 0, .6); color: #FFF; text-align: center; -} \ No newline at end of file +} +/* Ajout de régles css ---------------------------- */ +.galleryRow { + display: flex; + flex-wrap: wrap; + justify-content: center; +} +.col3 { + width : 16em; + max-width: 50%; + } +/* ----------------------------------------------*/ diff --git a/module/gallery/view/gallery/gallery.php b/module/gallery/view/gallery/gallery.php index 6dde60ee..3f958f33 100644 --- a/module/gallery/view/gallery/gallery.php +++ b/module/gallery/view/gallery/gallery.php @@ -8,26 +8,19 @@ ]); ?> - - + +
$legend): ?> - -
- - - -
- - - \ No newline at end of file + + diff --git a/module/gallery/view/index/index.js.php b/module/gallery/view/index/index.js.php new file mode 100644 index 00000000..17927eda --- /dev/null +++ b/module/gallery/view/index/index.js.php @@ -0,0 +1,25 @@ +/** + * 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 + * @copyright Copyright (C) 2008-2018, Rémi Jean + * @authorFrédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez + * @license GNU General Public License, version 3 + * @link http://zwiicms.com/ + */ + +$( document ).ready(function() { +/* + asc=false; + var sorted=$('.pictureBox').sort(function(a,b){ + return (asc == + ($(a).data('sort') < $(b).data('sort'))) ? 1 : -1; + }); + asc = asc ? false : true; + $('body').html(sorted); + */ +}); \ No newline at end of file diff --git a/module/gallery/view/index/index.php b/module/gallery/view/index/index.php index b2040e8b..a9269e6f 100644 --- a/module/gallery/view/index/index.php +++ b/module/gallery/view/index/index.php @@ -5,7 +5,7 @@
-
+