summaryrefslogtreecommitdiff
path: root/louloulibs
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2016-04-19 02:43:26 +0200
committerlouiz’ <louiz@louiz.org>2016-04-22 10:49:07 +0200
commit04d28f968b227067e77e365d317fc251d3c965f7 (patch)
treef457b9167c1d91312a8ce341abe0559be2877be7 /louloulibs
parent64f341ee80b0d53f0a6e128a1ccc38205361c3bb (diff)
downloadbiboumi-04d28f968b227067e77e365d317fc251d3c965f7.tar.gz
biboumi-04d28f968b227067e77e365d317fc251d3c965f7.tar.bz2
biboumi-04d28f968b227067e77e365d317fc251d3c965f7.tar.xz
biboumi-04d28f968b227067e77e365d317fc251d3c965f7.zip
Forward the topic authors, handle the author from 333 messages
fix #2
Diffstat (limited to 'louloulibs')
-rw-r--r--louloulibs/xmpp/xmpp_component.cpp7
-rw-r--r--louloulibs/xmpp/xmpp_component.hpp2
2 files changed, 6 insertions, 3 deletions
diff --git a/louloulibs/xmpp/xmpp_component.cpp b/louloulibs/xmpp/xmpp_component.cpp
index c5906e5..8a0ca52 100644
--- a/louloulibs/xmpp/xmpp_component.cpp
+++ b/louloulibs/xmpp/xmpp_component.cpp
@@ -388,11 +388,14 @@ void XmppComponent::send_invalid_user_error(const std::string& user_name, const
this->send_stanza(message);
}
-void XmppComponent::send_topic(const std::string& from, Xmpp::body&& topic, const std::string& to)
+void XmppComponent::send_topic(const std::string& from, Xmpp::body&& topic, const std::string& to, const std::string& who)
{
XmlNode message("message");
message["to"] = to;
- message["from"] = from + "@" + this->served_hostname;
+ if (who.empty())
+ message["from"] = from + "@" + this->served_hostname;
+ else
+ message["from"] = from + "@" + this->served_hostname + "/" + who;
message["type"] = "groupchat";
XmlNode subject("subject");
subject.set_inner(std::get<0>(topic));
diff --git a/louloulibs/xmpp/xmpp_component.hpp b/louloulibs/xmpp/xmpp_component.hpp
index 06236fe..07322dd 100644
--- a/louloulibs/xmpp/xmpp_component.hpp
+++ b/louloulibs/xmpp/xmpp_component.hpp
@@ -124,7 +124,7 @@ public:
/**
* Send the MUC topic to the user
*/
- void send_topic(const std::string& from, Xmpp::body&& xmpp_topic, const std::string& to);
+ void send_topic(const std::string& from, Xmpp::body&& xmpp_topic, const std::string& to, const std::string& who);
/**
* Send a (non-private) message to the MUC
*/