rev |
line source |
bsw@734
|
1 -- ========================================================================
|
bsw@734
|
2 -- DO NOT CHANGE ANYTHING IN THIS FILE
|
bsw@734
|
3 -- (except when you really know what you are doing!)
|
bsw@734
|
4 -- ========================================================================
|
bsw@734
|
5
|
bsw@1130
|
6 config.app_version = "3.0.4"
|
bsw@731
|
7
|
bsw@905
|
8 if not config.password_hash_algorithm then
|
bsw@905
|
9 config.password_hash_algorithm = "crypt_sha512"
|
bsw@905
|
10 end
|
bsw@905
|
11
|
bsw@905
|
12 if not config.password_hash_min_rounds then
|
bsw@905
|
13 config.password_hash_min_rounds = 10000
|
bsw@905
|
14 end
|
bsw@905
|
15
|
bsw@905
|
16 if not config.password_hash_max_rounds then
|
bsw@905
|
17 config.password_hash_max_rounds = 20000
|
bsw@905
|
18 end
|
bsw@905
|
19
|
bsw@731
|
20 if config.enabled_languages == nil then
|
bsw@1128
|
21 config.enabled_languages = { 'en', 'de', 'ka' } --, 'eo', 'el', 'hu', 'it', 'nl', 'zh-Hans', 'zh-TW' }
|
bsw@731
|
22 end
|
bsw@731
|
23
|
bsw@731
|
24 if config.default_lang == nil then
|
bsw@731
|
25 config.default_lang = "en"
|
bsw@731
|
26 end
|
bsw@731
|
27
|
bsw@731
|
28 if config.mail_subject_prefix == nil then
|
bsw@731
|
29 config.mail_subject_prefix = "[LiquidFeedback] "
|
bsw@731
|
30 end
|
bsw@731
|
31
|
bsw@731
|
32 if config.member_image_content_type == nil then
|
bsw@731
|
33 config.member_image_content_type = "image/jpeg"
|
bsw@731
|
34 end
|
bsw@731
|
35
|
bsw@731
|
36 if config.member_image_convert_func == nil then
|
bsw@731
|
37 config.member_image_convert_func = {
|
bsw@731
|
38 avatar = function(data) return extos.pfilter(data, "convert", "jpeg:-", "-thumbnail", "48x48", "jpeg:-") end,
|
bsw@731
|
39 photo = function(data) return extos.pfilter(data, "convert", "jpeg:-", "-thumbnail", "240x240", "jpeg:-") end
|
bsw@731
|
40 }
|
bsw@731
|
41 end
|
bsw@731
|
42
|
bsw@736
|
43 if config.locked_profile_fields == nil then
|
bsw@736
|
44 config.locked_profile_fields = {}
|
bsw@736
|
45 end
|
bsw@736
|
46
|
bsw@988
|
47 if config.check_delegations_default == nil then
|
bsw@988
|
48 config.check_delegations_default = "confirm"
|
bsw@988
|
49 end
|
bsw@988
|
50
|
bsw@1071
|
51 if config.ldap == nil then
|
bsw@1071
|
52 config.ldap = {}
|
bsw@1071
|
53 end
|
bsw@1071
|
54
|
bsw@732
|
55 if not config.database then
|
bsw@732
|
56 config.database = { engine='postgresql', dbname='liquid_feedback' }
|
bsw@732
|
57 end
|
bsw@732
|
58
|
bsw@729
|
59 request.set_404_route{ module = 'index', view = '404' }
|
bsw@729
|
60
|
bsw@729
|
61 request.set_absolute_baseurl(config.absolute_base_url)
|
bsw@729
|
62
|
bsw@729
|
63 -- TODO abstraction
|
bsw@729
|
64 -- get record by id
|
bsw@729
|
65 function mondelefant.class_prototype:by_id(id)
|
bsw@729
|
66 local selector = self:new_selector()
|
bsw@729
|
67 selector:add_where{ 'id = ?', id }
|
bsw@729
|
68 selector:optional_object_mode()
|
bsw@729
|
69 return selector:exec()
|
bsw@729
|
70 end
|
bsw@729
|
71
|
bsw@1145
|
72 -- compatibility for WebMCP 1.2.6
|
bsw@1145
|
73 if not listen then
|
bsw@1145
|
74
|
bsw@1160
|
75 WEBMCP_BASE_PATH = request.get_app_basepath()
|
bsw@1161
|
76
|
bsw@1161
|
77 -- workaround bug in WebMCP 1.2.6
|
bsw@1161
|
78 if not string.find(WEBMCP_BASE_PATH, "/$") then
|
bsw@1161
|
79 WEBMCP_BASE_PATH = WEBMCP_BASE_PATH .. "/"
|
bsw@1161
|
80 end
|
bsw@1160
|
81
|
bsw@1145
|
82 -- open and set default database handle
|
bsw@1145
|
83 _G.db = assert(mondelefant.connect(config.database))
|
bsw@1145
|
84
|
bsw@1145
|
85 function mondelefant.class_prototype:get_db_conn() return db end
|
bsw@1145
|
86
|
bsw@1145
|
87 -- close the database at exit
|
bsw@1145
|
88 at_exit(function()
|
bsw@1145
|
89 db:close()
|
bsw@1145
|
90 end)
|
bsw@1145
|
91
|
bsw@1145
|
92 function request.get_cookie(args)
|
bsw@1145
|
93 return cgi.cookies[args.name]
|
bsw@1145
|
94 end
|
bsw@1145
|
95
|
bsw@1145
|
96 function request.get_param(args)
|
bsw@1145
|
97 return request.get_param_strings()[args.name]
|
bsw@1145
|
98 end
|
bsw@1145
|
99
|
bsw@1145
|
100 function request.add_header(key, value)
|
bsw@1145
|
101 print(key .. ": " .. value)
|
bsw@1145
|
102 end
|
bsw@1145
|
103
|
bsw@1145
|
104 local request_redirect = request.redirect
|
bsw@1145
|
105 function request.redirect(args)
|
bsw@1145
|
106 if args.static then
|
bsw@1145
|
107 print('Location: ' .. encode.url{ static = args.static } .. '\n\n')
|
bsw@1145
|
108 exit()
|
bsw@1145
|
109 else
|
bsw@1145
|
110 request_redirect(args)
|
bsw@1145
|
111 end
|
bsw@1145
|
112 end
|
bsw@1145
|
113
|
bsw@1147
|
114 function request.allow_caching()
|
bsw@1147
|
115 request.add_header("Cache-Control", "max-age=3600");
|
bsw@1147
|
116 end
|
bsw@1147
|
117
|
jbe@1167
|
118 end
|