public function action() { if (isset($_POST["action"]["save"])) { // transform the users array... if (is_array($_POST["settings"]["server"]["users"])) { $transformedArray = array(); for ($i = 0; $i < count($_POST["settings"]["server"]["users"]["firstname"]); $i++) { $userArray = array("firstname" => $_POST["settings"]["server"]["users"]["firstname"][$i], "lastname" => $_POST["settings"]["server"]["users"]["lastname"][$i], "email" => $_POST["settings"]["server"]["users"]["email"][$i], "created-by" => $_POST["settings"]["server"]["users"]["created-by"][$i]); // generate the authentication key $passedAuthKey = $_POST["settings"]["server"]["users"]["auth-key"][$i]; $userArray["auth-key"] = $passedAuthKey == "" ? DIM_Server::generateAuthenticationKey($userArray) : $passedAuthKey; $transformedArray[] = $userArray; } $_POST["settings"]["server"]["users"] = $transformedArray; } //ensure the mode is set in the settings if (!isset($_POST['settings']['mode']['mode'])) { $ss = $this->config->getConfiguration(); $_POST['settings']['mode']['mode'] = $ss['mode']['mode']; } if (extension_database_integration_manager::testSettings($_POST["settings"])) { $logger = new DIM_Logger(); $logger->addLogItem("Configuration Updated", "system"); $this->config->saveConfiguration($_POST["settings"]); $this->pageAlert(__('Configuration Settings updated successfully.'), Alert::SUCCESS); } else { $this->pageAlert(__('One or more settings were incorrect.'), Alert::ERROR); $_POST['error'] = 'error'; } } }