]> git.stg.codes - stg.git/blobdiff - projects/stargazer/user_impl.cpp
Rename parameter's names
[stg.git] / projects / stargazer / user_impl.cpp
index 55b5ffe7a194eaeeda8ac8c8446039d6ec20c834..fff3f58de26103710a4394f2398e1dbfbafb90c0 100644 (file)
@@ -589,21 +589,22 @@ 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());
+            scriptOnConnectParams += " \"" + GetParamValue(it->c_str()) + "\"";
+            ++it;
             }
 
-//        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());
         }
     else
@@ -661,6 +662,13 @@ if (!fakeDisconnect)
                 id,
                 dirsStr);
 
+        std::vector<std::string>::const_iterator it(settings->GetScriptParams().begin());
+        while (it != settings->GetScriptParams().end())
+            {
+            scriptOnDisonnectParams += " \"" + GetParamValue(it->c_str()) + "\"";
+            ++it;
+            }
+
         ScriptExec(scriptOnDisonnectParams.c_str());
         }
     else
@@ -815,7 +823,7 @@ if (settings->GetShowFeeInCash() || tariff == NULL)
 return (cash - tariff->GetFee() >= -credit);
 }
 //-----------------------------------------------------------------------------
-std::string USER_IMPL::GetEnabledDirs()
+std::string USER_IMPL::GetEnabledDirs() const
 {
 //STG_LOCKER lock(&mutex, __FILE__, __LINE__);
 
@@ -1465,116 +1473,24 @@ while (it != messages.end())
 }
 //-----------------------------------------------------------------------------
 std::string USER_IMPL::GetParamValue(const std::string & name) const
-    {
-    if (name == "cash")
-        {
-        return static_cast<std::string>(property.cash);
-        }
-    if (name == "freeMb")
-        {
-        return static_cast<std::string>(property.freeMb);
-        }
-    if (name == "passive")
-        {
-        return static_cast<std::string>(property.passive);
-        }
-    if (name == "disabled")
-        {
-        return static_cast<std::string>(property.disabled);
-        }
-    if (name == "alwaysOnline")
-        {
-        return static_cast<std::string>(property.alwaysOnline);
-        }
-    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 static_cast<std::string>(property.credit);
-        }
-    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")
         {
-        return static_cast<std::string>(id);
-        }
-    if (name == "login")
-        {
-        return login;
+        std::ostringstream stream;
+        stream << id;
+        return stream.str();
         }
-    if (name == "ip")
+    if (name == "login")       return login;
+    if (name == "currIP")      return currIP.ToString();
+    if (name == "enabledDirs") return GetEnabledDirs();
+    if (property.Exists(name)) 
+        return property.GetPropertyValue(name);
+    else
         {
-        return static_cast<std::string>(currIP);
+        WriteServLog("User’s parameter '%s' does not exist.", name.c_str());
+        return "";
         }
-    }
+}
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------