CONFIG
NAME
config - return extenso config
SYNOPSIS
config()
DESCRIPTION
This variable contains extenso configuration:
- filename : filename of the configuration
- project : project name
- root : root (/usr/local/website/sednove)
- site : staging or html
- dbuser
- dbhost
- dbpass
- dbname
- source : execution by http or sncode
- post_max : Contains maximum number of byte for post data.
Starting at version 5.54 config also return the following information:
- version : current version of Sncode
- timeout : timeout for a request in second
- log : directory where information about the request is saved and a lot more. Slow everything.
- module: associative array of module name for each external module containing:
- init : init function
- library : library loaded
- version : version of the module
- child_init : child init function
Starting at version 5.67
- variable : variable is use to pass a json string. The string is evaluated (unstringnify) when config is called the first time.
PARAMETERS
none
RETURN
Returns a context variable containing extenso config info.
EXAMPLE
This function config() is returning the information in the following config file, usually located at the folder that puts all the websites:
#
# Project name
#
Project : "v5" # Name of project
WebsiteRoot : "/usr/local/website/v5" # Root of project ; No ending slash
Locale : "fr_CA.utf8" # Locale used in program
Postmax : "64000" # Maximum number of bytes for a post
#
# Database connection
#
Database default {
Host : "localhost" # Server name
Name : "v5"
User : "v5"
Password : "v5"
charset : "utf8"
}
# Timeout for a request
Timeout : "5"
#
# List of modules
#
Module curl {
Library : "/usr/local/lib/libsncurl.so"
Init : "sncurl_init"
}
Module exif {
Library : "/usr/local/lib/libsnexif.so"
Init : "snexif_init"
}
Module geoip {
Library : "/usr/local/lib/libsngeoip.so"
Init : "sngeoip_init"
}
Module geoip2 {
Library : "/usr/local/lib/libsngeoip2.so"
Init : "sngeoip2_init"
}
Module gd {
Library : "/usr/local/lib/libsngd.so"
Init : "sngd_init"
}
Module hash {
Library : "/usr/local/lib/libsndbhash.so"
Init : "sndbhash_init"
}
Module xml {
Library : "/usr/local/lib/libsnxml.so"
Init : "snxml_init"
}
Module exemple {
Library : "/usr/local/lib/libsnexemple.so"
Init : "snexemple_init"
ChildInit : "snexemple_child_init"
vara : "valuea"
varb : "valueb"
}
#
# Preload these functions
#
Preload : "/usr/local/website/v5/extenso/functions/preload.snc"
#Preload : ""
#
# Default error file
#
Error : "/usr/local/website/v5/html/tests/error.snc"
#
# Index file
#
Index : ".snc,.sn,index.sn"
#
# Log directory if needed
#
#Log : "/extenso_logs/"
#
#
# variable json style
#
variable {
"x" : 5,
"y" : [1,2,3]
}
# Do no esc cgidata
esc_cgidata : "false"
SEE ALSO
{{ include("includes/variables.sn") }}
AUTHOR
Written by Pierre Laplante, <laplante@sednove.com>
MODIFICATIONS
1.0 2014-09-09 21:24:14 laplante@sednove.com
1.1 2016-04-01 laplante@sednove.com support for version and module starting at version 5.54
1.2 2016-07-27 laplante@sednove.com Add support for variable
1.3 2017-11-17 laplante@sednove.com source is suppoted since version 5.90
Edit