Index: /branches/monitor-improvement/globals.h =================================================================== --- /branches/monitor-improvement/globals.h (revision 1297) +++ /branches/monitor-improvement/globals.h (revision 1298) @@ -554,6 +554,7 @@ char http_css[128]; char http_tpl[128]; - int http_refresh; - int http_hide_idle_clients; + char http_script[128]; + int http_refresh; + int http_hide_idle_clients; int c33_port; in_addr_t c33_srvip; Index: /branches/monitor-improvement/oscam-config.c =================================================================== --- /branches/monitor-improvement/oscam-config.c (revision 1297) +++ /branches/monitor-improvement/oscam-config.c (revision 1298) @@ -445,4 +445,5 @@ if (!strcmp(token, "httppwd")) { cs_strncpy(cfg->http_pwd, value, sizeof(cfg->http_pwd)); return; } if (!strcmp(token, "httpcss")) { cs_strncpy(cfg->http_css, value, sizeof(cfg->http_css)); return; } + if (!strcmp(token, "httpscript")) { cs_strncpy(cfg->http_script, value, sizeof(cfg->http_script)); return; } if (!strcmp(token, "httptpl")) { cs_strncpy(cfg->http_tpl, value, sizeof(cfg->http_tpl)); @@ -981,4 +982,5 @@ fprintf_conf(f, CONFVARWIDTH, "httppwd", "%s\n", cfg->http_pwd); fprintf_conf(f, CONFVARWIDTH, "httpcss", "%s\n", cfg->http_css); + fprintf_conf(f, CONFVARWIDTH, "httpscript", "%s\n", cfg->http_script); fprintf_conf(f, CONFVARWIDTH, "httprefresh", "%d\n", cfg->http_refresh); fprintf_conf(f, CONFVARWIDTH, "httphideidleclients", "%d\n", cfg->http_hide_idle_clients); Index: /branches/monitor-improvement/oscam-http.c =================================================================== --- /branches/monitor-improvement/oscam-http.c (revision 1297) +++ /branches/monitor-improvement/oscam-http.c (revision 1298) @@ -323,4 +323,5 @@ tpl_printf(vars, 0, "HTTPREFRESH", "%d", cfg->http_refresh); tpl_addVar(vars, 0, "HTTPTPL", cfg->http_tpl); + tpl_addVar(vars, 0, "HTTPSCRIPT", cfg->http_script); if (cfg->http_hide_idle_clients > 0) tpl_addVar(vars, 0, "CHECKED", "checked"); @@ -1213,4 +1214,23 @@ } +void send_oscam_script(struct templatevars *vars, FILE *f){ + char *result = "not found"; + int rc = 0; + if(cfg->http_script[0]){ + tpl_addVar(vars, 0, "SCRIPTNAME",cfg->http_script); + rc = system(cfg->http_script); + if(rc == -1){ + result = "done"; + }else{ + result = "failed"; + } + }else{ + tpl_addVar(vars, 0, "SCRIPTNAME", "no script defined"); + } + tpl_addVar(vars, 0, "SCRIPTRESULT", result); + tpl_printf(vars, 0, "CODE", "%d", rc); + fputs(tpl_getTpl(vars, "SCRIPT"), f); +} + int process_request(FILE *f, struct in_addr in) { char buf[4096]; @@ -1238,5 +1258,6 @@ "/services_edit.html", "/savetemplates.html", - "/shutdown.html"}; + "/shutdown.html", + "/script.html"}; int pagescnt = sizeof(pages)/sizeof(char *); // Calculate the amount of items in array @@ -1350,4 +1371,5 @@ case 10: send_oscam_savetpls(vars, f); break; case 11: send_oscam_shutdown(vars, f, ¶ms); break; + case 12: send_oscam_script(vars, f); break; default: send_oscam_status(vars, f, ¶ms, in); break; } Index: /branches/monitor-improvement/oscam-http.h =================================================================== --- /branches/monitor-improvement/oscam-http.h (revision 1297) +++ /branches/monitor-improvement/oscam-http.h (revision 1298) @@ -34,4 +34,5 @@ TABLE.menu TD{border:2px outset lightgrey; background-color:silver; font-color:black; font-family: Arial;}\n\ TABLE.menu TD.shutdown{border:2px outset lightgrey; background-color:orange; font-color:black; font-family: Arial;}\n\ +TABLE.menu TD.script{border:2px outset lightgrey; background-color:yellow; font-color:black; font-family: Arial;}\n\ TD.menu {border:2px outset lightgrey; background-color:silver; font-color:black; font-family: Arial; font-size:11px;}\n\ TABLE.configmenu{background-color:black; align:center; font-size: 10px;}\n\ @@ -69,4 +70,5 @@