This shows you the differences between two versions of the page.
| — | sdk:scripts:webpage [2015/05/05 15:04] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== SDK Script webpage.are ====== | ||
| + | <code c webpage.are> | ||
| + | /* DESC: This script will generate a page which can be viewed in the Web Manager | ||
| + | * Copyright (C) 2012 NetModule AG, Switzerland | ||
| + | */ | ||
| + | |||
| + | ID = 1; | ||
| + | |||
| + | /* show interface overview */ | ||
| + | void show_interfaces () | ||
| + | { | ||
| + | interfaces = mkarray(); | ||
| + | nr_interfaces = 0; | ||
| + | |||
| + | status = nb_status(" | ||
| + | stlist = qsort(struct_fields(status)); | ||
| + | |||
| + | for (j = 0; j < length(stlist); | ||
| + | key = stlist[j]; | ||
| + | |||
| + | pos = strstr(key, " | ||
| + | if (!is_void(pos)) { | ||
| + | ifc = left(key, pos); | ||
| + | interfaces[nr_interfaces++] = ifc; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | nb_page_respond(page, | ||
| + | nb_page_respond(page, | ||
| + | |||
| + | interfaces = qsort(interfaces); | ||
| + | for (i=0; i< | ||
| + | ifc = interfaces[i]; | ||
| + | nb_page_respond(page, | ||
| + | nb_page_respond(page, | ||
| + | nb_page_respond(page, | ||
| + | nb_page_respond(page, | ||
| + | } | ||
| + | |||
| + | nb_page_respond(page, | ||
| + | nb_page_finish(page); | ||
| + | } | ||
| + | |||
| + | /* show interface status */ | ||
| + | void show_interface (string ifc) | ||
| + | { | ||
| + | status = nb_status(" | ||
| + | stlist = struct_fields(status); | ||
| + | |||
| + | nb_page_respond(page, | ||
| + | nb_page_respond(page, | ||
| + | |||
| + | pattern = strcat(ifc, " | ||
| + | plen = strlen(pattern); | ||
| + | for (j = 0; j < length(stlist); | ||
| + | key = stlist[j]; | ||
| + | if (left(key, plen) == pattern) { | ||
| + | nb_page_respond(page, | ||
| + | nb_page_respond(page, | ||
| + | nb_page_respond(page, | ||
| + | nb_page_respond(page, | ||
| + | } | ||
| + | } | ||
| + | |||
| + | nb_page_respond(page, | ||
| + | nb_page_respond(page, | ||
| + | nb_page_finish(page); | ||
| + | } | ||
| + | |||
| + | /* register page */ | ||
| + | page = nb_page_register(ID, | ||
| + | if (is_void(page)) { | ||
| + | printf(" | ||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | printf(" | ||
| + | while (1) { | ||
| + | /* wait for page request */ | ||
| + | request = nb_page_request(page); | ||
| + | |||
| + | if (!is_void(request)) { | ||
| + | /* evaluate GET params */ | ||
| + | GET = struct_get(request, | ||
| + | |||
| + | ifc = ""; | ||
| + | for (k = 0; k < length(GET); | ||
| + | key = struct_get(GET[k], | ||
| + | if (key == " | ||
| + | ifc = struct_get(GET[k], | ||
| + | break; | ||
| + | } | ||
| + | } | ||
| + | if (ifc != "" | ||
| + | /* show requested interface */ | ||
| + | show_interface(ifc); | ||
| + | } else { | ||
| + | /* show interface overview */ | ||
| + | show_interfaces(); | ||
| + | } | ||
| + | } | ||
| + | sleep(1); | ||
| + | } | ||
| + | |||
| + | nb_page_unregister(page); | ||
| + | |||
| + | exit(0); | ||
| + | |||
| + | </ | ||