Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sdk:customized-web-gui-extension-display-and-change-custom-config-paramters [2014/12/17 23:18] fachetsdk: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>