mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Fix #624: Can´t rename network via webinterface
This commit is contained in:
@@ -867,27 +867,31 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
CString sName = WebSock.GetParam("network").Trim_n();
|
||||
CString sName = WebSock.GetParam("name").Trim_n();
|
||||
if (sName.empty()) {
|
||||
WebSock.PrintErrorPage("Network name is a required argument");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!pNetwork) {
|
||||
if (!spSession->IsAdmin() && !pUser->HasSpaceForNewNetwork()) {
|
||||
WebSock.PrintErrorPage("Network number limit reached. Ask an admin to increase the limit for you, or delete few old ones from Your Settings");
|
||||
return true;
|
||||
}
|
||||
if (!CIRCNetwork::IsValidNetwork(sName)) {
|
||||
WebSock.PrintErrorPage("Network name should be alphanumeric");
|
||||
return true;
|
||||
}
|
||||
if (!pNetwork && !spSession->IsAdmin() && !pUser->HasSpaceForNewNetwork()) {
|
||||
WebSock.PrintErrorPage("Network number limit reached. Ask an admin to increase the limit for you, or delete few old ones from Your Settings");
|
||||
return true;
|
||||
}
|
||||
if (!pNetwork || pNetwork->GetName() != sName) {
|
||||
CString sNetworkAddError;
|
||||
CIRCNetwork* pOldNetwork = pNetwork;
|
||||
pNetwork = pUser->AddNetwork(sName, sNetworkAddError);
|
||||
if (!pNetwork) {
|
||||
WebSock.PrintErrorPage(sNetworkAddError);
|
||||
return true;
|
||||
}
|
||||
if (pOldNetwork) {
|
||||
for (CModule* pModule : pOldNetwork->GetModules()) {
|
||||
CString sPath = pUser->GetUserPath() + "/networks/" + sName + "/moddata/" + pModule->GetModName();
|
||||
pModule->MoveRegistry(sPath);
|
||||
}
|
||||
pNetwork->Clone(*pOldNetwork, false);
|
||||
pUser->DeleteNetwork(pOldNetwork->GetName());
|
||||
}
|
||||
}
|
||||
|
||||
CString sArg;
|
||||
|
||||
Reference in New Issue
Block a user