X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/c27745d81c50d0fadd541eff81eeca7883321c50..d8dedc3fe2ad14db7d4772ebf665ef1d42e63eb1:/projects/stargazer/user_impl.cpp diff --git a/projects/stargazer/user_impl.cpp b/projects/stargazer/user_impl.cpp index 95989c45..f3e23420 100644 --- a/projects/stargazer/user_impl.cpp +++ b/projects/stargazer/user_impl.cpp @@ -588,6 +588,7 @@ if (!fakeConnect) } std::string scriptOnConnectParams; + strprintf(&scriptOnConnectParams, "%s \"%s\" \"%s\" \"%f\" \"%d\" \"%s\"", scriptOnConnect.c_str(), @@ -597,6 +598,14 @@ if (!fakeConnect) id, dirsStr); + std::vector::const_iterator it(settings->GetScriptParams().begin()); + while (it != settings->GetScriptParams().end()) + { + scriptOnConnectParams += " \""; + scriptOnConnectParams += GetParamValue(it->c_str()); + scriptOnConnectParams += "\""; + } + ScriptExec(scriptOnConnectParams.c_str()); } else @@ -654,6 +663,14 @@ if (!fakeDisconnect) id, dirsStr); + std::vector::const_iterator it(settings->GetScriptParams().begin()); + while (it != settings->GetScriptParams().end()) + { + scriptOnDisonnectParams += " \""; + scriptOnDisonnectParams += GetParamValue(it->c_str()); + scriptOnDisonnectParams += "\""; + } + ScriptExec(scriptOnDisonnectParams.c_str()); } else @@ -1457,120 +1474,41 @@ while (it != messages.end()) } } //----------------------------------------------------------------------------- -const std::string & USER_IMPL::GetParamValue(const std::string & name) const - { - std::string value; - - if (name=="cash") - { - value=property.cash; - } - if (name=="freeMb") - { - value=property.freeMb; - } - if (name=="passive") - { - value=property.passive; - } - if (name=="disabled") - { - value=property.disabled; - } - if (name=="alwaysOnline") - { - value=property.alwaysOnline; - } - if (name=="tariffName") - { - value=property.tariffName; - } - if (name=="nextTariff") - { - value=property.nextTariff; - } - if (name=="address") - { - value=property.address; - } - if (name=="note") - { - value=property.note; - } - if (name=="group") - { - value=property.group; - } - if (name=="email") - { - value=property.email; - } - if (name=="phone") - { - value=property.phone; - } - if (name=="realName") - { - value=property.realName; - } - if (name=="credit") - { - value=property.credit; - } - if (name=="userdata0") - { - value=property.userdata0; - } - if (name=="userdata1") - { - value=property.userdata1; - } - if (name=="userdata2") - { - value=property.userdata2; - } - if (name=="userdata3") - { - value=property.userdata3; - } - if (name=="userdata4") - { - value=property.userdata4; - } - if (name=="userdata5") - { - value=property.userdata5; - } - if (name=="userdata6") - { - value=property.userdata6; - } - if (name=="userdata7") - { - value=property.userdata7; - } - if (name=="userdata8") - { - value=property.userdata8; - } - if (name=="userdata9") - { - value=property.userdata9; - } - if (name=="id") - { - value=id; - } - if (name=="login") - { - value=login; - } - if (name=="ip") - { - value=currIP; - } - return value; - } +std::string USER_IMPL::GetParamValue(const std::string & name) const +{ +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 == "cash") return property.cash.ToString(); +//if (name == "id") +// { +// std::stringstream stream; +// stream << id; +// return stream.str();; +// } +//if (name == "login") return login; +//if (name == "ip") return currIP.ToString(); +} //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- //-----------------------------------------------------------------------------