def render(self, request):
		hostname = ucr.get('hostname', '')
		domainname = ucr.get('domainname', '')
		server = '%s.%s' % (hostname, domainname)
		validity_host = int(ucr.get('ssl/validity/host', '0')) * 24 * 60 * 60 * 1000
		validity_root = int(ucr.get('ssl/validity/root', '0')) * 24 * 60 * 60 * 1000

		return dict(result=dict(
			umc_version=get_umc_version(),
			ucs_version=get_ucs_version(),
			server=server,
			ssl_validity_host=validity_host,
			ssl_validity_root=validity_root
		))
	def render(self, request):
		ucr.load()
		response = {}
		for key in request.options:
			if key.endswith('*'):
				response.update(self.get_values_for(key[:-1]))
			else:
				response[key] = ucr.get(key)
		return dict(result=response)
	def min_free_space(self):
		return int(ucr.get('umc/server/upload/min_free_space', 51200))  # kilobyte
	def max_upload_size(self):
		return int(ucr.get('umc/server/upload/max', 64)) * 1024
	def sso_timeout(self):
		return int(ucr.get('umc/web/sso/timeout', 15))
	def get_values_for(self, key):
		return dict((var, ucr.get(var)) for var in ucr.keys() if var.startswith(key))
	def interface(self):
		return ucr.get('umc/http/interface', '127.0.0.1')
	def default_locale(self):
		return ucr.get('locale/default', 'C').split(':')[0]
	def port(self):
		return int(ucr.get('umc/http/port', 6670))  # 8090
	def ssl_port(self):
		return int(ucr.get('umc/https/port', 8443))
	def default_debug(self):
		return int(ucr.get('umc/server/debug/level', 2))
	def timeout(self):
		return max(15, int(ucr.get('umc/module/timeout', 300) or 300))
	def timeout(self):
		return max(15, int(ucr.get('umc/http/session/timeout', 600)))
	def debug_level(self):
		return int(ucr.get('umc/server/debug/level', 2))
	def default_debug(self):
		return int(ucr.get('umc/module/debug/level', 2))