Back to index

wims  3.65+svn20090927
Classes | Defines | Functions | Variables
config.c File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  CONFIG_DATA

Defines

#define MAIN_CONFIG_NO   (sizeof(main_config)/sizeof(main_config[0]))
#define RESOURCE_NO   (sizeof(resource_table)/sizeof(resource_table[0]))
#define MODULE_DEFAULT_NO   (sizeof(module_default)/sizeof(module_default[0]))
#define MODINDEX_NO   (sizeof(modindex)/sizeof(modindex[0]))
#define MODSPEC_NO   (sizeof(module_special_file)/sizeof(module_special_file[0]))

Functions

void language_list (void)
void determine_ref_name (void)
void main_configure (void)
void set_rlimits (void)
void module_configure (void)
unsigned long create_job_ident (void)
void set_job_ident (void)
void define_html_header (void)
void setsesdir (char *d)

Variables

int VAR_DEF_LENGTH_LIMIT = 50000
int SUBST_LIMIT = 16
int GOTO_LIMIT = 500000
int INS_LIMIT = 500
int ANIM_LIMIT = 400
int MODULE_LOG_LIMIT = 102400
int GEN_LOG_LIMIT = 1024000
int OLD_LOG_FILES = 2
int threshold1 = 150
int threshold2 = 300
int ispriority = 0
int idle_time = 5400
int idle_time2 = 2400
int idle_time3 = 900
int rafalvl = 10
int DEFAULT_COMPARE_PRECISION = 10000
int DEFAULT_PRINT_PRECISION = 8
char * DEFAULT_INS_FORMAT = "gif"
char * DEFAULT_ANIM_FORMAT = "gif"
char * DEFAULT_INS_DENSITY = "100x100"
char * DEFAULT_INSPLOT_FONT = "small"
char * gnuplot_format = "gif"
char * site_manager = "wims@$httpd_HTTP_HOST"
char * config_file = "../log/wims.conf"
char PATH [512]
char * commonpath = "/usr/local/bin:/usr/bin:/usr/games:/bin:/usr/bin/X11:/usr/X11R6/bin:/opt/teTeX/bin"
char * gap_command = "gap.sh -T"
char * maxima_command = "maxima"
char * mupad_command = "/usr/local/lib/mupad/share/bin/mupad"
char * pari_command = "gp -f -q -p 150000"
char site_langbuf [] = "en fr cn es it nl"
char * site_languages = site_langbuf
char * show_stat = "no"
char * show_author = "no"
char * show_ip = "yes"
char * busyhours = ""
char * theme = "default"
char session_dir [MAX_FNAME+1]
char s2_dir [MAX_FNAME+1]
char * html_header = "html/header.phtml"
char * module_about_file = "html/module_about"
char * title_page = "title.phtml"
char * header_menu = "headmenu.phtml"
char * header_menu_user = "headmenu_user.phtml"
char * header_menu_supervisor = "headmenu_supervisor.phtml"
char * home_referer = "homeref.phtml"
char * home_referer_user = "homeref_user.phtml"
char * home_referer_supervisor = "homeref_supervisor.phtml"
char * ref_bgcolor = "#d0c080"
int modlog = 0
char var_def_file [256]
char * var_init_file = "var.init"
char * main_var_proc_file = "var.proc"
char * html_file = "main.phtml"
char * intro_file = "intro.phtml"
char * ref_file = "wims_ref.phtml"
char * insdraw_processor = "insdraw..processor"
char * insplot_processor = "insplot..processor"
char * tex2gif = "bin/tex..gif"
char * priority = ""
char * texgif_fontdir = "w/texgif"
char * texgif_texheader = "mathfonts/header"
char * bgcolor = "#E8E8E8"
char * bgimg = ""
char * pagecss = "-theme-"
char * theme_icon = "default"
char * usecookie = "no"
char * mail_opt = ""
char nodeip [256] = ""
char temp_log [MAX_FNAME+1]
int mathalign_base = 0
int backup_hour = -1
int site_accounting = 0
int examlog_limit = 7
char * mu_auto = "none"
char * mu_cat = "all"
char * mu_delay = "20"
char * mu_site = "http://wims.unice.fr/download/modules"
char * mu_zone = "all"
char * site_keywords = "interactive mathematics, interactive math, server side interactivity"
char * site_description = "interactive exercises, online calculators and plotters, mathematical recreation and games"
int class_quota = 100
int superclass_quota = 100
int doc_quota = 32
char * class_regpass = "email,email,deny"
char * doc_regpass = ""
char * sed_prog = "sed"
char * tr_prog = "tr"
char * awk_prog = "awk"
char * cgi_name = "wims.cgi"
char * aliased_cgi = "no"
char * aliased_getfile = "yes"
int class_limit = 200
int user_limit = 5000
int class_user_limit = 300
int forum_limit = 100
CONFIG_DATA main_config []
char hostname [256]
int html_call = 0
struct {
int rname
int * rval
resource_table []
struct {
char * name
int is_integer
void * default_value
module_default []
char * modindex []
char * module_special_file []

Class Documentation

struct CONFIG_DATA

Definition at line 193 of file config.c.

Class Members
void * address
int is_integer
char * name

Define Documentation

#define MAIN_CONFIG_NO   (sizeof(main_config)/sizeof(main_config[0]))

Definition at line 269 of file config.c.

#define MODINDEX_NO   (sizeof(modindex)/sizeof(modindex[0]))

Definition at line 559 of file config.c.

Definition at line 563 of file config.c.

Definition at line 511 of file config.c.

#define RESOURCE_NO   (sizeof(resource_table)/sizeof(resource_table[0]))

Definition at line 451 of file config.c.


Function Documentation

unsigned long create_job_ident ( void  )

Definition at line 644 of file config.c.

{
    unsigned long it;
    int i;
       /* Is this enough to guarantee uniqueness? */
    
    it=(nowtime<<16)+(getpid()&0xffff);
       /* The encryption is very simple. */
    it=it^0x5a3c9671;
    for(i=0;i<MAX_SESRANDOM;i++) sesrandomtab[i]=random();
    /* ensure that the result will be a 4-bytes integer */
    return it & 0xffff;
}

Here is the caller graph for this function:

void define_html_header ( void  )

Definition at line 673 of file config.c.

{
    char *expir, *sp, *cp, *mp;
    char buf[MAX_LINELEN+1],ebuf[128];
    char *nocache="<meta http-equiv=\"Pragma\" content=\"no-cache\">\n\
<meta http-equiv=\"Cache-Control\" content=\"no-cache\">\n";
    int noc;
    time_t t;

    noc=0; 
    cp=getvar("wims_expire"); if(cp!=NULL) goto css;
    if(!robot_access && cmd_type==cmd_intro && isclassmodule) {
       sp=getvar("special_parm"); if(sp==NULL) sp="";
       if(strcmp(sp,".nocache.")==0) {
           force_setvar("special_parm",""); noc=1;
       }
       if(!noc) {
           mp=getvar(ro_name[ro_module]);
           if(mp!=NULL && strncmp(mp,"devel/",strlen("devel/"))==0) noc=1;
       }
    }
    if(mode==mode_default) {
       if(!robot_access && (cmd_type!=cmd_intro || noc)) {
           if(html_call) {
              /* expiration in 1 day for html call. */
              t=nowtime+(long) 24*3600; expir=ctime(&t);
              nocache="";
           }
           else expir="1 Jan 1990";
       }
       else {
           /* expiration in 10 days for robot access or intro page. */
           t=nowtime+(long) 10*24*3600; expir=ctime(&t); nocache="";
       }
       snprintf(ebuf,sizeof(ebuf),"%s",expir); strip_trailing_spaces(ebuf);
       snprintf(buf,sizeof(buf),
               "<meta http-equiv=\"expires\" content=\"%s\">\n%s",ebuf,nocache);
       setvar("wims_expire",buf);
    }
    css: setvar("wims_CSS","");
    cp=getvar("wims_css");
    if(!robot_access && cp!=NULL && *cp!=0 && strstr(cp,"---")==NULL) {
       char *nbuf;
       cp=find_word_start(cp);
       if(strchr(cp,'/')==NULL) {
           char *pc, *th, *ti; int st=0;
           pc=getvar("wims_class");
           if(pc!=NULL && *pc!=0 && strcmp(cp,"class")==0) {
               nbuf=mkfname(NULL,"%s/%s/css",class_base,pc);
              th=getvar("class_theme");ti=getvar("class_theme_icon") ;
              if(th==NULL || *th==0) th=getvar("wims_theme"); st=1;
              if(ti==NULL || *ti==0) ti=getvar("wims_theme_icon");
           }
           else {
              nbuf=mkfname(NULL,"html/css/%s/%s.css",lang,cp);
              th=getvar("wims_theme");
              ti=getvar("wims_theme_icon");
           }
           if(strcmp(cp,"-theme-")==0 && strchr(th,'.')==NULL) {
              if(th==NULL || *th==0) th="default";
              nbuf=mkfname(NULL,"html/themes/%s/css.css",th);
           }
           if(readfile(nbuf,tmplbuf,sizeof(tmplbuf))) {
             if (st) {snprintf(buf,sizeof(buf),"<style type=\"text/css\"><!--\n\
%s\n\
--></style>",tmplbuf); }
                else {
                snprintf(buf,sizeof(buf),"<link href=\"%s\" rel=\"stylesheet\" type=\"text/css\">\n\
                <link href=\"gifs/themes/%s/icon.css\" rel=\"stylesheet\" type=\"text/css\">",nbuf,ti);
              }
              setvar("wims_CSS",buf);
           }
           else {
              
              
           }
       }
    }
    if(readfile(html_header,buf,sizeof(buf))) setvar("wims_html_header",buf);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void determine_ref_name ( void  )

Definition at line 290 of file config.c.

{
    char *s1, *s2, *p, *pl;
    char buf[MAX_LINELEN+1];

    hostname[0]=0;
    s1=getvar("httpd_HTTP_HOST");s2=getvar("httpd_SCRIPT_NAME");
    gethostname(hostname,sizeof(hostname));
    if(hostname[0]==0 && s1 && *s1!=0) mystrncpy(hostname,s1,sizeof(hostname));
    if(s1==NULL || *s1==0) s1=hostname;
    setvar("wims_myhostname",hostname);
    ref_base[0]=0;
    if(s2!=NULL) mystrncpy(buf,s2,sizeof(buf));
    else buf[0]=0; 
    if(s1!=NULL && *buf=='/') {
       p=strrchr(buf,'/'); if(p==NULL) p=buf; else *p++=0;
       if(strcmp(p,cgi_name)!=0 && strlen(p)>4 &&
          p[2]=='_' && islower(p[0]) && islower(p[1])) {
           pre_language[0]=p[0];pre_language[1]=p[1];pre_language[2]=0;
           p[2]=0; setenv("HTTP_ACCEPT_LANGUAGE",p,1); pl=p; p+=3;
           s2=strrchr(p,'.'); if(s2!=NULL) {
              *s2=0; if(strcasecmp(s2+1,"cgi")!=0) html_call=1;
           }
           s2=p; while((s2=strpbrk(s2,"@~"))!=NULL) *s2='/';
           if(strncmp(p,"doc/",4)==0) {
              char *pd, *pb;
              pd=p+4; 
              if(*pd) {
                  pb=strchr(pd,'/');
                  if(pb) *pb++=0; else pb="main";
                  setvar("doc",pd); setvar("block",pb); setvar("job","read");
              }
              setvar(ro_name[ro_module],mkfname(NULL,"adm/doc.%s",pl));
           }
           else setvar(ro_name[ro_module],p);
           module_defined=1;
       }
       p=strchr(buf,'_'); 
       if(p!=NULL && p>buf+3 && myislower(*(p-1)) && myislower(*(p-2))
          && *(p-3)=='/' && myisalpha(*(p+1))) {
           char *pp;
           for(pp=p+1; myisalnum(*pp); pp++); if(*pp=='/') *(p-3)=0;
       }
       snprintf(ref_name,sizeof(ref_name)-2,"http://%s%s/%s",s1,buf,cgi_name);
       mystrncpy(ref_base,ref_name,sizeof(ref_base)-2);
       p=strrchr(ref_base,'/');
       if(p!=NULL) *(p+1)=0;
    }
    else mystrncpy(ref_name,cgi_name,sizeof(ref_name)-1);
    setvar("wims_ref_name",ref_name);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void language_list ( void  )

Definition at line 272 of file config.c.

{
    int i,k;
    char *lbuf[MAX_LANGUAGES];
    calc_tolower(site_languages); items2words(site_languages);
    setvar("wims_site_languages",site_languages);
    i=cutwords(site_languages,lbuf,MAX_LANGUAGES);
    available_lang_no=i;
    for(i=k=0;i<available_lang_no;i++) {
       if(strlen(lbuf[i])==2) memmove(available_lang[k++],lbuf[i],3);
    }
    if(k>0) memmove(lang,available_lang[0],3);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void main_configure ( void  )

Definition at line 343 of file config.c.

{
    int i;
    char *conf_buf,*e,*p,*p2,*p3;
    char buf[MAX_LINELEN+1];
    
    conf_buf=readfile(config_file,NULL,WORKFILE_LIMIT);
    if(conf_buf==NULL) goto fileend;
    e=conf_buf-1; while(e) {
       p=e+1; e=strchr(p,'\n'); if(e) *e=0;
       p=find_word_start(p);
       if(*p==0 || *p==comment_prefix_char) continue; /* empty or comment line */
       p2=strchr(p,'=');
       if(p2==NULL) continue; /* syntax error */
       *p2=0; *find_word_end(p)=0; p2=find_word_start(p2+1);
       p3=p2+strlen(p2); while(myislspace(p3[-1])) p3--;
       while(p3[-1]=='\\') p3--; *p3=0;
       i=search_list(main_config,MAIN_CONFIG_NO,sizeof(main_config[0]),p);
       if(i<0) continue; /* name non-defined */
       if(main_config[i].is_integer==1) {
           int *ip;
           ip=main_config[i].address;
           *ip=atoi(p2); if(*ip<0) *ip=0;
       }
       else {
           char **cp;
           cp=main_config[i].address;
           *cp=p2;
       }
    }
    fileend:
    setenv("session_base_dir",session_dir,1);
    determine_ref_name();
    language_list();
    for(i=0;i<MAIN_CONFIG_NO;i++) {
       char **pp;
       if(main_config[i].is_integer==2) {
           pp=main_config[i].address;
           setenv(main_config[i].name,*pp,1);
       }
    }
       /* check priority */
    if(priority[0] && checkhost(priority)>0) ispriority=1;
    getcwd(cwdbuf,sizeof(cwdbuf)); setvar("httpd_PWD",cwdbuf);
    setenv("wims_server_base",cwdbuf,1);
    p=strrchr(cwdbuf,'/');
    if(p!=NULL && strcmp(p,"/public_html")==0) {
       *p=0; snprintf(PATH,sizeof(PATH),"%s/other/bin:%s",cwdbuf,commonpath);
       force_setvar("wims_home",cwdbuf);
       *p='/';
    }
    else {
       snprintf(PATH,sizeof(PATH),"%s/../other/bin:%s",cwdbuf,commonpath);
       force_setvar("wims_home",cwdbuf);
    }
    setenv("PATH",PATH,1);
    p=getvar("httpd_SERVER_SOFTWARE");
    if(p && (p2=strstr(p,"Apache"))!=NULL && strcmp(p2,"Apache/1.3")>=0
       && strstr(aliased_getfile,"yes")!=NULL)
      good_httpd=1;
    accessfile(buf,"r","../tmp/log/myip");
    *find_word_end(buf)=0;
    if(buf[0]) {
       snprintf(nodeip,sizeof(nodeip),"%s",buf);
       snprintf(temp_log,sizeof(temp_log),"%s.%s",TEMP_LOG_FILE,nodeip);
       force_setvar("wims_priv_nodeip",nodeip);
    }
    else {
       nodeip[0]=0;
       snprintf(temp_log,sizeof(temp_log),"%s",TEMP_LOG_FILE);
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void module_configure ( void  )

Definition at line 514 of file config.c.

{
    int i;
    confset=1;
    for(i=0;i<MODULE_DEFAULT_NO;i++) {
       if(module_default[i].is_integer) {
           int j, *jp;
           jp=module_default[i].default_value;
           j=*jp; if(j<0) j=0;
           setvar(module_default[i].name,int2str(j));
       }
       else {
           char **cp;
           cp=module_default[i].default_value;
           setvar(module_default[i].name,*cp);
       }
    }
    setenv("texgif_fontdir",texgif_fontdir,1);
    setenv("texgif_texheader",texgif_texheader,1);
    setvar("wims_texsize","0");
    confset=0;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void set_job_ident ( void  )

Definition at line 659 of file config.c.

{
    unsigned long l,r;
    
    l=create_job_ident();
    /* the last 4 bits always make 0xA. A bug of glibc random()? */
    r=random()>>4;
    snprintf(job_identifier,sizeof(job_identifier),"%lX%08lX",r,l);
    var_noexport=1;
    setvar("job_identifier",job_identifier);
    var_noexport=0;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void set_rlimits ( void  )

Definition at line 454 of file config.c.

{
    int i;
    struct rlimit rlim;
    
    for(i=0;i<RESOURCE_NO;i++) {
       rlim.rlim_cur=rlim.rlim_max=*(resource_table[i].rval);
       setrlimit(resource_table[i].rname,&rlim);
       if(resource_table[i].rname==RLIMIT_CPU) {
           setvar("wims_cpu_limit",int2str(rlim.rlim_max));
           initalarm();
       }
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void setsesdir ( char *  d)

Definition at line 754 of file config.c.

{
    char buf[MAX_FNAME+1];
    if(strstr(d,parent_dir_string)!=NULL) {
       force_setvar("wims_session",robot_session);
       mystrncpy(buf,robot_session,sizeof(buf));
       mkfname(session_dir,"../tmp");
       mkfname(s2_dir,"../tmp");
    }
    else {
       force_setvar("wims_session",d);
       snprintf(buf,sizeof(buf),"%s/%s",SESSION_BASE,d);
       mkfname(session_dir,"../%s",SESSION_BASE);
       /* mkfname(s2_dir,"../%s",S2_BASE); */
    }
    force_setvar("wims_sesdir",buf);
}

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

char* aliased_cgi = "no"

Definition at line 184 of file config.c.

char* aliased_getfile = "yes"

Definition at line 185 of file config.c.

int ANIM_LIMIT = 400

Definition at line 33 of file config.c.

char* awk_prog = "awk"

Definition at line 180 of file config.c.

int backup_hour = -1

Definition at line 154 of file config.c.

char* bgcolor = "#E8E8E8"

Definition at line 144 of file config.c.

char* bgimg = ""

Definition at line 145 of file config.c.

char* busyhours = ""

Definition at line 95 of file config.c.

char* cgi_name = "wims.cgi"

Definition at line 183 of file config.c.

int class_limit = 200

Definition at line 188 of file config.c.

int class_quota = 100

Definition at line 170 of file config.c.

char* class_regpass = "email,email,deny"

Definition at line 173 of file config.c.

int class_user_limit = 300

Definition at line 190 of file config.c.

char* commonpath = "/usr/local/bin:/usr/bin:/usr/games:/bin:/usr/bin/X11:/usr/X11R6/bin:/opt/teTeX/bin"

Definition at line 78 of file config.c.

char* config_file = "../log/wims.conf"

Definition at line 73 of file config.c.

char* DEFAULT_ANIM_FORMAT = "gif"

Definition at line 63 of file config.c.

Definition at line 58 of file config.c.

char* DEFAULT_INS_DENSITY = "100x100"

Definition at line 64 of file config.c.

char* DEFAULT_INS_FORMAT = "gif"

Definition at line 62 of file config.c.

char* DEFAULT_INSPLOT_FONT = "small"

Definition at line 65 of file config.c.

Definition at line 60 of file config.c.

int doc_quota = 32

Definition at line 172 of file config.c.

char* doc_regpass = ""

Definition at line 174 of file config.c.

int examlog_limit = 7

Definition at line 156 of file config.c.

int forum_limit = 100

Definition at line 191 of file config.c.

char* gap_command = "gap.sh -T"

Definition at line 80 of file config.c.

int GEN_LOG_LIMIT = 1024000

Definition at line 37 of file config.c.

char* gnuplot_format = "gif"

Definition at line 68 of file config.c.

int GOTO_LIMIT = 500000

Definition at line 29 of file config.c.

char* header_menu = "headmenu.phtml"

Definition at line 109 of file config.c.

char* header_menu_supervisor = "headmenu_supervisor.phtml"

Definition at line 111 of file config.c.

char* header_menu_user = "headmenu_user.phtml"

Definition at line 110 of file config.c.

char* home_referer = "homeref.phtml"

Definition at line 114 of file config.c.

char* home_referer_supervisor = "homeref_supervisor.phtml"

Definition at line 116 of file config.c.

char* home_referer_user = "homeref_user.phtml"

Definition at line 115 of file config.c.

char hostname[256]

Definition at line 286 of file config.c.

int html_call = 0

Definition at line 287 of file config.c.

char* html_file = "main.phtml"

Definition at line 130 of file config.c.

char* html_header = "html/header.phtml"

Definition at line 102 of file config.c.

int idle_time = 5400

Definition at line 47 of file config.c.

int idle_time2 = 2400

Definition at line 49 of file config.c.

int idle_time3 = 900

Definition at line 51 of file config.c.

int INS_LIMIT = 500

Definition at line 31 of file config.c.

char* insdraw_processor = "insdraw..processor"

Definition at line 138 of file config.c.

char* insplot_processor = "insplot..processor"

Definition at line 139 of file config.c.

char* intro_file = "intro.phtml"

Definition at line 132 of file config.c.

int ispriority = 0

Definition at line 44 of file config.c.

char* mail_opt = ""

Definition at line 149 of file config.c.

Definition at line 199 of file config.c.

char* main_var_proc_file = "var.proc"

Definition at line 128 of file config.c.

int mathalign_base = 0

Definition at line 153 of file config.c.

char* maxima_command = "maxima"

Definition at line 81 of file config.c.

char* modindex[]
Initial value:
{
      "address",
      "author",
      "category",
      "copyright",
      "data",
      "description",
      "domain",
      "help",
      "keywords",
      "language",
      "level",
      "mode",
      "require",
      "scoring",
      "title",
      "translator",
      "translator_address",
      "vardef",
      "version",
      "wims_version",
}

Definition at line 537 of file config.c.

int modlog = 0

Definition at line 120 of file config.c.

char* module_about_file = "html/module_about"

Definition at line 104 of file config.c.

struct { ... } module_default[]
int MODULE_LOG_LIMIT = 102400

Definition at line 35 of file config.c.

Initial value:
{
    "intro","help"
}

Definition at line 560 of file config.c.

char* mu_auto = "none"

Definition at line 159 of file config.c.

char* mu_cat = "all"

Definition at line 160 of file config.c.

char* mu_delay = "20"

Definition at line 161 of file config.c.

char* mu_site = "http://wims.unice.fr/download/modules"

Definition at line 162 of file config.c.

char* mu_zone = "all"

Definition at line 163 of file config.c.

char* mupad_command = "/usr/local/lib/mupad/share/bin/mupad"

Definition at line 82 of file config.c.

char nodeip[256] = ""

Definition at line 150 of file config.c.

int OLD_LOG_FILES = 2

Definition at line 39 of file config.c.

char* pagecss = "-theme-"

Definition at line 146 of file config.c.

char* pari_command = "gp -f -q -p 150000"

Definition at line 83 of file config.c.

char PATH[512]

Definition at line 74 of file config.c.

char* priority = ""

Definition at line 141 of file config.c.

int rafalvl = 10

Definition at line 53 of file config.c.

char* ref_bgcolor = "#d0c080"

Definition at line 118 of file config.c.

char* ref_file = "wims_ref.phtml"

Definition at line 134 of file config.c.

struct { ... } resource_table[]
char s2_dir[MAX_FNAME+1]

Definition at line 99 of file config.c.

char* sed_prog = "sed"

Definition at line 178 of file config.c.

Definition at line 99 of file config.c.

char* show_author = "no"

Definition at line 91 of file config.c.

char* show_ip = "yes"

Definition at line 93 of file config.c.

char* show_stat = "no"

Definition at line 89 of file config.c.

int site_accounting = 0

Definition at line 155 of file config.c.

char* site_description = "interactive exercises, online calculators and plotters, mathematical recreation and games"

Definition at line 167 of file config.c.

char* site_keywords = "interactive mathematics, interactive math, server side interactivity"

Definition at line 166 of file config.c.

char site_langbuf[] = "en fr cn es it nl"

Definition at line 86 of file config.c.

Definition at line 87 of file config.c.

char* site_manager = "wims@$httpd_HTTP_HOST"

Definition at line 71 of file config.c.

int SUBST_LIMIT = 16

Definition at line 26 of file config.c.

int superclass_quota = 100

Definition at line 171 of file config.c.

Definition at line 151 of file config.c.

char* tex2gif = "bin/tex..gif"

Definition at line 140 of file config.c.

char* texgif_fontdir = "w/texgif"

Definition at line 142 of file config.c.

char* texgif_texheader = "mathfonts/header"

Definition at line 143 of file config.c.

char* theme = "default"

Definition at line 97 of file config.c.

char* theme_icon = "default"

Definition at line 147 of file config.c.

int threshold1 = 150

Definition at line 42 of file config.c.

int threshold2 = 300

Definition at line 43 of file config.c.

char* title_page = "title.phtml"

Definition at line 106 of file config.c.

char* tr_prog = "tr"

Definition at line 179 of file config.c.

char* usecookie = "no"

Definition at line 148 of file config.c.

int user_limit = 5000

Definition at line 189 of file config.c.

char var_def_file[256]

Definition at line 124 of file config.c.

int VAR_DEF_LENGTH_LIMIT = 50000

Definition at line 24 of file config.c.

char* var_init_file = "var.init"

Definition at line 126 of file config.c.