rpc_displayname]) && !($opts->rpc_displayname == $opts->edit_existing)) { die("Server with that name already exists"); // TODO: pretier :D } $new_properties = [ "rpc_user" => $opts->rpc_user, "rpc_password" => $opts->rpc_password, "host"=>$opts->rpc_host, "port"=>$opts->rpc_port, "tls_verify_cert"=>isset($opts->rpc_tls_verify_cert)?true:false, "default"=>isset($opts->rpc_default)?true:false, ]; if (!empty($opts->edit_existing)) { // Change existing server if (!isset($config["unrealircd"][$opts->edit_existing])) die("Editing a server that does not exist!?"); // not very graceful, isn't it? if ($new_properties["rpc_password"] == "****************") $new_properties["rpc_password"] = $config["unrealircd"][$opts->edit_existing]["rpc_password"]; // name change? unset the old one if ($opts->edit_existing != $opts->rpc_displayname) unset($config["unrealircd"][$opts->edit_existing]); // set new properties $config["unrealircd"][$opts->rpc_displayname] = $new_properties; } else { // Add new server $config["unrealircd"][$opts->rpc_displayname] = $new_properties; // TODO: encrypt pwd ;) } if ($new_properties["default"]) set_default_rpc_server($opts->rpc_displayname); else set_at_least_one_default_rpc_server(); /* And write the new config */ write_config(); Message::Success("RPC Server successfully ". (empty($opts->edit_existing) ? "added" : "modified")."."); } ?>