mirror of
https://github.com/anope/anope.git
synced 2026-06-25 08:16:38 +02:00
Add the ability to confirm accounts via webcpanel after logging in.
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* (C) 2003-2022 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
*/
|
||||
|
||||
#include "../../webcpanel.h"
|
||||
|
||||
WebCPanel::NickServ::Confirm::Confirm(const Anope::string &cat, const Anope::string &u) : WebPanelProtectedPage(cat, u)
|
||||
{
|
||||
}
|
||||
|
||||
bool WebCPanel::NickServ::Confirm::OnRequest(HTTPProvider *server, const Anope::string &page_name, HTTPClient *client, HTTPMessage &message, HTTPReply &reply, NickAlias *na, TemplateFileServer::Replacements &replacements)
|
||||
{
|
||||
|
||||
std::vector<Anope::string> params;
|
||||
params.push_back(message.post_data["code"]);
|
||||
|
||||
WebPanel::RunCommand(client, na->nc->display, na->nc, "NickServ", "nickserv/confirm", params, replacements);
|
||||
|
||||
TemplateFileServer page("nickserv/confirm.html");
|
||||
|
||||
page.Serve(server, page_name, client, message, reply, replacements);
|
||||
return true;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* (C) 2003-2022 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
*/
|
||||
|
||||
namespace WebCPanel
|
||||
{
|
||||
|
||||
namespace NickServ
|
||||
{
|
||||
|
||||
class Confirm : public WebPanelProtectedPage
|
||||
{
|
||||
public:
|
||||
Confirm(const Anope::string &cat, const Anope::string &u);
|
||||
|
||||
bool OnRequest(HTTPProvider *, const Anope::string &, HTTPClient *, HTTPMessage &, HTTPReply &, NickAlias *, TemplateFileServer::Replacements &) anope_override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{INCLUDE header.html}
|
||||
<div class="panel-heading">Confirm your Email</div>
|
||||
<div class="panel-body">
|
||||
{FOR M IN MESSAGES}
|
||||
<div class="alert alert-info">
|
||||
{M}<br>
|
||||
</div>
|
||||
{END FOR}
|
||||
|
||||
<em>You can <strong>CONFIRM</strong> your registration by entering your confirmation code below.</em>
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>Confirm your account</h4>
|
||||
<form class="form-horizontal" method="post" action="/nickserv/confirm">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-lg-2" for="confirm">Confirmation Code:</label>
|
||||
<div class="col-lg-5">
|
||||
<input class="form-control" type="text" name="code" id="code" placeholder="Code from Email">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-2 col-lg-5">
|
||||
<button type="submit" class="btn btn-primary">Confirm Me!</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{INCLUDE footer.html}
|
||||
@@ -28,6 +28,7 @@ class ModuleWebCPanel : public Module
|
||||
WebCPanel::NickServ::Cert nickserv_cert;
|
||||
WebCPanel::NickServ::Access nickserv_access;
|
||||
WebCPanel::NickServ::Alist nickserv_alist;
|
||||
WebCPanel::NickServ::Confirm nickserv_confirm;
|
||||
|
||||
WebCPanel::ChanServ::Info chanserv_info;
|
||||
WebCPanel::ChanServ::Set chanserv_set;
|
||||
@@ -49,7 +50,7 @@ class ModuleWebCPanel : public Module
|
||||
id(this, "webcpanel_id"), ip(this, "webcpanel_ip"), last_login(this, "webcpanel_last_login"),
|
||||
style_css("style.css", "/static/style.css", "text/css"), logo_png("logo.png", "/static/logo.png", "image/png"), cubes_png("cubes.png", "/static/cubes.png", "image/png"), favicon_ico("favicon.ico", "/favicon.ico", "image/x-icon"),
|
||||
index("/"), logout("/logout"), _register("/register"), confirm("/confirm"),
|
||||
nickserv_info("NickServ", "/nickserv/info"), nickserv_cert("NickServ", "/nickserv/cert"), nickserv_access("NickServ", "/nickserv/access"), nickserv_alist("NickServ", "/nickserv/alist"),
|
||||
nickserv_info("NickServ", "/nickserv/info"), nickserv_cert("NickServ", "/nickserv/cert"), nickserv_access("NickServ", "/nickserv/access"), nickserv_alist("NickServ", "/nickserv/alist"), nickserv_confirm("NickServ", "/nickserv/confirm"),
|
||||
chanserv_info("ChanServ", "/chanserv/info"), chanserv_set("ChanServ", "/chanserv/set"), chanserv_access("ChanServ", "/chanserv/access"), chanserv_akick("ChanServ", "/chanserv/akick"),
|
||||
chanserv_modes("ChanServ", "/chanserv/modes"), chanserv_drop("ChanServ", "/chanserv/drop"), memoserv_memos("MemoServ", "/memoserv/memos"), hostserv_request("HostServ", "/hostserv/request"),
|
||||
operserv_akill("OperServ", "/operserv/akill")
|
||||
@@ -107,6 +108,11 @@ class ModuleWebCPanel : public Module
|
||||
s.subsections.push_back(ss);
|
||||
provider->RegisterPage(&this->nickserv_alist);
|
||||
|
||||
ss.name = "Confirm";
|
||||
ss.url = "/nickserv/confirm";
|
||||
s.subsections.push_back(ss);
|
||||
provider->RegisterPage(&this->nickserv_confirm);
|
||||
|
||||
panel.sections.push_back(s);
|
||||
}
|
||||
|
||||
@@ -214,6 +220,7 @@ class ModuleWebCPanel : public Module
|
||||
provider->UnregisterPage(&this->nickserv_cert);
|
||||
provider->UnregisterPage(&this->nickserv_access);
|
||||
provider->UnregisterPage(&this->nickserv_alist);
|
||||
provider->UnregisterPage(&this->nickserv_confirm);
|
||||
|
||||
provider->UnregisterPage(&this->chanserv_info);
|
||||
provider->UnregisterPage(&this->chanserv_set);
|
||||
|
||||
@@ -166,6 +166,7 @@ namespace WebPanel
|
||||
#include "pages/nickserv/cert.h"
|
||||
#include "pages/nickserv/access.h"
|
||||
#include "pages/nickserv/alist.h"
|
||||
#include "pages/nickserv/confirm.h"
|
||||
|
||||
#include "pages/chanserv/info.h"
|
||||
#include "pages/chanserv/set.h"
|
||||
|
||||
Reference in New Issue
Block a user