diff --git a/lam/templates/config/confmain.php b/lam/templates/config/confmain.php index f1f1df6d..a52475d5 100644 --- a/lam/templates/config/confmain.php +++ b/lam/templates/config/confmain.php @@ -131,6 +131,7 @@ if (isset($_GET["typesback"])) { // type information if (!isset($_SESSION['conf_accountTypes'])) $_SESSION['conf_accountTypes'] = $conf->get_ActiveTypes(); +if (!isset($_SESSION['conf_accountTypesOld'])) $_SESSION['conf_accountTypesOld'] = $conf->get_ActiveTypes(); if (!isset($_SESSION['conf_typeSettings'])) $_SESSION['conf_typeSettings'] = $conf->get_typeSettings(); // index for tab order diff --git a/lam/templates/config/conftypes.php b/lam/templates/config/conftypes.php index 7b413630..12989ccc 100644 --- a/lam/templates/config/conftypes.php +++ b/lam/templates/config/conftypes.php @@ -89,14 +89,29 @@ if ($_POST['submit']) { } } } + //selection ok, back to other settings if ($allOK) { - //selection ok, back to other settings - metarefresh('confmain.php?typesback=true&typeschanged=true'); + // check if there is a new type + $addedType = false; + for ($i = 0; $i < sizeof($_SESSION['conf_accountTypes']); $i++) { + if (!in_array($_SESSION['conf_accountTypes'][$i], $_SESSION['conf_accountTypesOld'])) { + $addedType = true; + break; + } + } + $_SESSION['conf_accountTypesOld'] = $_SESSION['conf_accountTypes']; + if ($addedType) { + metarefresh('confmain.php?typesback=true&typeschanged=true'); + } + else { + metarefresh('confmain.php?typesback=true'); + } exit; } } +// no changes elseif ($_POST['abort']) { - // no changes + $_SESSION['conf_accountTypes'] = $_SESSION['conf_accountTypesOld']; metarefresh('confmain.php?typesback=true'); exit; }