From 1d03f04e1e8e7dab6e5f43429b575ef8708a3025 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Tue, 9 Mar 2010 06:45:36 +0000 Subject: [PATCH] - show reasonable errormessage in function validateFormFieldHidden() when hidden fields changed - don't show error if cronjob-timestamps changed while editing settings, fixes #52 --- .../hidden/function.validateFormFieldHidden.php | 15 +++++++++++---- lng/english.lng.php | 1 + lng/german.lng.php | 1 + 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/functions/formfields/hidden/function.validateFormFieldHidden.php b/lib/functions/formfields/hidden/function.validateFormFieldHidden.php index 82ba8631..11302345 100644 --- a/lib/functions/formfields/hidden/function.validateFormFieldHidden.php +++ b/lib/functions/formfields/hidden/function.validateFormFieldHidden.php @@ -19,13 +19,20 @@ function validateFormFieldHidden($fieldname, $fielddata, $newfieldvalue) { - if($newfieldvalue === $fielddata['value']) - { + /** + * don't show error on cronjob-timestamps changing + * because it might be possible that the cronjob ran + * while settings have been edited (bug #52) + */ + if($newfieldvalue === $fielddata['value'] + || $fieldname == 'system_last_tasks_run' + || $fieldname == 'system_last_traffic_run' + || $fieldname == 'system_lastcronrun' + ) { return true; } else { - // TODO: Throw some error that actually makes sense - false would just throw unknown error - return false; + return 'hiddenfieldvaluechanged'; } } diff --git a/lng/english.lng.php b/lng/english.lng.php index 0b6969c0..b8633595 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -1303,5 +1303,6 @@ $lng['admin']['newerversionavailable'] = 'There is a newer version of Froxlor av // ADDED IN FROXLOR 0.9.3 $lng['emails']['noemaildomainaddedyet'] = 'You do not have a (email-)domain in your account yet.'; +$lng['error']['hiddenfieldvaluechanged'] = 'The value for the hidden field "%s" changed while editing the settings.

This is usually not a big problem but the settings could not be saved because of this.'; ?> diff --git a/lng/german.lng.php b/lng/german.lng.php index b0ec91d9..5809e5de 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1283,5 +1283,6 @@ $lng['admin']['newerversionavailable'] = 'Eine neuere Version von Froxlor wurde // ADDED IN FROXLOR 0.9.3 $lng['emails']['noemaildomainaddedyet'] = 'Sie haben bisher noch keine (E-Mail-)Domain in Ihrem Konto.'; +$lng['error']['hiddenfieldvaluechanged'] = 'Der Wert des verborgenen Feldes "%s" hat sich während dem Ändern der Einstellungen geändert.

Dies ist im Grunde kein schwerwiegendes Problem, allerdings konnten so die Einstellungen nicht gespeichert werden.'; ?>