Fixes for triggers

This commit is contained in:
Thulinma 2017-05-13 15:18:21 +02:00
parent 492dcd03f5
commit 0798a6c712
2 changed files with 16 additions and 2 deletions

View file

@ -257,6 +257,20 @@ void Controller::handleAPICommands(JSON::Value & Request, JSON::Value & Response
if (in.isMember("serverid")){ if (in.isMember("serverid")){
out["serverid"] = in["serverid"]; out["serverid"] = in["serverid"];
} }
if (in.isMember("triggers")){
out["triggers"] = in["triggers"];
if (!out["triggers"].isObject()){
out.removeMember("triggers");
}else{
jsonForEach(out["triggers"], it){
if (it->isArray()){
jsonForEach((*it), jt){
jt->removeNullMembers();
}
}
}
}
}
if (in.isMember("accesslog")){ if (in.isMember("accesslog")){
out["accesslog"] = in["accesslog"]; out["accesslog"] = in["accesslog"];
Controller::accesslog = out["accesslog"].asStringRef(); Controller::accesslog = out["accesslog"].asStringRef();

View file

@ -200,7 +200,7 @@ namespace Controller{
} }
if (triggIt->isObject()){ if (triggIt->isObject()){
if (!triggIt->isMember("handler")){continue;} if (!triggIt->isMember("handler") || (*triggIt)["handler"].isNull()){continue;}
tPage.setString("url", (*triggIt)["handler"].asStringRef(), i); tPage.setString("url", (*triggIt)["handler"].asStringRef(), i);
tPage.setInt("sync", ((*triggIt)["sync"].asBool() ? 1 : 0), i); tPage.setInt("sync", ((*triggIt)["sync"].asBool() ? 1 : 0), i);
char *strmP = tPage.getPointer("streams", i); char *strmP = tPage.getPointer("streams", i);
@ -216,7 +216,7 @@ namespace Controller{
if (namesArray.size()){memcpy(strmP, namesArray.data(), std::min(namesArray.size(), (size_t)256));} if (namesArray.size()){memcpy(strmP, namesArray.data(), std::min(namesArray.size(), (size_t)256));}
} }
} }
if (triggIt->isMember("params")){ if (triggIt->isMember("params") && !(*triggIt)["params"].isNull()){
tPage.setString("params", (*triggIt)["params"].asStringRef(), i); tPage.setString("params", (*triggIt)["params"].asStringRef(), i);
}else{ }else{
tPage.setString("params", "", i); tPage.setString("params", "", i);