Ok, das sind etwas bombastische Requests, macht die Source nicht gerade hübsch.
Also versuche ich das beispielhaft mal etwas eleganter zu lösen, indem ich Funktionen definiere, die so einen Request programmatisch zusammenbaut:
// string mit `rep` mal den String `str` hintereinandergehängt produzieren
function str_rep(str, rep)
{
var s = ''
while (rep>0) {
s = s + str
rep = rep -1
}
return s
}
// week0..week6 generieren
function gen_weeks(enable)
{
var req = ''
var w = 0
while (w<7) {
req = req + format('&-week%d=', w) + str_rep(if(enable, 'P', 'N'), 48)
w = w + 1
}
return req
}
// generiere den Scharfstellen/Deaktivieren-Request
function gen_arm_req(enable)
{
var req = "?cmd=setscheduleex&-ename=md"
req = req + gen_weeks(enable)
req = req + "&cmd=setbackupschedule&-ename=md"
req = req + gen_weeks(enable)
return req
}
Diese Funktionen müssen entweder im mainscript definiert werden oder in der Script-Implementation ganz am Anfang eingefügt werden. Um sie dann zu benutzen, muss nur die eine geturl()
-Zeile der Implementation wie folgt geändert werden:
var res = geturl(baseurl + format('/param.cgi%s', gen_arm_req(m.value>50)), 5)
Je nach der Bedingung m.value>50
wird dadurch an gen_arm_req
1 oder 0 für den Parameter enable
übergeben, und damit ein Request mit P oder mit N generiert.
Sieht doch gleich viel schöner aus 😉