From ca31946d1a6bcf45c8e35967d6da8657dd6b2841 Mon Sep 17 00:00:00 2001 From: Cameron <e107inc@gmail.com> Date: Mon, 3 Apr 2023 16:27:42 -0700 Subject: [PATCH] Issue #4940 - Flex panel changes not sticking. --- e107_admin/includes/flexpanel.php | 16 +++++++++++----- e107_web/js/core/admin.flexpanel.js | 4 +++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/e107_admin/includes/flexpanel.php b/e107_admin/includes/flexpanel.php index cabdb9b10..c215e6bbe 100644 --- a/e107_admin/includes/flexpanel.php +++ b/e107_admin/includes/flexpanel.php @@ -26,21 +26,25 @@ define('FLEXPANEL_ENABLED', $flepanelEnabled); // Save rearranged menus to user. if(e_AJAX_REQUEST) { + if(FLEXPANEL_ENABLED && varset($_POST['core-flexpanel-order'], false)) { // If "Apply dashboard preferences to all administrators" is checked. +//print_r($_POST); if($adminPref == 1) { + e107::getConfig() ->setPosted('core-flexpanel-order', $_POST['core-flexpanel-order']) - ->save(); + ->save(true,true); + } else { - e107::getUser() + $result = e107::getUser() ->getConfig() ->set('core-flexpanel-order', $_POST['core-flexpanel-order']) - ->save(); + ->save(true,true); } exit; } @@ -56,7 +60,7 @@ e107_require_once(e_ADMIN . 'includes/infopanel.php'); class adminstyle_flexpanel extends adminstyle_infopanel { - private $iconlist = array(); + private $iconlist; /** * Constructor. @@ -342,7 +346,9 @@ class adminstyle_flexpanel extends adminstyle_infopanel if(!empty($user_pref['core-flexpanel-order'][$id])) { - return $user_pref['core-flexpanel-order'][$id]; + $arr = $user_pref['core-flexpanel-order'][$id]; + + return ['area' => $arr['area'], 'weight' => (int) $arr['weight']]; } $default = array( diff --git a/e107_web/js/core/admin.flexpanel.js b/e107_web/js/core/admin.flexpanel.js index 327fa922a..def196f39 100644 --- a/e107_web/js/core/admin.flexpanel.js +++ b/e107_web/js/core/admin.flexpanel.js @@ -100,7 +100,9 @@ var e107 = e107 || {'settings': {}, 'behaviors': {}}; } }); - $.post(window.location.href, {'core-flexpanel-order': NewOrder}); + $.post(window.location.href, {'core-flexpanel-order': NewOrder}).done(function( data ) { + console.log(data); + }); }; e107.callbacks.flexPanelEmptyPanels = function ()