SysMgr.evalSystemSetup (param, admin)
function checks if the system parameters are correct

Sourcecode in SysMgr/objectFunctions.js:
1:   function evalSystemSetup(param, admin) {
2:      root.sys_title = param.sys_title;
3:      var sys_url = evalURL(param.sys_url);
4:      // make sure the sys_url ends with a slash, otherwise
5:      // the links to external stylesheets etc. won't work
6:      if (!sys_url.endsWith("/"))
7:         root.sys_url = sys_url + "/";
8:      else
9:         root.sys_url = sys_url;
10:     if (param.sys_frontSite) {
11:        var s = root.get(param.sys_frontSite);
12:        if (!s)
13:           throw new Exception("systemFrontsiteMissing");
14:        root.sys_frontSite = s;
15:     } else
16:        root.sys_frontSite = null;
17:     // check system email
18:     if (!param.sys_email)
19:        throw new Exception("systemEmailMissing");
20:     evalEmail(param.sys_email);
21:     root.sys_email = param.sys_email;
22:     // e-mail notification
23:     root.sys_allowEmails = param.sys_allowEmails ? parseInt(param.sys_allowEmails, 10) : null;
24:     // store selected locale in this.language and this.country
25:     if (param.locale) {
26:        var loc = param.locale.split("_");
27:        root.sys_language = loc[0];
28:        root.sys_country = loc.length == 2 ? loc[1] : null;
29:        root.cache.locale = null;
30:     }
31:     root.sys_timezone = param.timezone;
32:     root.cache.timezone = null;
33:     // long dateformat
34:     root.longdateformat = param.longdateformat ? param.longdateformat : null;
35:     // short dateformat
36:     root.shortdateformat = param.shortdateformat ? param.shortdateformat : null;
37:     // allow file
38:     root.sys_allowFiles = param.sys_allowFiles ? true : false;
39:     // disk quota
40:     root.sys_diskQuota = parseInt(param.sys_diskQuota, 10);
41:     // limiting site-creation
42:     root.sys_limitNewSites = param.sys_limitNewSites ? parseInt(param.sys_limitNewSites, 10) : null;
43:     root.sys_minMemberAge = param.sys_minMemberAge ? parseInt(param.sys_minMemberAge, 10) : null;
44:     root.sys_minMemberSince = param.sys_minMemberSince ? param.sys_minMemberSince.toDate("yyyy-MM-dd HH:mm", root.getTimeZone()) : null;
45:     root.sys_waitAfterNewSite = param.sys_waitAfterNewSite ? parseInt(param.sys_waitAfterNewSite, 10) : null;
46:     // auto-cleanup
47:     root.sys_enableAutoCleanup = param.sys_enableAutoCleanup ? true : false;
48:     root.sys_startAtHour = parseInt(param.sys_startAtHour, 10);
49:     // auto-block
50:     root.sys_blockPrivateSites = param.sys_blockPrivateSites ? true : false;
51:     root.sys_blockWarningAfter = param.sys_blockWarningAfter ? parseInt(param.sys_blockWarningAfter, 10) : null;
52:     root.sys_blockAfterWarning = param.sys_blockAfterWarning ? parseInt(param.sys_blockAfterWarning, 10) : null;
53:     // auto-removal
54:     root.sys_deleteInactiveSites = param.sys_deleteInactiveSites ? true : false;
55:     root.sys_deleteWarningAfter = param.sys_deleteWarningAfter ? parseInt(param.sys_deleteWarningAfter, 10) : null;
56:     root.sys_deleteAfterWarning = param.sys_deleteAfterWarning ? parseInt(param.sys_deleteAfterWarning, 10) : null;
57:     // set the default layout
58:     if (param.layout)
59:        root.layouts.setDefaultLayout(param.layout);
60:     // call the evalSystemSetup method of every module
61:     for (var i in app.modules)
62:        this.applyModuleMethod(app.modules[i], "evalSystemSetup", param);
63:  
64:     // add a new entry in system-log
65:     this.syslogs.add(new SysLog("system", null, "changed system setup", session.user));
66:     // everything fine, so we assign true to root.sys_issetup
67:     root.sys_issetup = true;
68:     return new Message("systemUpdate");
69:  }