Monday, November 1, 2010

Server configuration variables

The purpose of server side configuration is to provide more control of the hosted sites to the server owner. All these variables are used to increase security of the server, by limiting developers access rights to certain server data (environmental variables, paths above virtual hosts wwwroot directory, writing files during run-time), or by limiting the ability to use some WBSP functionalities (scripting host, file upload, full definition of ADO connection string, limiting number of instances of the WBSP engine that can be used simultaneously by single virtual host or even disabling WBSP on certain virtual hosts) or by strictly defining the rules by which WBSP can be used in CGI mode.
Server-side configuration variables :
AbsolutePath
DefaultDocument
MaxInstances
RegCode
Upload

read more

Server configuration section

This section contains specific server side configuration for all aliases of a single virtual host defined in Servers section. It has to be created for every virtual host that needs separate configuration different from default settings. Here's an example:
[wbsp.com]
DisableWB=F
AbsolutePath=On
Upload=On
FileCommands=On
Execute=JavaScript,VBScript,JScript
HiddenEnvVars=PATH,COMP*,System*
TimeOutSec=20
DefaultDocument=index.wbsp
ADOConnectionString=T
ActivateCGIByExt=wbsp
CGISecurityString=LhBv3KP
MaxInstances=0
HideDocuments=sr,aut,inc,ic,mdb
ScriptTimeOutSec=60

[dsd.ba]
DisableWB=F
AbsolutePath=Off
Upload=On
FileCommands=Off
Execute=VBScript
HiddenEnvVars=PATH,COMP*,System*,Win*
TimeOutSec=10
DefaultDocument=default.wbsp
ADOConnectionString=F
ActivateCGIByExt=wbsp
CGISecurityString=LhBv3KP
MaxInstances=10
 

SF (WB_Command) - Send file

Description
This command is used for sending unchanged file defined in variable WB_TempName to client. The file will not be processed or changed in any way, regardless of its content or type.

read more

Subsection [MsgAndLbl]

This subsection contains the variables that define labels and style for navigation links (for previous, next, first and last page) and messages (empty recordset and deleted records). They can contain any valid HTML code including WhizBase report tags and functions both in input and output syntax.
It can also contain variables for formatting navigation links WB_Style.
These are variables that can be stored in this subsection (in alphabetic order):
WBM_NoMatch
Here is the example of MsgAndLbl section (marked blue):




Titles

Year published Title ISBN
$wbf[Year published] $wbf[title] $wbf[ISBN]

$wbnavigator


To test this example, create images rightarrow.gif, leftarrow.gif, first.gif and last.gif and place them in directory images located in same directory with this wbsp file. Also create images of the digits 0 to 9 (name them 0.gif, 1.gif, 2.gif, ..., 9.gif) and place them in directory digits located in same directory with this wbsp file.

read more

Section [UserData]

This section contains a list of custom, user-defined variables that can be used in WBSP files, in form:
UserVariable=AnyValue
These variables can be read using functions $WBRV and $WBRRV.
The user-defined variables in UserData section can contain WhizBase tags and functions, same as any WBSP system variable (variables starting with WB_).
Here is an example of UserData section in default.inc file in virtual hosts document root:
[UserData]
AdminEmail=admin@somemailserver.com
MyMailServer=mail.somemailserver.com
Later these variables can be accessed from your WBSP files like this:
[FormFields]
wb_mailserver=$wbrv{MyMailServer}
wb_bcc=$wbrv{AdminEmail}
Or like this:


some html code ...

Please send your comments/questions to
$wbrv[AdminEmail]

Thank you!
 

Subsection [Upload]

This subsection contains variables needed to control file upload using WBSP page. Using these variables, the developer can control where uploaded files will be saved, what is maximum size of a single file, what file types can not be uploaded, weather existing file will be overwritten or not, where to store log data and what prefix to add to URL of uploaded file. The variables that can be stored in this subsection are  (in alphabetic order):
WB_UploadLog
Here's an example of upload subsection (marked with blue):
[FormFields]
WB_BaseName=biblioA.mdb
WB_AllowMultipart=T
WB_Command=A
WB_UID=ISBN
WB_Redirect=titlesQ.wbsp
WB_RcdSet=Titles
[Upload]
WB_Disallow=![jpg,gif]
WB_UploadDir=images/
WB_Overwrite=T
WB_MaxFSize=24576
WB_UploadLog=upload.log
To learn more about uploading files using WBSP read the "Uploading files using WBSP" page.

read more

Section [Referrer Check]

Section Referrer Check defines what commands will require validation of referring page and what domains will be accepted as valid referrers.
It has a variable Referrer that contains a comma-separated list of servers (domains) that  will be accepted by WBSP engine as valid hosts for referring pages.
If this variable does not exist (or it is empty) then WBSP engine will not try to validate referrer. If you want to allow referring page to be located only on same server as WBSP file set this variable to $self$.
The main change from previous versions is that this section is part of the WBSP file while in previous versions it was part of WhizBase.ssc server-side configuration file.
Here is an example of Referrer check section:

[Referrer Check]
Referrer=whizbase.com,wbsp.com
 

Subsection [Include]

This subsection contains a list of files (respecting the WBSP path rules) that WBSP engine will check for input variables if they are not found in original WBSP file. Include files are processed backwards – from end to top of the list. WBSP will stop searching as soon as it finds first occurrence of the variable it search for.
Include files will be processed only if WBSP engine does not find the variable in WBSP file, but before WBSP engine tries to read variable from HTML form input fields. WBSP engine will read include files backwards (starting from the last file in the include section).

Here is an example of Include section (marked blue):




Titles


Year published Title ISBN
$wbf[Year published] $wbf[title] $wbf[ISBN]


$wbnavigator




And include file db.inc looks like this:
[FormFields]
WB_Basename=biblio.mdb

Special case are include files named default.inc.

read more

Subsection [FormFields]

This subsection contains the variables that are essential for processing WBSP file. Here you put information about the database, recordset, template, error template, log file, redirection, etc.
These are the variables that can be stored in FormFields subsection (in alphabetic order):

WB_DBReadDes WB_Debug
WB_FileName
WB_Null
WB_Usr
WB_WholeWord

Here's an example of FormFields section (marked blue):
[FormFields]
WB_basename=biblio.mdb
wb_rcdset=publishers
WB_Command=Q
wb_showlogo=F
wb_order=name




Publishers



$wbf[Name]

$wbsr[titles.sr]


Section [ErrorMessages]

This section contains a list of custom error messages in form:
ErrorNumber=ErrorMessage
ErrorNumber is standard number reported by WBSP engine. It can be either WhizBase error number or Jet  or any other error number. It is not recommended to put any Whizbase tags, functions, etc. in the  ErrorMessage, because it can produce unwanted results. If you need to place such content in  ErrorMessage, it is strongly recommended to test all possible situations before publishing the page to the real world. The exception to this is a reserved word $WBERRRED: followed by the URL of the web content where the WBSP engine will redirect visitor in the case of a specific error occurrence. This will work only if error occurs before WBSP sends HTTP header (e.g. if error  occurs before WBSP starts report rendering).
This is useful for translating the error messages from English or for using IMG HTML tag to display an image instead of error message, or to use block to process certain errors.

Here is an example of ErrorMessages section:
[ErrorMessages]
5034=
3030=
429=
5040=$WBERRRED:/requiredMissing.wbsp
 

Thursday, October 28, 2010

WBSP Server Side Configuration (wbsp.ssc)

WBSP server side configuration file is text file located in the same directory with engine file wbsp.exe. Both these files should not be accessible using HTTP protocol (they should be located above wwwroot directory of the web server or, if WSBP is used as CGI, in a directory without read access). 
WBSP.SSC file has three main sections and a separate configuration section for every virtual host on the server:

SECONDS ($WBFN)

Availability
SECONDS is available for use with all WBSP commands.
Syntax
$WBFN{SECONDS}
$WBFN[SECONDS]

Arguments
SECONDS function does not have any arguments.

Returns
A single-precision number representing the number of seconds elapsed since midnight (server time).

read more

ScriptTimeOutSec

ScriptTimeOutSec=seconds

This variable contains the default value for WB_TimeOut variable for specific virtual host. Default value is 30.

read more

RND ($WBFN)

Availability
RND is available for use with all WBSP commands.
Syntax
$WBFN{RND(decnumber)}
$WBFN[RND(decnumber)]

Arguments
decnumber - any integer in range 1 to 2147483647.

Returns
The randomly generated number in range from 1 to the number passed as an argument.
Example



Random number:$wbfn[RND(1000)]!

Result
Random number:351! 
 

Request related functions

$WBV
$WBVA
$WBVC
$WBVR
$WBVS
$WBVSC

read more 

Tuesday, October 26, 2010

Report tags

Report tags are WBSP placeholders that do not have any arguments, and therefore their syntax does not necessarily include neither square brackets nor braces. However, if for any reason you need to pass them as arguments to any WBSP function you have to add empty square brackets [] or braces {} at the end.
$WBFILEREPORT
$WBTIMER
Database related tags
$WBRECORDBREAK
Error message tags
$WBERRMAIL
Navigation tags
$WBLASTPAGE

read more

R (WB_Command) - Render

Description
This is a default command (e.g. WBSP page with no configuration section or with no WB_Command value will execute RENDER command). When executed, it processes all WhizBase tags and functions that exist in the page. If database related variables are defined, this command will open the recordset, but it will display only first record of the recordset.
Important: If your WBSP page displays only one record, and you are positive that there is more records in recordset, and that you have placed and properly, then it is very possible that you have forgot to set WB_Command properly (to Q, P or L) and that your WBSP page executes RENDER command.

read more

Registration section

The registration section always contains a single value of registration key for entire server (server license - ServerKey variable). If valid server registration key exists, virtual hosts do not need their own registration keys.
[Registration]
ServerKey=SXHZSNKIKDIJSHIJKL
 

RegCode

RegCode=Registration Key

This variable contains the registration code used in combination with Developer variable. If valid combination of these two variables exists, virtual hosts do not need their own registration keys.

read more

Recordset

WhizBase uses following SQL model for opening the recordset:
SELECT WB_DBFlds FROM WB_RcdSet WHERE (WB_Query and textfield1 like "WB_AndOr textfield2 like "wbf_textfield2" WB_AndOr numfiled1=wbf_numfiled1 ...) GROUP BY WB_Group HAVING WB_Having ORDER BY WB_order;

read more

RP (WB_Command) - Read DB permissions

Description
This command is used for reading access permissions on database (WB_BaseName) table (WB_RcdSet) for specified user (WB_DBUser) or group (WB_DBGroup) in workgroup file (WB_System). The result can be displayed using $WBAdmin[] tag.

read more 

Q (WB_ Command ) - Query

Description
This command is used when you need to access the database recordset for reading the records. When executed, it opens the recordset (variables WB_BaseName and WB_RcdSet must be defined when you use this command), processes all WhizBase tags and functions that exist in the page, repeating the detail section as many times as there is records in the page (this is defined by the value of the WB_MaxRec variable). When it builds the recordset, this command will use WB_Query variable together with WBF_recordsetfieldname form fields to generate SQL WHERE clause. To learn more about variables used for generating recordset, please read the "Important: If your WBSP page displays only one record, and you are positive that there is more records in recordset, and that you have placed and properly, then it very possible that you have forgot to set WB_Command to Q and that your WBSP page executes RENDER command.

read more

P (WB_Command) - Personalized email

Description
This command is used for sending WBSP page to email recipient(s) using SMTP mail server defined in variable WB_MailServer. The report template will be processed and the (same) result will be sent to all recipients defined in WB_CC and WB_BCC variables together with attachments defined in WB_Attach variable (if it exists). If WBSP defines recordset (using WB_BaseName, WB_RcdSet and WB_Query) it will be opened same as with Query command, and all database related functions will be processed too.

read more

Path rules

WBSP engine has it's own path rules:
  • All relative paths are relative to the location of the current WBSP file.
  • Root dir is represented by slash (/) character and it represents document root (wwwroot) directory of current virtual host, and not root directory of current disk.
  • In order to access files on same disk but located above the document root directory as well as to access files located on other disks or computers, developer must use absolute paths.
    To enable usage of absolute paths, AbsolutePath variable must be set to true in server configuration section for current virtual host in wbsp.ssc file. If this variable is not set to true, an error will be generated when WBSP receives a reference to an absolute path.
Path rules apply to all WhizBase variables, sections and functions that use external files. Here are some examples:
 
[Include]
/shopping.inc
../dbsettings/admin.inc
[FormFields]
wb_basename=\\DatabaseSrv\user23\access\shopping.mdb
wb_logFile=c:\logs\user23\wbsp.log


$wbinc[/globaltop.htm]

Your registration code is:

$wbrun[c:\scripts\user23\registration.js |JavaScript|MkRegCode($wbv{CopyID})]

$wbinc[shoppingfooter.htm]
Lines shown in red color contain file names with absolute path.

read mroe

OCT ($WBFN)

Availability
OCT is available for use with all WBSP commands.
Syntax
$WBFN{OCT(decnumber)}
$WBFN[OCT(decnumber)]

Arguments
decnumber - any integer in range 0 to 2147483647.

Returns
A string representing the octal value of the number passed as an argument.
Example



Octal value of letter A is $wbfn[OCT(65)]!

Result
Octal value of letter A is 101! 
 

Monday, October 25, 2010

Navigation tags

Navigation tags are WBSP placeholders for various parts of a report navigation block (links used to navigate through report pages).
$WBNAVIGATOR
$WBPAGENUMS
$WBPREVPAGE
$WBNEXTPAGE
$WBFIRSTPAGE
$WBLASTPAGE

read more

Format string definitions (Named Formats)

Format Name Description
General Number Display number with no thousand separator.
Currency Display number with thousand separator, if appropriate; display two digits to the right of the decimal separator. Output is based on system locale settings.
Fixed Display at least one digit to the left and two digits to the right of the decimal separator.
Standard Display number with thousand separator, at least one digit to the left and two digits to the right of the decimal separator.
Percent Display number multiplied by 100 with a percent sign (%) appended to the right; always display two digits to the right of the decimal separator.
Scientific Use standard scientific notation.
Yes/No Display No if number is 0; otherwise, display Yes.
True/False Display False if number is 0; otherwise, display True.
On/Off Display Off if number is 0; otherwise, display On.
General Date Display a date and/or time. For real numbers, display a date and time, for example, 4/3/93 05:34 PM. If there is no fractional part, display only a date, for example, 4/3/93. If there is no integer part, display time only, for example, 05:34 PM. Date display is determined by your system settings.
Long Date Display a date according to your system's long date format.
Medium Date Display a date using the medium date format appropriate for the language version of the host application.
Short Date Display a date using your system's short date format.
Long Time Display a time using your system's long time format; includes hours, minutes, seconds.
Medium Time Display time in 12-hour format using hours and minutes and the AM/PM designator.
Short Time Display a time using the 24-hour format, for example, 17:45.

read more

MU (WB_Command) - Multi update

Description
This command is used for updating the multiple records with same field value(s). Unlike Update command that requires arrays of WBF_ fields with equal number of members (e.g. if you update 1 field for 4 records you MUST send four sets of WBF_field1 (WB_UID member) and WBF_fied2 form fields), multi update command accept an array of WBF_field ONLY for fields defined in WB_UID. Upon receiving the WB_UID members as an array of WBF_field it will create the recordset and modify the content of all selected records with SAME value(s).
e.g.
Original table values
ID (WB_UID field) Title Show
1 McGraw-Hill's Encyclopedia of Networking & Telecommunications True
2 Microsoft SMS Installer True
3 Windows 2000 Iis 5.0 : A Beginner's Guide True
4 Windows Nt Security Handbook True
  Table values after Update command (wbf_id=1&wbf_Show=False&wbf_id=2&wbf_Show=True&wbf_id=3&wbf_Show=False&wbf_id=4&wbf_Show=True)

ID (WB_UID field) Title Show
1 McGraw-Hill's Encyclopedia of Networking & Telecommunications False
2 Microsoft SMS Installer True
3 Windows 2000 Iis 5.0 : A Beginner's Guide False
4 Windows Nt Security Handbook True
  Table values after Multi update command (wbf_Show=False&wbf_id=1&wbf_id=2&wbf_id=3&wbf_id=4)

ID (WB_UID field) Title Show
1 McGraw-Hill's Encyclopedia of Networking & Telecommunications False
2 Microsoft SMS Installer False
3 Windows 2000 Iis 5.0 : A Beginner's Guide False
4 Windows Nt Security Handbook False

 read more

MONTH ($WBFN)

Availability
MONTH is available for use with all WBSP commands.
Syntax
$WBFN{MONTH}
$WBFN[MONTH]

Arguments
MONTH function does not have any arguments.

Returns
A whole number between 1 and 12, inclusive, representing the month of the year for current server date.

read more

MaxInstances

MaxInstances=number

This variable defines the maximum number of concurrent instances of the engine for the specific virtual server. If this number is exceeded the error will be generated. The default value is 0 (unlimited number of instances).

read more

L (WB_Command) - Mail to list of recipients

Description
This command is used for sending WBSP page to email recipient(s) using SMTP mail server defined in variable WB_MailServer. Depending on variable used for defining email address the report template will be processed differently.
If email address is defined in WB_BCCField report template will be processed once and the (same) result will be sent to all recipients. The email addresses will be set as BCC so no recipient will see the email addresses of other recipients. The mail server will be contacted once and a single mail with many BCC addresses will be sent. Please note that some mail servers limit the maximum number of recipients for a single mail.
If email address is defined in WB_ToField report template will be processed as many times as there is records in recordset (once per record) and the result will be sent to single recipient every time, which means that mail server will be contacted once for every recipient.
If there are any attachments defined in WB_Attach or WB_AttachField variables, they will also be sent.
The defined recordset (using WB_BaseName, WB_RcdSet and WB_Query) will be opened same as with Query command, and all database related functions will be processed too.

read more

MAIL

These variables are used to configure mail related settings for use with WB_Command values L and T.
WB_CC

read more

Logging

These variables are used for enabling and formatting logging.
WB_Debug

read more

LCS ($WBFN)

Availability
LCS is available for use with all WBSP commands.
Syntax
$WBFN{LCS(anystring)}
$WBFN[LCS(anystring)]

Arguments
anystring - any string value.

Returns
The string passed as an argument converted to lowercase characters.
Example



Lowercase of Hello World is $wbfn[LCS(Hello World)]!

Result
Lowercase of Hello World is hello world! 
 

Introduction

WBSP, (WhizBase Server Pages) is a general-purpose scripting tool (hypertext preprocessor) for Web development and can be embedded into HTML, XHTML, XML, RTF, ASCII, JavaScript, VBScript and any other text based file format.
Its syntax is different from any programming language  like C, Java, Perl, VB, and also form other hypertext preprocessors like PHP or ASP. It is easy to learn, and has very short learning curve before one can produce useful results.
It was developed by Faik and Tarik Djikic, owners of the web and software development company, Djikic Ltd., and since 1998 has been used for building few hundreds sites including eye catching web presentations, web applications, real-time monitoring systems, etc. Our main goal is to allow web developers to write dynamically generated web pages quickly and easily with no limits in terms of contents, database formats, graphic layout design, embedded technologies, etc.

read more

Friday, October 22, 2010

INT ($WBFN)

Availability
INT is available for use with all WBSP commands.
Syntax
$WBFN{INT(decnumber)}
$WBFN[INT(decnumber)]

Arguments
decnumber - any decimal number.

Returns
The integer portion of the number passed as an argument.
Example



Integer part of timer is $wbfn[INT($wbtimer[])]!

Result
Integer part of timer is 53021! 
 

Installing WBSP on Windows with Apache

This section contains notes and hints specific to Apache Web Server. To download Apache Web Server installation package please visit http://httpd.apache.org/download.cgi.
To set up WBSP to work with Apache on Windows you need to stop the Apache server, and edit your srm.conf or httpd.conf to configure Apache to work with WBSP.
Although there can be a few variations of configuring WBSP under Apache, these are simple enough to be used by the newcomer. Please consult the Apache Docs for further  configuration directives.
To install WBSP insert these lines to your conf file (assuming that you have installed WBSP in c:\wbsp\):

    AllowOverride all
    Options None
    Order allow,deny
    Allow from all

ScriptAlias /wbsp/ "c:/wbsp/"
AddType application/x-httpd-wbsp .wbsp
Action application/x-httpd-wbsp "/wbsp/wbsp.exe"
You must repeat from last two lines for each extension you want associated with WBSP scripts. (.wbsp,.sr,.aut,.ic and .inc are recommended.)
Please note that we have done our best to disable calling WBSP directly:
http://servername/wbsp/wbsp.exe?.....
so please do not change the .exe extension on wbsp.exe file.
As a further precaution, we recommend you change the "/wbsp/" ScriptAlias to something more random, to prevent any attempts to call your binary (like the Code Red scripts) for returning a response other than 404.
Remember when you have finished to restart the server, for example,
NET STOP APACHEfollowed by
NET START APACHE

read more 

Installing WBSP on Windows with Xitami

This section contains notes and hints specific to Xitami - powerful multiplatform Open Source web server. To download Xitami installation package please visit http://www.xitami.com/download.htm.
  • Make sure the webserver is running, and point your browser to xitamis admin console (usually http://127.0.0.1/admin), and click on Configuration.
  • Navigate to the Filters, and put the extension which wbsp should parse (i.e. .wbsp) into the field File extensions (.xxx).
  • In Filter command or script put the path and name of your wbsp executable i.e. c:\wbsp\wbsp.exe (assuming that you have installed WBSP in c:\wbsp\).
  • Press the 'Save' icon.
  • Repeat last three steps for each extension you want associated with WBSP scripts (.wbsp,.sr,.aut,.ic and .inc are recommended).
To add WBSP filter manually please follow these steps:
  • In directory where Xitami is installed create file defaults.cfg
  • Add following lines to the file:
    [Server]
    priority=1

    [Server]
    Default3=default.wbsp
    [Filter]
    #assuming that WBSP.exe is located in c:\wbsp\
    .wbsp=c:\WBSP\wbsp.exe
    .sr=c:\WBSP\wbsp.exe
    .aut=c:\WBSP\wbsp.exe
    .ic=c:\WBSP\wbsp.exe
    .inc=c:\WBSP\wbsp.exe
  • Restart the server
read more

Installing WBSP on Windows with OmniHTTPd Server

This section contains notes and hints specific to OmniHTTPd 2.0b1 and up for Windows.
  • Install OmniHTTPd server.
  • Right click on the blue OmniHTTPd icon in the system tray and select 'Properties'
  • Click on 'Web Server Global Settings'
  • On the 'External' tab, enter:
    virtual = .wbsp | actual = c:\wbsp\wbsp.exe (assuming that you have installed WBSP in c:\wbsp\)
    and use the Add button.
  • On the Mime tab , enter:
    virtual = wwwserver/stdcgi | actual = .wbsp
    and use the Add button.
  • Click 'OK'
Repeat steps 4,5 and 6 for each extension you want to associate with WBSP (.wbsp,.sr,.aut,.ic and .inc are recommended).

read more

Installing WBSP on Windows with Netscape servers.

To Install WBSP:
  • Make a file association from the command line (type the 2 following lines, assuming that you have installed WBSP in c:\wbsp\)
    assoc .wbsp=WBScript
    ftype WBScript=c:\wbsp\wbsp.exe %1 %*
  • In the Netscape Enterprise Administration Server create a dummy shellcgi directory and remove it just after (this step creates 5 important lines in obj.conf and allow the web server to handle shellcgi scripts)
  • In the Netscape Enterprise Administration Server create a new mime type  (Category:type,Content-Type:magnus-internal/shellcgi,File Suffix:wbsp)
Do it for each web server instance you want WBSP to run

read more

Wednesday, October 20, 2010

Installing WBSP on Windows with Abyss Web Server

This section contains notes and hints specific to Abyss Web Server. To download Abyss Web Server installation package please visit http://www.aprelium.com/abyssws/download.php.
  • Open Abyss Web Server's console
  • In the Hosts table, press Configure in the row corresponding to the host to which you want to add WBSP support
  • Click Scripting Parameters icon
  • Check Enable Scripts Execution
  • In the Interpreters table click Add button
  • and set the parameters as shown bellow
  • In the Interpreter field, press Browse..., go to the directory where you have installed WBSP, locate wbsp.exe, and click on it
    (in the example above we assume that you have installed WBSP in c:\wbsp\)
  • Set Type to Standard
  • Check Use the associated extensions to automatically update the Script Paths
  • Press Add in the Associated Extensions table
  • Enter wbsp in the Extension field and press OK
  • Press OK
  • Press OK in the Scripting Parameters dialog
  • Click Index Files icon
  • Press Add in the Index Files table
  • Enter default.wbsp in the File Name field and press OK
  • Click OK
  • Press Restart to restart the server.
read more

Installation

This install guide will help you manually install and configure WBSP on your Windows 9x/Me/NT/2000/XP/2003 web servers.
This guide provides manual installation support for:
Internet Information Server 4,5,6
OmniHTTPd 2.0b1 and up
Netscape Servers
Abyss Web Server
WhizBase 5 can be used either as a scripting engine or as a CGI program.
Before applying the server specific instructions, WhizBase files should be installed using the executable installer.

read more

INI file functions

INI files are simple text files, usually associated with Microsoft Windows. The filename extension usually used in Microsoft Windows is ".INI", but in WBSP, files using the INI file format can use any extension, such as ".CFG", ".conf", or ".TXT".

The INI file structure is very simple. It contains parameters grouped in sections and every parameter has a name and a value, delimited by an equals sign (=). The sections are defined in a line by itself, in square brackets ([ and ]). All parameters below the section definition are members of that section.

[Section]
parameter = value
WhizBase uses two functions for reading INI files:
$WBGV
$WBGS


read more

Configuration file format

Configuration file uses the same format as configuration section of WBSP files. WhizBase uses following model for modifying values stored in configuration files.
[WB_Section]
WB_KeyName=WB_KeyValue

HTUSER ($WBFN)

Availability
HTUSER is available for use with all WBSP commands when authentication is used.
Syntax
$WBFN{HTUSER}
$WBFN[HTUSER]

ArgumentsHTUSER function does not have any arguments.
 
Returns
User name used for authentication (WB_HTUsr).

read more

Tuesday, October 19, 2010

HTTP

These variables are used to modify the default content of a HTTP header sent to the client. They can be very powerful tools in building complex web solutions.
WB_HTTPHeader
WB_AddCookie
WB_ContentType
WB_Redirect

read more

HTPASS ($WBFN)

Availability
HTPASS is available for use with all WBSP commands when authentication is used.
Syntax
$WBFN{HTPASS}
$WBFN[HTPASS]

ArgumentsHTPASS function does not have any arguments.
 
Returns
Password used for authentication (WB_HTPass).

read more

HTAccess File

HTAccess file is ordinary ASCII text file that contains WhizBase variables WB_Realm, WB_LoginPage and username/password pairs, organized by following structure:
[Authentication]
WB_AuthType=type (valid settings B-Basic, C-Cookie)
WB_LoginFile=filename (ignored if WB_AuthType=B)
WB_Realm=Realm

[AuthUsers]
username=password
username1=password1
...
usernameN=passwordN

For security reasons we strongly recommend to use wbsp extension for HTAccess file and to add WB_Command=R and in it.
e.g.
[FormFields]
WB_Command=R
[Authentication]
WB_HTAccess=C
WB_LoginFile=/login.htm
[AuthUsers]
username=password
username1=password1


You can not read content of this file!

You can also use aut extension and set the server to handle  files with that extension by WBSP and do not change HiddeDocuments SSC variable, or you can place HTAccess file above wwwroot directory and use absolute path. For this you have to change AbsolutePath SSC variable.

read more

How to...

This section contains step-by-step instructions on how to complete basic tasks using WhizBase.
Displaying records from database table
Uploading files

read more

HiddenEnvVars

HiddenEnvVars=envlist

This variable contains the comma-separated list of environment variables that will be hidden, i.e. author will not be able to use $wbe function with those variables. Default value is *, what means that all environment variables will be hidden. However, some of the environment variables are very important for developing advanced WBSP-powered sites, so it is good idea to hide only those environment variables that can be abused (e.g. PATH, COMP*, SYSTEM*, etc.)

Tuesday, October 5, 2010

HiddeDocuments

HiddeDocuments=extlist

This variable contains the comma-separated list of file extensions that will be hidden, i.e. if you configure server to handle files with those extensions by WBSP, WBSP will return HTTP error 404 (file not found). Default value is sr,aut,ic,inc, what means that include files (both inc and ic), subreports and authorization files will be hidden, as long as your server is configured to handle them with WBSP.exe same as files with wbsp extension.



read more

HEX ($WBFN)

Availability
HEX is available for use with all WBSP commands.
Syntax
$WBFN{HEX(decnumber)}
$WBFN[HEX(decnumber)]

Arguments
decnumber - any integer in range 0 to 2147483647.

Returns
A string representing the hexadecimal value of the number passed as an argument.
Example



Hexadecimal value of letter A is $wbfn[HEX(65)]!

Result
Hexadecimal value of letter A is 41! 
 

Header and Footer sections

Header and footer are subsections of detail section. When used they must be placed on the very beginning (header) and very end (footer) of the detail section. This means that nothing (HTML code, RTF tags, plain text, etc.) can not be placed between and and/or between and . This is an example of correctly placed header and footer (marked blue):





$wbsetv[countbooks|0]


This is the list of titles for year $wbf[year published]


$wbf[title] - $wbf[isbn]

$wbsetv[countbooks|$wbcalc[$wbgetv[countbooks]+1]]



Total books in $wbf[year published]:
$wbgetv[countbooks]



$wbsetv[countbooks|0]



Header and Footer sections will be processed and sent to the client before and after Detail section whenever any of referent fields change it's value (to learn more about referent fields please read the explanation for input variable WB_ChangeHFOn). Header and Footer sections will also be shown at the beginning of the Detail section for first record and at the end of the Detail section for last record on the report.

read more

Getting started

Although WBSP on your server can be configured to process files with any extension, to make usage of this tutorial easier we will assume that .wbsp extension is used.
For development purposes you will probably install WBSP locally, and this manual has installation instructions for many existing web servers including some very good freeware. If you have any problems with installing WBSP, please do not hesitate to contact us .

read more

Functions

Functions are WBSP placeholders with one or more arguments, separated with vertical line ( | ), and enclosed in square brackets or braces depending on WhizBase page section in which they are located and processing phase in which they should be processed. Based on this, functions use report syntax ($wbfnname[arg]) and input syntax ($wbfnname{arg}). To learn more about differences between these two syntax models, please read the next topic - Difference between report and input functions. All functions that have more than one argument (separated with |) can be written in multi-line form. However, none of the arguments can be broken in separate lines, unless it is also WhizBase function.
This is a list of WhizBase functions in alphabetical order:

$WBFormat $WBFU
$WBRF

read more

Tuesday, September 28, 2010

Format expression rules

A format expression for strings can have one section or two sections separated by a semicolon (;).
If you use The result is
One section only The format applies to all string data.
Two sections The first section applies to string data, the second to Null values and zero-length strings ("").
A user-defined format expression for numbers can have from one to four sections separated by semicolons. If the format argument contains one of the named numeric formats, only one section is allowed.

If you use The result is
One section only The format expression applies to all values.
Two sections The first section applies to positive values and zeros, the second to negative values.
Three sections The first section applies to positive values, the second to negative values, and the third to zeros.
Four sections The first section applies to positive values, the second to negative values, the third to zeros, and the fourth to Null values.



read moe

File related variables

These variables are used with WF and DF commands. In all other cases their values are ignored by WhizBase.
WB_FileName - This variable contains the file name of the DF (file will be deleted) and WF (key value will be written in file).
WB_KeyName - This variable contains the name(s) of the key(s) that will be changed/added/deleted using WF.
WB_KeyValue - This variable contains the value(s) for the key(s) that will be changed or added using WF.
WB_Section - This variable contains the name of the section containing the key that will be changed/added/deleted using WB_Command value WF.
WB_Separator - This variable contains the character which will be used to separate different entries in the WB_Keyname and WB_KeyValue variables.

read more

FileCommands

Syntax:FileCommands=On/Off
If this variable is set to True, WhizBase will process files that include writing and/or deleting files on server. It is strongly recommended not to set this variable to True together with AbsolutePath set to true, unless webmaster of virtual server is an experienced WhizBase developer. Default value is Off.

Example of use

FileCommands variable is used in Server configuration section, a configuration is set for all aliases of a single virtual host.
[wbsp.com]
DisableWB=F
AbsolutePath=On
Upload=On
FileCommands=On
Execute=JavaScript,VBScript,JScript
HiddenEnvVars=PATH,COMP*,System*
TimeOutSec=20
DefaultDocument=index.wbsp
ADOConnectionString=T
ActivateCGIByExt=wbsp
CGISecurityString=LhBv3KP
MaxInstances=0
HideDocuments=sr,aut,inc,ic,mdb
ScriptTimeOutSec=60

[dsd.ba]
DisableWB=F
AbsolutePath=Off
Upload=On
FileCommands=Off
Execute=VBScript
HiddenEnvVars=PATH,COMP*,System*,Win*
TimeOutSec=10
DefaultDocument=default.wbsp
ADOConnectionString=F
ActivateCGIByExt=wbsp
CGISecurityString=LhBv3KP
MaxInstances=10
 

FDT ($WBFN)

Availability
FDT is available for use with all WBSP commands.
Syntax

$WBFN[FDT(formatstring)]

Arguments
formatstring - any valid named or user-defined format string.

Returns
Current server date or time (depending on value of formatstring argument) formatted using formatstring.
Example


Today is $wbfn[fdt(dd-mmmm-yyyy)]!

Result
Today is 07-july-2008!

Execute

Execute=languagelist
This variable contains the comma-separated list of scripting languages that are allowed to be used on the virtual server. If this variable is empty then server-side scripting functionality of WBSP engine (using $wbrun function) will be disabled on that virtual host. There is no default value for this variable, so if administrator does not set the list, scripting will be disabled.
The next example will show usage of Execute in WBSP:
[default]
DisableWB=F
AbsolutePath=Off
Upload=Off
FileCommands=Off
Execute=JavaScript
HiddenEnvVars=PATH,COMP*,System*,Win*
TimeOutSec=10
DefaultDocument=index.wbsp
ADOConnectionString=F
ActivateCGIByExt=wbsp
CGISecurityString=LhBv3KP
MaxInstances=30
HideDocuments=sr,ic,inc,aut,mdb,dbf

Monday, September 27, 2010

Exceptions

WhizBase function $WBINC can not accept other WhizBase functions as arguments, but there is a similar function - $WBRINC that can be used when you need to process the function's arguments.

read more

Error message tags

Error message tags are WBSP placeholders for various parts of an error message. They are not intended to be used on the ordinary WBSP pages nor in normal circumstances, but in error template file (defined by WB_ErrFile variable and sent to client when error occurs). Their purpose is to format and/or hide some of the error details. Also, when output type (Content-type) is not text/html they can be used to generate proper error report (e.g. XML, XHTML, WML, RTF, etc.)
$WBERRDESC - Full error description including error message and error number.
$WBERRMSG - Text-only error description without error number.
$WBERRNUM - Error number, without any text message.
$WBERRMAIL - Email address specified in WB_ErrMail form field for current WBSP file.

read more

Error reporting

These variables are used for formatting error reports.
WB_ErrMail

read more

Error messages

Common system errors - These errors are not specific to WhizBase but the are related to system configuration, disk/file access permissions and regional settings.
Database errors - These errors are not specific to WhizBase but they are related to database usage. Their error numbers are between 3000 and 3999 and they can also have a negative error number.
WhizBase specific errors - Errors with error numbers between 5000 and 5999 are specific to WhizBase only.

read more

Displaying records from database table

The easiest (and fastest) way for displaying the database records is shown in following example:
[FormFields]
wb_basename=biblio.mdb
wb_rcdset=Titles
WB_Command=Q
WB_TempName=$default$
This will produce simplest report containing all fields from table Titles in a HTML table, on a white background, broken in pages containing 20 records per page. This report is not completely useless and usually is used for testing purposes.
However, to make report a little bit nicer we will do small changes in previous example:
[FormFields]
wb_basename=biblio.mdb
wb_rcdset=Titles
WB_Command=Q
WB_MaxRec=10




Simple database example


$wbdetail[t]
Now we have added some title to the report and some HTML formatting using $WBDetail[T] function and CSS styles. We also changed the number of records per page using WB_MaxRec.
With further modifications we can include Author's and Publisher's names instead of their ID numbers, and sort titles by year in descending order as shown in following example:
[FormFields]
wb_basename=biblio.mdb
WB_RcdSet=(Authors inner join titles on authors.au_id=titles.au_id) inner join publishers on publishers.pubid=titles.pubid
WB_DBFlds=Title,[Year Published],ISBN,Authors.Name as Author,publishers.Name as Publisher
WB_Command=Q
WB_MaxRec=10
WB_Order=[Year published] desc




Simple database example


$wbdetail[t]
To enable search though this recordset we should add the search form and modify the recordset definition as shown in following example:
[FormFields]
wb_basename=biblio.mdb
WB_RcdSet=(select Title,[Year Published],ISBN,Authors.Name as Author,publishers.Name as Publisher,Authors.Name,publishers.Name from (Authors inner join titles on authors.au_id=titles.au_id) inner join publishers on publishers.pubid=titles.pubid)
WB_Command=Q
WB_MaxRec=10
WB_Order=[Year published] desc




Simple database example
















$wbdetail[t]

This looks much better, but in some cases there is a need for placing the database field in a specific location on your report, or even not using HTML at all. In that case we do not use $WBDetail function but some (or all) of database field functions $WBF, $WBRF. In the following example we will modify the code so it will return previous recordset in XML format:
[FormFields]
wb_basename=biblio.mdb
WB_RcdSet=(Authors inner join titles on authors.au_id=titles.au_id) inner join publishers on publishers.pubid=titles.pubid
WB_DBFlds=Title,[Year Published],ISBN,Authors.Name as Author,publishers.Name as Publisher
WB_Command=Q
WB_MaxRec=$all$
WB_Order=[Year published] desc
WB_ContentType=text/xml



$wbmrepl[$wbf[Title]|',&|',&]
$wbf[year published]
$wbf[isbn]
$wbf[Author]
$wbf[Publisher]
We modified WB_MaxRec to special value $all$ (this will show all records from recordset in a single report page) and set the WB_ContentType variable to text/xml. Note that we also had to use $WBMREPL function to replace apostrophe and ampersand characters in field "Title".

read more

Wednesday, September 22, 2010

DisableWB

DisableWB=T/F

If this variable is set to True, WhizBase engine will not process WBSP files located on that specific virtual host, and error will be generated. Default value is False.
Example of use:
[default]
DisableWB=F
AbsolutePath=Off
Upload=Off
FileCommands=Off
Execute=JavaScript
HiddenEnvVars=PATH,COMP*,System*,Win*
TimeOutSec=10
DefaultDocument=index.wbsp
ADOConnectionString=F
ActivateCGIByExt=wbsp
CGISecurityString=LhBv3KP
MaxInstances=30
HideDocuments=sr,ic,inc,aut,mdb,dbf
The next example will disable usage of WBSP on all virtual hosts, but those that are defined in Servers section:
[default]
DisableWB=T


read more

Difference between report and input functions

WhizBase input functions are similar to the report functions. They have different syntax (input functions use general syntax $wbfnname {arg} instead of report functions - $wbfnname[arg]), but the main difference is in way of using them and when they are interpreted on server. Inserting server’s date/time in the database as record update time, for example, without input functions requires some serious work including unnecessary redirections and resource consuming.
Example:
If you put hidden field in your report like this
then, when WBSP engine process this report, this field has value of server's date/time when the page was sent to browser:
This field will have the same value even if the form is submitted hours later, what means that it is completely useless for tracking record update time.
However if you use same function in input syntax WhizBase will ignore it during report processing. To use same function as above, but this time in input syntax simply change the value as follows:
WBSP will ignore this function during report processing and visitor's browser will receive exactly the same code as you wrote it in report:
As an opposite from previous case it is of no importance how long you will wait before submitting this form. Once you submit the form WBSP will receive
06-avg-2010 10:34:14
as a value for WBF_LastUpdated form field, process it and write exact update time to DB field named LastUpdated.
Because input functions are processed  before opening the database it is not possible to use DB related functions as input functions (except $WBSR and $WBSRQ). Using these functions in input syntax will result with empty string.
Any WB form field can have input function in its value and they can be used both in HTML forms and WBSP files:
WB_Query=PageID=1
Or
 

Developer

Developer=registered developer name
This variable contains the name of the registered developer used in combination with RegCode variable. If valid combination of these two variables exists, virtual hosts do not need their own registration keys.


read more

Detail section

Detail section is everything located between and comments. When WBSP start processing the detail section, it moves the recrdset to the record defined in WB_StartRec variable, processes all tags and functions found in detail section, sends the resulting content to the client, moves the recordset to the next record and repeat the process for every record in record range (starting with record number WB_StartRec and ending with record number WB_StartRec + WB_MaxRec). It means that detail section will be repeated as many times as there is records in the range. It is very important to place and comments properly, because misplacing them can produce unwanted results.
Here's an example:




Titles


Year published Title ISBN
$wbf[Year published] $wbf[title] $wbf[ISBN]

$WBNavigator


When processed this WBSP page will produce a table with 3 columns and 20 rows containing filed values for Year published, Title and ISBN fields from table Titles.
However, if we misplace the and comments by putting them inside the structure, like this:




Titles


Year published Title ISBN
$wbf[Year published] $wbf[title] $wbf[ISBN]

$WBNavigator


we'll get a two rows table with 3 columns in first row and 60 columns in second row (3 columns for every record displayed).

read more

DF (WB_Command) - Delete file

Description
This command is used for irreversibly deleting file specified in variable WB_FileName. The file will not be sent to recycle bin, but deleted permanently.

read more

Monday, September 20, 2010

DU (WB_Command) - Delete DB user or group

Description
This command is used for deleting specified user (WB_DBUser) or specified group (WB_DBGroup) from workgroup file (WB_System). The result can be displayed using $WBAdmin[] tag.

read more

DG (WB_Command) - Delete DB user from group

Description
This command is used for deleting specified user (WB_DBUser) from specified group (WB_DBGroup)  in workgroup file (WB_System). The user will not be deleted from workgroup file, but simply will not be a member of the group. The result can be displayed using $WBAdmin[] tag.

read more

D (WB_Command) - Delete

Syntax: WB_Command=D
Description
This command is used for deleting the records from the database. When executed, it opens the recordset (variables WB_BaseName and WB_RcdSet must be defined when you use this command), deletes all records in the selected recordset and displays processed WBSP page or redirects client to URL defined in WB_Redirect variable.
Important: Delete command can and will permanently delete all the records that match the condition. We strongly recommend you to password-protect either your database (using MS Access system.md? file) or the WBSP page containing this command (using WB_HTAccess). To disable deletion of more than one record at the time define the WB_UID variable in WBSP page containing the DELETE command.

Example of use

Using addition with WB_Command in a WhizBase file.
[FormFields]
WB_BaseName=biblioA.mdb
WB_RcdSet=Titles
WB_Command=D
WB_UID=ID
WB_Redirect=default.wbsp
 
 

Default section

Default section contains configuration that will be applied to any virtual host that does not have its own configuration section.
Here's an example:
[default]
DisableWB=F
AbsolutePath=Off
Upload=Off
FileCommands=Off
Execute=JavaScript
HiddenEnvVars=PATH,COMP*,System*,Win*
TimeOutSec=10
DefaultDocument=index.wbsp
ADOConnectionString=F
ActivateCGIByExt=wbsp
CGISecurityString=LhBv3KP
MaxInstances=30
HideDocuments=sr,ic,inc,aut,mdb,dbf
The next example will disable usage of WBSP on all virtual hosts, but those that are defined in Servers section:
[default]
DisableWB=T
 

Default.inc

Special case of include file are files named default.inc. These files will always be included in search, even if there is no Include section defined in WBSP file. WBSP engine will try to read default.inc file located in same directory with WBSP file and, if that file does not exist or does not contain specified variable, it will proceed reading all default.inc files located in directories above current directory until wwwroot directory of virtual host is reached.  However, none of the files will be processed if WBSP engine finds the variable either in WBSP file itself or in other include files.

read more

Thursday, September 16, 2010

DefaultDocument

This variable contains the file name of default WBSP file defined in your server's configuration (e.g. index.html, index.htm, index.wbsp).
Some web server software can have problems recognizing the default document. If that is the case with your web server software than setting this variable will solve the problem. Default value is default.wbsp.

Example of use:

DefaultDocumentvariable is used in Server configuration section, a configuration is set for all aliases of a single virtual host.
[wbsp.com]
DisableWB=F
AbsolutePath=On
Upload=On
FileCommands=On
Execute=JavaScript,VBScript,JScript
HiddenEnvVars=PATH,COMP*,System*
TimeOutSec=20
DefaultDocument=index.wbsp
ADOConnectionString=T
ActivateCGIByExt=wbsp
CGISecurityString=LhBv3KP
MaxInstances=0
HideDocuments=sr,aut,inc,ic,mdb
ScriptTimeOutSec=60 

DB Administering

These variables are used to modify database and table permissions, users, groups and passwords for MS Access *.MDB databases. They can not be used with other database types including MS Access 2007 files (*.ACCDB).
WB_DBAddData
WB_DBAdmin
WB_DBDelData
WB_DBEditData
WB_DBGroup
WB_DBModDes
WB_DBNewPass
WB_DBNPassCh
WB_DBOldPass
WB_DBReadData
WB_DBReadDes
WB_DBUser
WB_PID

read more

Database reated functions

Because these functions work with recordset and input functions are processed before opening the database it is not possible to use all these functions in input syntax func{arg}. Functions that can be used in input syntax ($WBSR and $WBSRQ) have both syntax forms listed.
$WBDetail
$WBF
$WBRF
$WBFF
$WBFU
$WBFC
$WBSR
$WBSRQ

read more

DAY ($WBFN)

Availability
DAY is available for use with all WBSP commands.
Syntax
$WBFN{DAY}
$WBFN[DAY]

Arguments
DAY function does not have any arguments.
Returns
A whole number between 1 and 31, inclusive, representing the day of the month for current server date.
Example of use:
Use it in any WBSP file:


We are in the $wbfn[day]th day in the month!

Result
We are in the 6th day in the month!

read more 

DATE ($WBFN)

Availability
DATE is available for use with all WBSP commands.
Syntax
$WBFN{DATE}
$WBFN[DATE]

Arguments
DATE function does not have any arguments.
Returns
Current server date in short date format depending on server’s regional settings.
Example of use:
Use it in any WBSP file:


Today's date is $wbfn[date]!

Result
Today's date is 06.07.2010!

read more 

Wednesday, September 15, 2010

Database

These variables are used for configuring database-related parameters.
WB_BaseName
WB_Cdate
WB_Connect
WB_DBObject
WB_Having
WB_MaxPages
WB_MaxRec
WB_RcdSet
WB_ShowEmpty
WB_WholeWord
Recordset field value container: WBF_field

read more

Database related tags

Database related tags are WBSP keywords related to database operations.
$WBQUERY
$WBCQUERY
$WBDELETED
$WBRecordBreak 

read more

Database errors

These errors are not specific to WhizBase but they are related to database usage. Their error numbers are between 3000 and 3999 and they can also have a negative error number. If you can not find the explanation in this manual, please search the Internet using following search term:
error errornumber

read more

Configuraton section subsections

Configuration section contains definitions for WBSP variables needed for a specific task. It can have one or more subsections, depending on purpose of the WBSP page – Include, FormFields, Upload, MsgAndLbl, Referrer check, ErrorMessages and UserData.

read more

Configuration section

This section should be placed on top of the WBSP file and separated from rest of the file with comment. This way WBSP engine will not send anything from this section to the client (e.g. visitor's browser), and all variables and file paths will stay hidden from visitor. Configuration section contains definitions for WBSP variables needed for a specific task. It can have one to seven subsections, depending on purpose of the WBSP page – Include, FormFields, Upload, MsgAndLbl, Referrer check, ErrorMessages and UserData. To learn more about these sections please read the explanations for each section in chapter "Configuration section subsections".

Here's an example (configuration section is marked blue)




Titles


Year published Title ISBN
$wbf[Year published] $wbf[title] $wbf[ISBN]


$wbnavigator[]


Tuesday, September 14, 2010

CD (WB_Command) - Compact database

Description
This command is used for compacting MS Access database *.MDB file. Variable WB_BaseName is required.


read more

Common system errors

These errors are not specific to WhizBase but the are related to system configuration, disk/file access permissions and regional settings.

read more

Comments

WhizBase version 6 adds support for comments. To avoid mistakes and removing parts of programming code written in other programming techniques and/or languages WhizBase uses hash and asterisk characters for opening and asterisk and hash characters for closing of the comments:
e.g.

Multiline comments are supported in the body of the reports and subreports (below ), and in included files ($WBINC and $WBRINC).
If you want to comment the variables in the configuration section(s) use the single hash (without asterisk) at the beginning of the row containing the variable:
e.g.
#WB_TempName=$default$
the line above will be completely ignored by WhizBase
or use in the single row:
e.g.
WB_Query=ID>1 #* and Year=2006 *# and ID<100
the line above will be processed to:
WB_Query=ID>1  and ID<100
or use in multilines:
e.g.
Hello World #* Here is a greeting
it is a greeting that we programmers use for testing our codes *#
this is WhizBase.
the line above will be processed to:
Hello World
this is WhizBase.
Beside documenting purposes comments can help you in debugging your WhizBase code - simply comment the part you suspect that generates the error and test the page again.

read more

CHR ($WBFN)

Availability
CHR is available for use with all WBSP commands.
Syntax:
$WBFN[CHR(decnumber)]
Arguments
decnumber - any integer in range 0 to 255.
Description
This function returns a character from the ASCII code of a decimal number.

Example of use

Using $wbfn function with chr() to give a character from ASCII code 65.


Character with ASCII code 65 is $wbfn[chr(65)]!

Result
Character with ASCII code 65 is A
 

CP (WB_Command) - Change DB user password

Description
This command is used for setting a new password for specified user (WB_DBUser) in workgroup file (WB_System), using old password value (WB_DBOldPass) and new password value (WB_DBNewPass) that can be verified using control password value (WB_DBNPassCh). The result can be displayed using $WBAdmin[] tag.

read more