X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/1347f3d1e04bedd1508589173f577673ee2c5554..7f4a67cabd5fbf8cfe9c2e658bd4a255a6764b0e:/projects/stargazer/user_impl.cpp?ds=sidebyside diff --git a/projects/stargazer/user_impl.cpp b/projects/stargazer/user_impl.cpp index ac8399ca..1af2b4de 100644 --- a/projects/stargazer/user_impl.cpp +++ b/projects/stargazer/user_impl.cpp @@ -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::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)