]> git.stg.codes - stg.git/blobdiff - projects/stargazer/user_property.h
Виправлено помилку що призводила до масових дисконнектів після масових
[stg.git] / projects / stargazer / user_property.h
index 5a8856d08f9490376c310a348e693662e4672de4..3ea1be45509eeff7f96e74394ab57dc8112d2d93 100644 (file)
@@ -131,6 +131,14 @@ private:
 
 public:
     USER_PROPERTIES(const SETTINGS * settings);
+
+    const USER_STAT & GetStat() const { return stat; }
+    const USER_CONF & GetConf() const { return conf; }
+    void SetStat(const USER_STAT & s) { stat = s; }
+    void SetConf(const USER_CONF & c) { conf = c; }
+
+    void SetProperties(const USER_PROPERTIES & p) { stat = p.stat; conf = p.conf; }
+
     USER_PROPERTY_LOGGED<double>            cash;
     USER_PROPERTY_LOGGED<DIR_TRAFF>         up;
     USER_PROPERTY_LOGGED<DIR_TRAFF>         down;
@@ -205,8 +213,6 @@ if (value == newValue)
 
 typename set<PROPERTY_NOTIFIER_BASE<varT> *>::iterator ni;
 
-//printf("USER_PROPERTY<varT>::operator= (const varT& rhs)\n");
-
 varT oldVal = value;
 
 ni = beforeNotifiers.begin();
@@ -427,13 +433,7 @@ stgLogger("%s User \'%s\': \'%s\' parameter changed from \'%s\' to \'%s\'. %s",
           newValue.c_str(),
           msg.c_str());
 
-
-/*char userLogMsg[2048];
-sprintf(userLogMsg, "\'%s\' parameter changed from \'%s\' to \'%s\'. %s",
-         parameter.c_str(), oldValue.c_str(),
-         newValue.c_str(),  msg.c_str());*/
 store->WriteUserChgLog(login, admin.GetLogin(), admin.GetAdminIP(), parameter, oldValue, newValue, msg);
-//store->WriteLogString(userLogMsg, login);
 }
 //-------------------------------------------------------------------------
 template <typename varT>
@@ -441,7 +441,7 @@ void USER_PROPERTY_LOGGED<varT>::OnChange(const string & login,
                                           const string & paramName,
                                           const string & oldValue,
                                           const string & newValue,
-                                          const ADMIN  &)
+                                          const ADMIN  & admin)
 {
 string str1;
 
@@ -449,7 +449,7 @@ str1 = settings->GetConfDir() + "/OnChange";
 
 if (access(str1.c_str(), X_OK) == 0)
     {
-    string str2("\"" + str1 + "\" \"" + login + "\" \"" + paramName + "\" \"" + oldValue + "\" \"" + newValue + "\"");
+    string str2("\"" + str1 + "\" \"" + login + "\" \"" + paramName + "\" \"" + oldValue + "\" \"" + newValue + "\" \"" + admin.GetLogin() + "\" \"" + admin.GetAdminIPStr() + "\"");
     ScriptExec(str2);
     }
 else