Author: soliton
Date: Fri Apr 3 03:16:50 2009
New Revision: 34419
URL: http://svn.gna.org/viewcvs/wesnoth?rev=34419&view=rev
Log:
do not send the adminmsg back if an admin sent it
Modified:
branches/1.6/src/server/server.cpp
Modified: branches/1.6/src/server/server.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/branches/1.6/src/server/server.cpp?rev=34419&r1=34418&r2=34419&view=diff
==============================================================================
--- branches/1.6/src/server/server.cpp (original)
+++ branches/1.6/src/server/server.cpp Fri Apr 3 03:16:50 2009
@@ -373,7 +373,8 @@
simple_wml::node& query);
/** Process commands from admins and users. */
- std::string process_command(const std::string& cmd, const std::string&
issuer_name);
+ std::string process_command(const std::string& cmd,
+ const std::string& issuer_name, const
network::connection sock=0);
/** Handle private messages between players. */
void process_whisper(const network::connection sock,
@@ -1235,7 +1236,7 @@
|| command == "status " + pl->second.name()
|| command == "wml")
{
- response << process_command(command.to_string(),
pl->second.name());
+ response << process_command(command.to_string(),
pl->second.name(), pl->first);
} else if (admins_.find(sock) != admins_.end()) {
if (command == "signout") {
LOG_SERVER << "Admin signed out: IP: "
@@ -1290,7 +1291,8 @@
}
}
-std::string server::process_command(const std::string& query, const
std::string& issuer_name) {
+std::string server::process_command(const std::string& query,
+ const std::string& issuer_name, const network::connection sock)
{
std::ostringstream out;
const std::string::const_iterator i =
std::find(query.begin(),query.end(),' ');
const std::string command(query.begin(),i);
@@ -1373,9 +1375,10 @@
simple_wml::document data;
simple_wml::node& msg = data.root().add_child("whisper");
- msg.set_attr_dup("sender", ("Admin message - " +
issuer_name).c_str());
+ msg.set_attr_dup("sender", ("admin message from " +
issuer_name).c_str());
msg.set_attr_dup("message", parameters.c_str());
for (std::set<network::connection>::const_iterator i =
admins_.begin(); i != admins_.end(); ++i) {
+ if (*i == sock) continue;
send_doc(data, *i);
}
out << "Message delivered to " << admins_.size() << " admins.";
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits