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

Reply via email to