Fix ordinamento widgets

This commit is contained in:
Luca 2018-03-24 00:19:15 +01:00
parent dc238faf57
commit 9c765f420e
2 changed files with 21 additions and 9 deletions

View File

@ -396,6 +396,7 @@ function start_widgets($widgets) {
op: 'updatewidget',
location: dst_list,
id_module: globals.id_module,
id_record: globals.id_record,
class: new_class,
id: ui.item.attr('id')
});
@ -405,6 +406,7 @@ function start_widgets($widgets) {
location: dst_list,
ids: order,
id_module: globals.id_module,
id_record: globals.id_record,
class: new_class
});
}

View File

@ -123,26 +123,36 @@ switch (post('op')) {
case 'sortwidget':
$id_module = post('id_module');
$id_record = post('id_record');
$location = post('location');
$class = post('class');
//$class = post('class');
$ids = explode(',', post('ids'));
(empty($id_record)) ? $location = 'controller_'.$location : $location = 'editor_'.$location;
for ($i = 0; $i < count($ids); ++$i) {
$id = explode('_', $ids[$i]);
$dbo->query('UPDATE zz_widgets SET `order`='.prepare($i).', class='.prepare($class).' WHERE id='.prepare($id[1]).' AND location='.prepare($location).' AND id_module='.prepare($id_module));
$rs = $dbo->fetchArray('SELECT CONCAT(\'widget_\',id) AS id FROM zz_widgets WHERE enabled = 1 AND location = '.prepare($location).' AND id_module = '.prepare($id_module).' ORDER BY `order` ASC');
if ($_POST['ids'] != implode(',', array_column($rs, 'id'))) {
$ids = explode(',', $_POST['ids']);
for ($i = 0; $i < count($ids); ++$i) {
$id = explode('_', $ids[$i]);
$dbo->query('UPDATE zz_widgets SET `order`='.prepare($i).' WHERE id='.prepare($id[1]));
}
$_SESSION['infos'][] = tr('Posizioni widgets aggiornate!');
}
break;
case 'updatewidget':
$class = post('class');
$id_module = post('id_module');
$id_record = post('id_record');
$location = post('location');
$class = post('class');
$id = explode('_', post('id'));
(empty($id_record)) ? $location = 'controller_'.$location : $location = 'editor_'.$location;
$dbo->query('UPDATE zz_widgets SET location='.prepare($location).', class='.prepare($class).' WHERE id='.prepare($id[1]).' AND id_module='.prepare($id_module));
if (!empty($class))
$dbo->query('UPDATE zz_widgets SET class='.prepare($class).' WHERE id='.prepare($id[1]));
break;
}