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 ...@@ -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 users join their own IRC server using an XMPP client, while forbidding
access to any other IRC server. 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` `log_file`
A filename into which logs are written. If none is provided, the logs are A filename into which logs are written. If none is provided, the logs are
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <irc/irc_user.hpp> #include <irc/irc_user.hpp>
#include <logger/logger.hpp> #include <logger/logger.hpp>
#include <config/config.hpp>
#include <utils/tolower.hpp> #include <utils/tolower.hpp>
#include <utils/split.hpp> #include <utils/split.hpp>
...@@ -120,11 +121,14 @@ void IrcClient::on_connected() ...@@ -120,11 +121,14 @@ void IrcClient::on_connected()
this->send_nick_command(this->username); this->send_nick_command(this->username);
#ifdef USE_DATABASE #ifdef USE_DATABASE
if (!options.username.value().empty()) if (Config::get("realname_customization", "true") == "true")
this->username = options.username.value(); {
if (!options.realname.value().empty()) if (!options.username.value().empty())
this->realname = options.realname.value(); this->username = options.username.value();
this->send_user_command(username, realname); if (!options.realname.value().empty())
this->realname = options.realname.value();
this->send_user_command(username, realname);
}
#endif #endif
this->send_user_command(this->username, this->realname); this->send_user_command(this->username, this->realname);
......
#include <xmpp/biboumi_adhoc_commands.hpp> #include <xmpp/biboumi_adhoc_commands.hpp>
#include <xmpp/biboumi_component.hpp> #include <xmpp/biboumi_component.hpp>
#include <bridge/bridge.hpp> #include <bridge/bridge.hpp>
#include <config/config.hpp>
#include <utils/string.hpp> #include <utils/string.hpp>
#include <utils/split.hpp> #include <utils/split.hpp>
#include <xmpp/jid.hpp> #include <xmpp/jid.hpp>
...@@ -191,31 +192,34 @@ void ConfigureIrcServerStep1(XmppComponent*, AdhocSession& session, XmlNode& com ...@@ -191,31 +192,34 @@ void ConfigureIrcServerStep1(XmppComponent*, AdhocSession& session, XmlNode& com
after_cnt_cmd.add_child(required); after_cnt_cmd.add_child(required);
x.add_child(std::move(after_cnt_cmd)); x.add_child(std::move(after_cnt_cmd));
XmlNode username("field"); if (Config::get("realname_customization", "true") == "true")
username["var"] = "username";
username["type"] = "text-single";
username["label"] = "Username";
if (!options.username.value().empty())
{ {
XmlNode username_value("value"); XmlNode username("field");
username_value.set_inner(options.username.value()); username["var"] = "username";
username.add_child(std::move(username_value)); username["type"] = "text-single";
} username["label"] = "Username";
username.add_child(required); if (!options.username.value().empty())
x.add_child(std::move(username)); {
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"); XmlNode realname("field");
realname["var"] = "realname"; realname["var"] = "realname";
realname["type"] = "text-single"; realname["type"] = "text-single";
realname["label"] = "Realname"; realname["label"] = "Realname";
if (!options.realname.value().empty()) if (!options.realname.value().empty())
{ {
XmlNode realname_value("value"); XmlNode realname_value("value");
realname_value.set_inner(options.realname.value()); realname_value.set_inner(options.realname.value());
realname.add_child(std::move(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)); 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