gallery 2.23 le tri des images ne nécessite plus une validation
This commit is contained in:
parent
fe0e40cb99
commit
906ed547a6
@ -24,6 +24,7 @@
|
|||||||
- Nouveau masque dédié à la sauvegarde automatique, à l'import et à l'export des données de site.
|
- Nouveau masque dédié à la sauvegarde automatique, à l'import et à l'export des données de site.
|
||||||
- Modifications :
|
- Modifications :
|
||||||
- Module gallery optimisé, tri dynamique, choix du thème.
|
- Module gallery optimisé, tri dynamique, choix du thème.
|
||||||
|
- Module blog présentation optimisée avec options de position de l'image, la métadescription est le contenu de l'article.
|
||||||
- Chargement paresseux des images.
|
- Chargement paresseux des images.
|
||||||
- Edition de page : suppression de l'option d'ouverture dans une lity.
|
- Edition de page : suppression de l'option d'ouverture dans une lity.
|
||||||
- Accès concurrents, modification simultanée d'une même ressource (page, config, thème, utilisateur) interdite.
|
- Accès concurrents, modification simultanée d'une même ressource (page, config, thème, utilisateur) interdite.
|
||||||
|
@ -19,7 +19,7 @@ class gallery extends common {
|
|||||||
const SORT_ASC = 'SORT_ASC';
|
const SORT_ASC = 'SORT_ASC';
|
||||||
const SORT_DSC = 'SORT_DSC';
|
const SORT_DSC = 'SORT_DSC';
|
||||||
const SORT_HAND = 'SORT_HAND';
|
const SORT_HAND = 'SORT_HAND';
|
||||||
const GALLERY_VERSION = '2.22';
|
const GALLERY_VERSION = '2.23';
|
||||||
|
|
||||||
public static $directories = [];
|
public static $directories = [];
|
||||||
|
|
||||||
@ -36,13 +36,14 @@ class gallery extends common {
|
|||||||
public static $thumbs = [];
|
public static $thumbs = [];
|
||||||
|
|
||||||
public static $actions = [
|
public static $actions = [
|
||||||
'config' => self::GROUP_MODERATOR,
|
'config' => self::GROUP_MODERATOR,
|
||||||
'delete' => self::GROUP_MODERATOR,
|
'delete' => self::GROUP_MODERATOR,
|
||||||
'dirs' => self::GROUP_MODERATOR,
|
'dirs' => self::GROUP_MODERATOR,
|
||||||
'sort' => self::GROUP_MODERATOR,
|
'sortGalleries' => self::GROUP_MODERATOR,
|
||||||
'edit' => self::GROUP_MODERATOR,
|
'sortPictures' => self::GROUP_MODERATOR,
|
||||||
'theme' => self::GROUP_MODERATOR,
|
'edit' => self::GROUP_MODERATOR,
|
||||||
'index' => self::GROUP_VISITOR
|
'theme' => self::GROUP_MODERATOR,
|
||||||
|
'index' => self::GROUP_VISITOR
|
||||||
];
|
];
|
||||||
|
|
||||||
public static $sort = [
|
public static $sort = [
|
||||||
@ -130,7 +131,7 @@ class gallery extends common {
|
|||||||
* Tri de la liste des galeries
|
* Tri de la liste des galeries
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function sort() {
|
public function sortGalleries() {
|
||||||
if($_POST['response']) {
|
if($_POST['response']) {
|
||||||
$data = explode('&',$_POST['response']);
|
$data = explode('&',$_POST['response']);
|
||||||
$data = str_replace('galleryTable%5B%5D=','',$data);
|
$data = str_replace('galleryTable%5B%5D=','',$data);
|
||||||
@ -152,6 +153,32 @@ class gallery extends common {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tri de la liste des images
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function sortPictures() {
|
||||||
|
if($_POST['response']) {
|
||||||
|
$galleryName = $_POST['gallery'];
|
||||||
|
$data = explode('&',$_POST['response']);
|
||||||
|
$data = str_replace('galleryTable%5B%5D=','',$data);
|
||||||
|
// Sauvegarder
|
||||||
|
$this->setData(['module', $this->getUrl(0), $galleryName, [
|
||||||
|
'config' => [
|
||||||
|
'name' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','name']),
|
||||||
|
'directory' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','directory']),
|
||||||
|
'homePicture' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','homePicture']),
|
||||||
|
'sort' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','sort']),
|
||||||
|
'position' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','position']),
|
||||||
|
'fullScreen' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','fullScreen'])
|
||||||
|
|
||||||
|
],
|
||||||
|
'legend' => $this->getData(['module',$this->getUrl(0),$galleryName,'legend']),
|
||||||
|
'position' => array_flip($data)
|
||||||
|
]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configuration
|
* Configuration
|
||||||
@ -313,23 +340,6 @@ class gallery extends common {
|
|||||||
else {
|
else {
|
||||||
// Soumission du formulaire
|
// Soumission du formulaire
|
||||||
if($this->isPost()) {
|
if($this->isPost()) {
|
||||||
/**
|
|
||||||
* $picturesPosition contient un tableau avec les images triées
|
|
||||||
*/
|
|
||||||
$picturesPosition = [];
|
|
||||||
if ($this->getInput('galleryEditFormResponse') &&
|
|
||||||
$this->getInput('galleryEditSort') === self::SORT_HAND) {
|
|
||||||
// Tri des images si valeur de retour et choix manuel
|
|
||||||
$picturesPosition = explode('&',($this->getInput('galleryEditFormResponse',helper::FILTER_STRING_LONG)));
|
|
||||||
$picturesPosition = str_replace('galleryTable%5B%5D=','',$picturesPosition);
|
|
||||||
$picturesPosition = array_flip($picturesPosition);
|
|
||||||
}
|
|
||||||
// Tri manuel sélectionné mais de déplacement, reprendre la config sauvegardée
|
|
||||||
if ($this->getInput('galleryEditSort') === self::SORT_HAND &&
|
|
||||||
empty($picturesPosition)) {
|
|
||||||
$picturesPosition = $this->getdata(['module', $this->getUrl(0), $this->getUrl(2), 'position']);
|
|
||||||
// Si la position sauvegardée est vide, on activera le tri alpha
|
|
||||||
}
|
|
||||||
// Si l'id a changée
|
// Si l'id a changée
|
||||||
$galleryId = $this->getInput('galleryEditName', helper::FILTER_ID, true);
|
$galleryId = $this->getInput('galleryEditName', helper::FILTER_ID, true);
|
||||||
if($galleryId !== $this->getUrl(2)) {
|
if($galleryId !== $this->getUrl(2)) {
|
||||||
@ -359,13 +369,13 @@ class gallery extends common {
|
|||||||
'directory' => $this->getInput('galleryEditDirectory', helper::FILTER_STRING_SHORT, true),
|
'directory' => $this->getInput('galleryEditDirectory', helper::FILTER_STRING_SHORT, true),
|
||||||
'homePicture' => $homePicture,
|
'homePicture' => $homePicture,
|
||||||
// pas de positions, on active le tri alpha
|
// pas de positions, on active le tri alpha
|
||||||
'sort' => (empty($picturesPosition) && $this->getInput('galleryEditSort') === self::SORT_HAND) ? self::SORT_ASC : $this->getInput('galleryEditSort'),
|
'sort' => $this->getInput('galleryEditSort'),
|
||||||
'position' => $this->getData(['module', $this->getUrl(0), $galleryId,'config','position']) === '' ? count($this->getData(['module',$this->getUrl(0)]))-1 : $this->getData(['module', $this->getUrl(0), $galleryId,'config','position']),
|
'position' => $this->getData(['module', $this->getUrl(0), $galleryId,'config','position']) === '' ? count($this->getData(['module',$this->getUrl(0)]))-1 : $this->getData(['module', $this->getUrl(0), $galleryId,'config','position']),
|
||||||
'fullScreen' => $this->getInput('galleryEditFullscreen', helper::FILTER_BOOLEAN)
|
'fullScreen' => $this->getInput('galleryEditFullscreen', helper::FILTER_BOOLEAN)
|
||||||
|
|
||||||
],
|
],
|
||||||
'legend' => $legends,
|
'legend' => $legends,
|
||||||
'position' => $picturesPosition
|
'position' => $this->getdata(['module', $this->getUrl(0), $galleryId, 'position'])
|
||||||
]]);
|
]]);
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
|
@ -24,7 +24,7 @@ $( document ).ready(function() {
|
|||||||
},
|
},
|
||||||
onDragStop : function(table, row) {
|
onDragStop : function(table, row) {
|
||||||
// Affiche le bouton de tri après un déplacement
|
// Affiche le bouton de tri après un déplacement
|
||||||
$(":input[type='submit']").prop('disabled', false);
|
//$(":input[type='submit']").prop('disabled', false);
|
||||||
// Sauvegarde le tri
|
// Sauvegarde le tri
|
||||||
sortGalleries();
|
sortGalleries();
|
||||||
},
|
},
|
||||||
@ -92,7 +92,7 @@ directoryDOM.on("change", function() {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function sortGalleries() {
|
function sortGalleries() {
|
||||||
var url = "<?php echo helper::baseUrl() . $this->getUrl(0); ?>/sort";
|
var url = "<?php echo helper::baseUrl() . $this->getUrl(0); ?>/sortGalleries";
|
||||||
var data = $("#galleryConfigFilterResponse").val();
|
var data = $("#galleryConfigFilterResponse").val();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
|
@ -52,10 +52,7 @@
|
|||||||
<h4>Galeries installées</h4>
|
<h4>Galeries installées</h4>
|
||||||
<?php if($module::$galleries): ?>
|
<?php if($module::$galleries): ?>
|
||||||
<?php echo template::table([1, 4, 5, 1, 1], $module::$galleries, ['','Nom', 'Dossier cible', '', ''], ['id' => 'galleryTable'],$module::$galleriesId); ?>
|
<?php echo template::table([1, 4, 5, 1, 1], $module::$galleries, ['','Nom', 'Dossier cible', '', ''], ['id' => 'galleryTable'],$module::$galleriesId); ?>
|
||||||
<?php echo template::hidden('galleryConfigFilterResponse'); ?>
|
<?php echo template::hidden('galleryConfigFilterResponse'); ?>
|
||||||
<?php echo template::hidden('galleryConfigFilterSubmit',[
|
|
||||||
'value' => false
|
|
||||||
]); ?>
|
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<?php echo template::speech('Aucune galerie.'); ?>
|
<?php echo template::speech('Aucune galerie.'); ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
@ -65,6 +65,11 @@ $( document ).ready(function() {
|
|||||||
onDrop: function(table, row) {
|
onDrop: function(table, row) {
|
||||||
$("#galleryEditFormResponse").val($.tableDnD.serialize());
|
$("#galleryEditFormResponse").val($.tableDnD.serialize());
|
||||||
},
|
},
|
||||||
|
onDragStop : function(table, row) {
|
||||||
|
// Sauvegarde le tri
|
||||||
|
sortPictures();
|
||||||
|
$("#galleryEditFormResponse").val("");
|
||||||
|
},
|
||||||
serializeRegexp: ""
|
serializeRegexp: ""
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -92,4 +97,21 @@ $("#galleryEditSort").change(function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tri dynamique des images
|
||||||
|
*/
|
||||||
|
|
||||||
|
function sortPictures() {
|
||||||
|
var url = "<?php echo helper::baseUrl() . $this->getUrl(0); ?>/sortPictures";
|
||||||
|
var d1 = $("#galleryEditFormResponse").val();
|
||||||
|
var d2 = $("#galleryEditFormGalleryName").val();
|
||||||
|
//var data = $('#galleryEditForm').serialize();
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: url ,
|
||||||
|
data: {
|
||||||
|
response : d1,
|
||||||
|
gallery: d2
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -53,9 +53,7 @@
|
|||||||
<?php if($module::$pictures): ?>
|
<?php if($module::$pictures): ?>
|
||||||
<?php echo template::table([1, 4, 1, 5, 1], $module::$pictures, ['','Image', 'Couverture','Légende',''],['id' => 'galleryTable'], $module::$picturesId ); ?>
|
<?php echo template::table([1, 4, 1, 5, 1], $module::$pictures, ['','Image', 'Couverture','Légende',''],['id' => 'galleryTable'], $module::$picturesId ); ?>
|
||||||
<?php echo template::hidden('galleryEditFormResponse'); ?>
|
<?php echo template::hidden('galleryEditFormResponse'); ?>
|
||||||
<?php echo template::hidden('galleryEditSubmit',[
|
<?php echo template::hidden('galleryEditFormGalleryName',['value' => $this->getUrl(2)]); ?>
|
||||||
'value' => false
|
|
||||||
]); ?>
|
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<?php echo template::speech('Aucune image.'); ?>
|
<?php echo template::speech('Aucune image.'); ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
Loading…
Reference in New Issue
Block a user