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
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 [2022/01/26 15:51] (current)
schmitt
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.png|}}
 +
 +{{:​sdk:​sdk_ftp1.png|}}
 +
 +
 +Entering data into the fields:
 +
 +----
 +{{:​sdk:​sdk_ftp.png|}}
 +----
 +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>​