@@ -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 @@
|
|||||||
#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()
|
|||||||
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);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#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
|
|||||||
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));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user