diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp index 45f960a4..c481caf6 100644 --- a/modules/webadmin.cpp +++ b/modules/webadmin.cpp @@ -304,7 +304,6 @@ bool CWebAdminSock::OnPageRequest(const CString& sURI, CString& sPageRet) { CChan* pChan = m_pUser->FindChan(GetParam("chan")); if (!pChan) { GetErrorPage(sPageRet, "No such channel"); - cerr << "==== [" << GetParam("chan") << "] == [" << (int) pChan << "]" << endl; return true; } @@ -553,7 +552,7 @@ bool CWebAdminSock::ChanPage(CString& sPageRet, CChan* pChan) { return true; } - CString sChanName = GetParam("name"); + CString sChanName = GetParam("name").Trim_n(); if (!pChan) { if (sChanName.empty()) { @@ -561,6 +560,11 @@ bool CWebAdminSock::ChanPage(CString& sPageRet, CChan* pChan) { return true; } + if (m_pUser->FindChan(sChanName.Token(0))) { + GetErrorPage(sPageRet, "Channel [" + sChanName.Token(0) + "] already exists"); + return true; + } + pChan = new CChan(sChanName, m_pUser, true); m_pUser->AddChan(pChan); }