]> git.stg.codes - stg.git/blobdiff - projects/stargazer/user_impl.cpp
Correcting data conversion in GetParamValue
[stg.git] / projects / stargazer / user_impl.cpp
index ac8399cabe77cf7149267dcdc71562eab1ac7563..1af2b4deb04258742c7c4d52c6dadac7eff3e8d7 100644 (file)
@@ -588,14 +588,21 @@ if (!fakeConnect)
             }
 
         std::string scriptOnConnectParams;
-        strprintf(&scriptOnConnectParams,
-                "%s \"%s\" \"%s\" \"%f\" \"%d\" \"%s\"",
-                scriptOnConnect.c_str(),
-                login.c_str(),
-                inet_ntostring(currIP).c_str(),
-                cash.ConstData(),
-                id,
-                dirsStr);
+
+        std::vector<std::string>::const_iterator it(settings->GetScriptParams().begin());
+        while (it != settings->GetScriptParams().end())
+            {
+            scriptOnConnectParams  += GetParamValue(it->c_str());
+            }
+
+//        strprintf(&scriptOnConnectParams,
+//                "%s \"%s\" \"%s\" \"%f\" \"%d\" \"%s\"",
+//                scriptOnConnect.c_str(),
+//                login.c_str(),
+//                inet_ntostring(currIP).c_str(),
+//                cash.ConstData(),
+//                id,
+//                dirsStr);
 
         ScriptExec(scriptOnConnectParams.c_str());
         }
@@ -1457,6 +1464,120 @@ while (it != messages.end())
     }
 }
 //-----------------------------------------------------------------------------
+std::string USER_IMPL::GetParamValue(const std::string & name) const
+{
+if (name == "cash")
+    {
+    return property.cash.ToString();
+    }
+if (name == "freeMb")
+    {
+    return property.freeMb.ToString();
+    }
+if (name == "passive")
+    {
+    return property.passive.ToString();
+    }
+if (name == "disabled")
+    {
+    return property.disabled.ToString();
+    }
+if (name == "alwaysOnline")
+    {
+    return property.alwaysOnline.ToString();
+    }
+if (name == "tariffName")
+    {
+    return property.tariffName;
+    }
+if (name == "nextTariff")
+    {
+    return property.nextTariff;
+    }
+if (name == "address")
+    {
+    return property.address;
+    }
+if (name == "note")
+    {
+    return property.note;
+    }
+if (name == "group")
+    {
+    return property.group;
+    }
+if (name == "email")
+    {
+    return property.email;
+    }
+if (name == "phone")
+    {
+    return property.phone;
+    }
+if (name == "realName")
+    {
+    return property.realName;
+    }
+if (name == "credit")
+    {
+    return property.credit.ToString();
+    }
+if (name == "userdata0")
+    {
+    return property.userdata0;
+    }
+if (name == "userdata1")
+    {
+    return property.userdata1;
+    }
+if (name == "userdata2")
+    {
+    return property.userdata2;
+    }
+if (name == "userdata3")
+    {
+    return property.userdata3;
+    }
+if (name == "userdata4")
+    {
+    return property.userdata4;
+    }
+if (name == "userdata5")
+    {
+    return property.userdata5;
+    }
+if (name == "userdata6")
+    {
+    return property.userdata6;
+    }
+if (name == "userdata7")
+    {
+    return property.userdata7;
+    }
+if (name == "userdata8")
+    {
+    return property.userdata8;
+    }
+if (name == "userdata9")
+    {
+    return property.userdata9;
+    }
+if (name == "id")
+    {
+    std::stringstream stream;
+    stream << id;
+    return stream.str();;
+    }
+if (name == "login")
+    {
+    return login;
+    }
+if (name == "ip")
+    {
+    return currIP.ToString();
+    }
+}
+//-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 void CHG_PASSIVE_NOTIFIER::Notify(const int & oldPassive, const int & newPassive)