Commit 84aafab6 authored by louiz’'s avatar louiz’

Provide the “realname_customization” option

ref #3136
parent 6512f830
......@@ -77,6 +77,12 @@ The configuration file uses a simple format of the form
users join their own IRC server using an XMPP client, while forbidding
access to any other IRC server.
`realname_customization`
If this option is set to “false” (default is “true”), the users will not be
able to use the ad-hoc commands that lets them configure their realname and
username.
`log_file`
A filename into which logs are written. If none is provided, the logs are
......
......@@ -6,6 +6,7 @@
#include <irc/irc_user.hpp>
#include <logger/logger.hpp>
#include <config/config.hpp>
#include <utils/tolower.hpp>
#include <utils/split.hpp>
......@@ -120,11 +121,14 @@ void IrcClient::on_connected()
this->send_nick_command(this->username);
#ifdef USE_DATABASE
if (!options.username.value().empty())
this->username = options.username.value();
if (!options.realname.value().empty())
this->realname = options.realname.value();
this->send_user_command(username, realname);
if (Config::get("realname_customization", "true") == "true")
{
if (!options.username.value().empty())
this->username = options.username.value();
if (!options.realname.value().empty())
this->realname = options.realname.value();
this->send_user_command(username, realname);
}
#endif
this->send_user_command(this->username, this->realname);
......
#include <xmpp/biboumi_adhoc_commands.hpp>
#include <xmpp/biboumi_component.hpp>
#include <bridge/bridge.hpp>
#include <config/config.hpp>
#include <utils/string.hpp>
#include <utils/split.hpp>
#include <xmpp/jid.hpp>
......@@ -191,31 +192,34 @@ void ConfigureIrcServerStep1(XmppComponent*, AdhocSession& session, XmlNode& com
after_cnt_cmd.add_child(required);
x.add_child(std::move(after_cnt_cmd));
XmlNode username("field");
username["var"] = "username";
username["type"] = "text-single";
username["label"] = "Username";
if (!options.username.value().empty())
if (Config::get("realname_customization", "true") == "true")
{
XmlNode username_value("value");
username_value.set_inner(options.username.value());
username.add_child(std::move(username_value));
}
username.add_child(required);
x.add_child(std::move(username));
XmlNode username("field");
username["var"] = "username";
username["type"] = "text-single";
username["label"] = "Username";
if (!options.username.value().empty())
{
XmlNode username_value("value");
username_value.set_inner(options.username.value());
username.add_child(std::move(username_value));
}
username.add_child(required);
x.add_child(std::move(username));
XmlNode realname("field");
realname["var"] = "realname";
realname["type"] = "text-single";
realname["label"] = "Realname";
if (!options.realname.value().empty())
{
XmlNode realname_value("value");
realname_value.set_inner(options.realname.value());
realname.add_child(std::move(realname_value));
XmlNode realname("field");
realname["var"] = "realname";
realname["type"] = "text-single";
realname["label"] = "Realname";
if (!options.realname.value().empty())
{
XmlNode realname_value("value");
realname_value.set_inner(options.realname.value());
realname.add_child(std::move(realname_value));
}
realname.add_child(required);
x.add_child(std::move(realname));
}
realname.add_child(required);
x.add_child(std::move(realname));
command_node.add_child(std::move(x));
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment