Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
sdk:customized-web-gui-extension-display-and-change-custom-config-paramters [2014/12/17 23:18]
fachet
sdk:customized-web-gui-extension-display-and-change-custom-config-paramters [2017/01/25 15:05]
juraschek
Line 1: Line 1:
-<​code>​+====== WEB GUI Extension & Custom Configuration Parameters ====== 
 +Customized GUI extensions to display and change custom config paramters. 
 + 
 +Please use nb_userpage_register in stead of nb_page_register in case you want to show this page also to non-admin user 
 + 
 +<​code ​c gui-extension.are>
 /* DESC: This script will generate a page which can be viewed in the Web Manager /* DESC: This script will generate a page which can be viewed in the Web Manager
  * Some custom config vars are displayed and can be changed  * Some custom config vars are displayed and can be changed
Line 28: Line 33:
  
 for (;;) { for (;;) {
-   if(!is_void(request = nb_page_request(page))) { +   if (request = nb_page_request(page)) { 
-      post = struct_get(request,​ "​POST"​);​+      post = struct_get(request,​ "​POST"​); ​// is empty on GET
       for (i = 0; i < length(post);​ i++) // get POST parameters and store in array and config ​       for (i = 0; i < length(post);​ i++) // get POST parameters and store in array and config ​
          ​nb_config_set(sprintf("​%s=%s",​ fields[i].configvar,​ fields[i].value = post[i].value));​          ​nb_config_set(sprintf("​%s=%s",​ fields[i].configvar,​ fields[i].value = post[i].value));​
Line 41: Line 46:
 } }
  
 +</​code>​
 +
 +{{:​sdk:​gui-extension1.jpg|}}
 +
 +{{:​sdk:​gui-extension2.jpg|}}
 +
 +
 +Entering data into the fields:
 +
 +----
 +{{:​sdk:​gui-extension3.jpg|}}
 +----
 +will store the data in the user configuration paramters for further use:
 +<​code>​
 +custom.var0=ftp.myserver.com
 +custom.var1=myfile.txt
 +custom.var2=admin
 +custom.var3=adminpassword
 +custom.var4=n
 +</​code>​
 +
 +In general following configuration parameters are free to use for customer applications (see router /​etc/​config/​factory-config.cfg):​
 +<​code>​
 +
 +# custom ​
 +custom.status ​                                  =
 +custom.var0 ​                                    =
 +custom.var1 ​                                    =
 +custom.var2 ​                                    =
 +custom.var3 ​                                    =
 +custom.var4 ​                                    =
 +
 +# custom table0
 +custom.table0.0.var0 ​                           =
 +custom.table0.0.var1 ​                           =
 +custom.table0.0.var2 ​                           =
 +custom.table0.0.var3 ​                           =
 +custom.table0.0.var4 ​                           =
 +custom.table0.1.var0 ​                           =
 +custom.table0.1.var1 ​                           =
 +custom.table0.1.var2 ​                           =
 +custom.table0.1.var3 ​                           =
 +custom.table0.1.var4 ​                           =
 +
 +# custom table1
 +custom.table1.0.var0 ​                           =
 +custom.table1.0.var1 ​                           =
 +custom.table1.0.var2 ​                           =
 +custom.table1.0.var3 ​                           =
 +custom.table1.0.var4 ​                           =
 +custom.table1.1.var0 ​                           =
 +custom.table1.1.var1 ​                           =
 +custom.table1.1.var2 ​                           =
 +custom.table1.1.var3 ​                           =
 +custom.table1.1.var4 ​                           =
 +
 +# custom table2
 +custom.table2.0.var0 ​                           =
 +custom.table2.0.var1 ​                           =
 +custom.table2.0.var2 ​                           =
 +custom.table2.0.var3 ​                           =
 +custom.table2.0.var4 ​                           =
 +custom.table2.1.var0 ​                           =
 +custom.table2.1.var1 ​                           =
 +custom.table2.1.var2 ​                           =
 +custom.table2.1.var3 ​                           =
 +custom.table2.1.var4 ​                           =
 +custom.table2.2.var0 ​                           =
 +custom.table2.2.var1 ​                           =
 +custom.table2.2.var2 ​                           =
 +custom.table2.2.var3 ​                           =
 +custom.table2.2.var4 ​                           =
 +custom.table2.3.var0 ​                           =
 +custom.table2.3.var1 ​                           =
 +custom.table2.3.var2 ​                           =
 +custom.table2.3.var3 ​                           =
 +custom.table2.3.var4 ​                           =
 +custom.table2.4.var0 ​                           =
 +custom.table2.4.var1 ​                           =
 +custom.table2.4.var2 ​                           =
 +custom.table2.4.var3 ​                           =
 +custom.table2.4.var4 ​                           =
 +custom.table2.5.var0 ​                           =
 +custom.table2.5.var1 ​                           =
 +custom.table2.5.var2 ​                           =
 +custom.table2.5.var3 ​                           =
 +custom.table2.5.var4 ​                           =
 +custom.table2.6.var0 ​                           =
 +custom.table2.6.var1 ​                           =
 +custom.table2.6.var2 ​                           =
 +custom.table2.6.var3 ​                           =
 +custom.table2.6.var4 ​                           =
 +custom.table2.7.var0 ​                           =
 +custom.table2.7.var1 ​                           =
 +custom.table2.7.var2 ​                           =
 +custom.table2.7.var3 ​                           =
 +custom.table2.7.var4 ​                           =
 </​code>​ </​code>​