X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/d01f302f0da31eb088608c33a3e15c5fdee8ca84..67eb91cd2fafdf89ba670706e684ab0cd74ae513:/projects/stargazer/user_impl.cpp diff --git a/projects/stargazer/user_impl.cpp b/projects/stargazer/user_impl.cpp index 55b5ffe7..fff3f58d 100644 --- a/projects/stargazer/user_impl.cpp +++ b/projects/stargazer/user_impl.cpp @@ -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::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::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(property.cash); - } - if (name == "freeMb") - { - return static_cast(property.freeMb); - } - if (name == "passive") - { - return static_cast(property.passive); - } - if (name == "disabled") - { - return static_cast(property.disabled); - } - if (name == "alwaysOnline") - { - return static_cast(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(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(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(currIP); + WriteServLog("User’s parameter '%s' does not exist.", name.c_str()); + return ""; } - } +} //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- //-----------------------------------------------------------------------------