diff --git a/src/mibew/libs/classes/Mibew/Controller/Settings/FeaturesController.php b/src/mibew/libs/classes/Mibew/Controller/Settings/FeaturesController.php index 77df9260..4f8181b7 100644 --- a/src/mibew/libs/classes/Mibew/Controller/Settings/FeaturesController.php +++ b/src/mibew/libs/classes/Mibew/Controller/Settings/FeaturesController.php @@ -55,6 +55,7 @@ class FeaturesController extends AbstractController $page['canmodify'] = is_capable(CAN_ADMINISTRATE, $operator); $page['stored'] = $request->query->get('stored'); + $page['regeneratebutton'] = $request->query->get('regenerate'); $page['title'] = getlocal('Messenger settings'); $page['menuid'] = 'settings'; $page = array_merge($page, prepare_menu($operator)); @@ -77,10 +78,15 @@ class FeaturesController extends AbstractController { csrf_check_token($request); + $regenerate_button = false; + // Update options in the database. $options = $this->getOptionsList(); foreach ($options as $opt) { $value = $request->request->get($opt) == 'on' ? '1' : '0'; + if (($opt === 'enabletracking') && (Settings::get($opt) != $value)) { + $regenerate_button = true; + } Settings::set($opt, $value); } @@ -94,7 +100,7 @@ class FeaturesController extends AbstractController // Redirect the current operator to the same page using GET method. $redirect_to = $this->generateUrl( 'settings_features', - array('stored' => true) + array('stored' => true, 'regenerate' => $regenerate_button) ); return $this->redirect($redirect_to); diff --git a/src/mibew/libs/classes/Mibew/Controller/Settings/PerformanceController.php b/src/mibew/libs/classes/Mibew/Controller/Settings/PerformanceController.php index 2efe1eee..f0efaa23 100644 --- a/src/mibew/libs/classes/Mibew/Controller/Settings/PerformanceController.php +++ b/src/mibew/libs/classes/Mibew/Controller/Settings/PerformanceController.php @@ -83,6 +83,7 @@ class PerformanceController extends AbstractController $page['enabletracking'] = Settings::get('enabletracking'); $page['stored'] = $request->query->get('stored'); + $page['regeneratebutton'] = $request->query->get('regenerate'); $page['title'] = getlocal("Messenger settings"); $page['menuid'] = "settings"; @@ -107,6 +108,8 @@ class PerformanceController extends AbstractController $errors = array(); $params = array(); + $regenerate_button = false; + $params['online_timeout'] = $request->request->get('onlinetimeout'); if (!is_numeric($params['online_timeout'])) { $errors[] = wrong_field("Operator online time threshold"); @@ -141,6 +144,10 @@ class PerformanceController extends AbstractController $params['updatefrequency_tracking'] = $request->request->get('frequencytracking'); if (!is_numeric($params['updatefrequency_tracking'])) { $errors[] = wrong_field("Tracking refresh time"); + } else { + if (Settings::get('updatefrequency_tracking') != $params['updatefrequency_tracking']) { + $regenerate_button = true; + } } $params['visitors_limit'] = $request->request->get('visitorslimit'); @@ -177,7 +184,7 @@ class PerformanceController extends AbstractController } // Redirect the current operator to the same page using get method. - $redirect_to = $this->generateUrl('settings_performance', array('stored' => true)); + $redirect_to = $this->generateUrl('settings_performance', array('stored' => true, 'regenerate' => $regenerate_button)); return $this->redirect($redirect_to); } diff --git a/src/mibew/styles/pages/default/templates_src/server_side/settings_features.handlebars b/src/mibew/styles/pages/default/templates_src/server_side/settings_features.handlebars index 3408d7e2..7289d118 100644 --- a/src/mibew/styles/pages/default/templates_src/server_side/settings_features.handlebars +++ b/src/mibew/styles/pages/default/templates_src/server_side/settings_features.handlebars @@ -13,6 +13,11 @@