From: Naffanya Date: Tue, 31 Dec 2013 08:11:37 +0000 (+0200) Subject: Add verification exist parametr X-Git-Url: https://git.stg.codes/stg.git/commitdiff_plain/31b24cededa8b07468cb5e1c49b2a208fe19173e?ds=inline Add verification exist parametr --- diff --git a/include/stg/user_property.h b/include/stg/user_property.h index aee32e3e..7d68e734 100644 --- a/include/stg/user_property.h +++ b/include/stg/user_property.h @@ -138,6 +138,7 @@ public: void SetProperties(const USER_PROPERTIES & p) { stat = p.stat; conf = p.conf; } std::string GetPropertyValue(const std::string & name) const; + bool Exists(const std::string & name) const; USER_PROPERTY_LOGGED cash; USER_PROPERTY_LOGGED up; @@ -395,6 +396,13 @@ if (it == properties.end()) return ""; return it->second->ToString(); } +//----------------------------------------------------------------------------- +inline +bool USER_PROPERTIES::Exists(const std::string & name) const +{ +if (properties.find(name)!=properties.end()) return true; +return false; +} //------------------------------------------------------------------------- //------------------------------------------------------------------------- //------------------------------------------------------------------------- diff --git a/projects/stargazer/plugins/other/rscript/rscript.cpp b/projects/stargazer/plugins/other/rscript/rscript.cpp index fc733a67..640fc95b 100644 --- a/projects/stargazer/plugins/other/rscript/rscript.cpp +++ b/projects/stargazer/plugins/other/rscript/rscript.cpp @@ -516,86 +516,6 @@ for (size_t i = 0; i < netRouters.size(); ++i) return std::vector(); } //----------------------------------------------------------------------------- -//std::string REMOTE_SCRIPT::GetUserParam(USER_PTR u, const std::string & paramName) const -//{ -//std::string value = ""; -//if (strcasecmp(paramName.c_str(), "cash") == 0) -// strprintf(&value, "%f", u->GetProperty().cash.Get()); -//else -//if (strcasecmp(paramName.c_str(), "freeMb") == 0) -// strprintf(&value, "%f", u->GetProperty().freeMb.Get()); -//else -//if (strcasecmp(paramName.c_str(), "passive") == 0) -// strprintf(&value, "%d", u->GetProperty().passive.Get()); -//else -//if (strcasecmp(paramName.c_str(), "disabled") == 0) -// strprintf(&value, "%d", u->GetProperty().disabled.Get()); -//else -//if (strcasecmp(paramName.c_str(), "alwaysOnline") == 0) -// strprintf(&value, "%d", u->GetProperty().alwaysOnline.Get()); -//else -//if (strcasecmp(paramName.c_str(), "tariffName") == 0 || -// strcasecmp(paramName.c_str(), "tariff") == 0) -// value = "\"" + u->GetProperty().tariffName.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "nextTariff") == 0) -// value = "\"" + u->GetProperty().nextTariff.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "address") == 0) -// value = "\"" + u->GetProperty().address.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "note") == 0) -// value = "\"" + u->GetProperty().note.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "group") == 0) -// value = "\"" + u->GetProperty().group.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "email") == 0) -// value = "\"" + u->GetProperty().email.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "realName") == 0) -// value = "\"" + u->GetProperty().realName.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "credit") == 0) -// strprintf(&value, "%f", u->GetProperty().credit.Get()); -//else -//if (strcasecmp(paramName.c_str(), "userdata0") == 0) -// value = "\"" + u->GetProperty().userdata0.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "userdata1") == 0) -// value = "\"" + u->GetProperty().userdata1.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "userdata2") == 0) -// value = "\"" + u->GetProperty().userdata2.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "userdata3") == 0) -// value = "\"" + u->GetProperty().userdata3.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "userdata4") == 0) -// value = "\"" + u->GetProperty().userdata4.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "userdata5") == 0) -// value = "\"" + u->GetProperty().userdata5.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "userdata6") == 0) -// value = "\"" + u->GetProperty().userdata6.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "userdata7") == 0) -// value = "\"" + u->GetProperty().userdata7.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "userdata8") == 0) -// value = "\"" + u->GetProperty().userdata8.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "userdata9") == 0) -// value = "\"" + u->GetProperty().userdata9.Get() + "\""; -//else -//if (strcasecmp(paramName.c_str(), "enabledDirs") == 0) -// value = u->GetEnabledDirs(); -//else -// printfd(__FILE__, "Unknown value name: %s\n", paramName.c_str()); -//return value; -//} -//----------------------------------------------------------------------------- void REMOTE_SCRIPT::SetUserNotifiers(USER_PTR u) { ipNotifierList.push_front(RS::IP_NOTIFIER(*this, u)); diff --git a/projects/stargazer/user_impl.cpp b/projects/stargazer/user_impl.cpp index f3228738..51637a1b 100644 --- a/projects/stargazer/user_impl.cpp +++ b/projects/stargazer/user_impl.cpp @@ -1474,16 +1474,24 @@ while (it != messages.end()) //----------------------------------------------------------------------------- std::string USER_IMPL::GetParamValue(const std::string & name) const { -if (name == "id") +if (property.Exists(name)) { - std::ostringstream stream; - stream << id; - return stream.str(); + if (name == "id") + { + std::ostringstream stream; + stream << id; + return stream.str(); + } + if (name == "login") return login; + if (name == "ip") return currIP.ToString(); + if (name == "enabledDirs") return GetEnabledDirs(); + return property.GetPropertyValue(name); + } +else + { + WriteServLog("Error getting parametr value", name.c_str()); + return ""; } -if (name == "login") return login; -if (name == "ip") return currIP.ToString(); -if (name == "enabledDirs") return GetEnabledDirs(); -return property.GetPropertyValue(name); } //----------------------------------------------------------------------------- //-----------------------------------------------------------------------------