Merge branch 'master' of github.com:znc/znc

This commit is contained in:
Alexey Sokolov
2012-03-21 20:14:59 +07:00
2 changed files with 44 additions and 4 deletions

View File

@@ -384,14 +384,19 @@ public:
return NetworkPage(WebSock, Tmpl, pNetwork->GetUser(), pNetwork);
} else if (sPageName == "delnetwork") {
CUser* pUser = CZNC::Get().FindUser(WebSock.GetParam("user", false));
CString sUser = WebSock.GetParam("user");
if (sUser.empty() && !WebSock.IsPost()) {
sUser = WebSock.GetParam("user", false);
}
CUser* pUser = CZNC::Get().FindUser(sUser);
// Admin||Self Check
if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pUser)) {
return false;
}
return DelNetwork(WebSock, pUser);
return DelNetwork(WebSock, pUser, Tmpl);
} else if (sPageName == "editchan") {
CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock);
@@ -818,8 +823,11 @@ public:
return true;
}
bool DelNetwork(CWebSock& WebSock, CUser* pUser) {
CString sNetwork = WebSock.GetParam("name", false);
bool DelNetwork(CWebSock& WebSock, CUser* pUser, CTemplate& Tmpl) {
CString sNetwork = WebSock.GetParam("name");
if (sNetwork.empty() && !WebSock.IsPost()) {
sNetwork = WebSock.GetParam("name", false);
}
if (!pUser) {
WebSock.PrintErrorPage("That user doesn't exist");
@@ -831,6 +839,15 @@ public:
return true;
}
if (!WebSock.IsPost()) {
// Show the "Are you sure?" page:
Tmpl.SetFile("del_network.tmpl");
Tmpl["Username"] = pUser->GetUserName();
Tmpl["Network"] = sNetwork;
return true;
}
pUser->DeleteNetwork(sNetwork);
if (!CZNC::Get().WriteConfig()) {