X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/ede91934442fd804d7b818971a44e3ad795cb01f..f907011b4827e85763372cdea76944b3b1cc3fd2:/projects/stargazer/plugins/configuration/sgconfig/parser_tariff.cpp diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_tariff.cpp b/projects/stargazer/plugins/configuration/sgconfig/parser_tariff.cpp index e2daa336..bb855faf 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_tariff.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_tariff.cpp @@ -1,8 +1,8 @@ #include // snprintf #include +#include "stg/tariffs.h" #include "parser.h" -#include "tariffs.h" const int pt_mega = 1024 * 1024; //----------------------------------------------------------------------------- @@ -145,6 +145,8 @@ for (; it != dataList.end(); ++it) break; } + answerList->push_back("tariffConf.period) + "\"/>"); + answerList->push_back(""); } answerList->push_back(""); @@ -180,7 +182,7 @@ void PARSER_ADD_TARIFF::CreateAnswer() //answerList->clear(); answerList->erase(answerList->begin(), answerList->end()); -if (tariffs->Add(tariffToAdd, *currAdmin) == 0) +if (tariffs->Add(tariffToAdd, currAdmin) == 0) { answerList->push_back(""); } @@ -228,7 +230,7 @@ if (users->TariffInUse(tariffToDel)) return; } -if (tariffs->Del(tariffToDel, *currAdmin) == 0) +if (tariffs->Del(tariffToDel, currAdmin) == 0) { answerList->push_back(""); } @@ -388,7 +390,10 @@ else snprintf(st, 50, "Time%d", j); if (strcasecmp(el, st) == 0) { - int h1, m1, h2, m2; + int h1 = 0; + int m1 = 0; + int h2 = 0; + int m2 = 0; if (ParseTariffTimeStr(attr[1], h1, m1, h2, m2) == 0) { td.dirPrice[j].hDay = h1; @@ -448,6 +453,12 @@ else } return 0; } + + if (strcasecmp(el, "Period") == 0) + { + td.tariffConf.period = TARIFF::StringToPeriod(attr[1]); + return 0; + } } return -1; } @@ -475,7 +486,7 @@ answerList->erase(answerList->begin(), answerList->end()); if (!td.tariffConf.name.data().empty()) { TARIFF_DATA tariffData = td.GetData(); - if (tariffs->Chg(tariffData, *currAdmin) == 0) + if (tariffs->Chg(tariffData, currAdmin) == 0) { answerList->push_back(""); return;