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@734
|
6
|
bsw@731
|
7 config.app_version = "2.beta12"
|
bsw@731
|
8
|
bsw@731
|
9 if
|
bsw@731
|
10 not config.app_service_provider or
|
bsw@731
|
11 not config.use_terms or
|
bsw@731
|
12 not config.use_terms_checkboxes
|
bsw@731
|
13 then
|
bsw@731
|
14 error("Missing mandatory config option")
|
bsw@731
|
15 end
|
bsw@731
|
16
|
bsw@731
|
17 if config.enabled_languages == nil then
|
bsw@731
|
18 config.enabled_languages = { 'en', 'de', 'eo', 'el', 'hu' }
|
bsw@731
|
19 end
|
bsw@731
|
20
|
bsw@731
|
21 if config.default_lang == nil then
|
bsw@731
|
22 config.default_lang = "en"
|
bsw@731
|
23 end
|
bsw@731
|
24
|
bsw@731
|
25 if config.mail_subject_prefix == nil then
|
bsw@731
|
26 config.mail_subject_prefix = "[LiquidFeedback] "
|
bsw@731
|
27 end
|
bsw@731
|
28
|
bsw@731
|
29 if config.absolute_base_url == nil then
|
bsw@731
|
30 config.absolute_base_url = request.get_relative_baseurl()
|
bsw@731
|
31 end
|
bsw@731
|
32
|
bsw@731
|
33 if config.member_image_content_type == nil then
|
bsw@731
|
34 config.member_image_content_type = "image/jpeg"
|
bsw@731
|
35 end
|
bsw@731
|
36
|
bsw@731
|
37 if config.member_image_convert_func == nil then
|
bsw@731
|
38 config.member_image_convert_func = {
|
bsw@731
|
39 avatar = function(data) return extos.pfilter(data, "convert", "jpeg:-", "-thumbnail", "48x48", "jpeg:-") end,
|
bsw@731
|
40 photo = function(data) return extos.pfilter(data, "convert", "jpeg:-", "-thumbnail", "240x240", "jpeg:-") end
|
bsw@731
|
41 }
|
bsw@731
|
42 end
|
bsw@731
|
43
|
bsw@734
|
44 if config.public_access == nil then
|
bsw@734
|
45 config.public_access = "full"
|
bsw@734
|
46 end
|
bsw@734
|
47
|
bsw@736
|
48 if config.locked_profile_fields == nil then
|
bsw@736
|
49 config.locked_profile_fields = {}
|
bsw@736
|
50 end
|
bsw@736
|
51
|
bsw@732
|
52 if not config.database then
|
bsw@732
|
53 config.database = { engine='postgresql', dbname='liquid_feedback' }
|
bsw@732
|
54 end
|
bsw@732
|
55
|
bsw@729
|
56 request.set_404_route{ module = 'index', view = '404' }
|
bsw@729
|
57
|
bsw@729
|
58 -- open and set default database handle
|
bsw@734
|
59 db = assert(mondelefant.connect(config.database))
|
bsw@729
|
60 at_exit(function()
|
bsw@729
|
61 db:close()
|
bsw@729
|
62 end)
|
bsw@729
|
63 function mondelefant.class_prototype:get_db_conn() return db end
|
bsw@729
|
64
|
bsw@729
|
65 -- enable output of SQL commands in trace system
|
bsw@729
|
66 function db:sql_tracer(command)
|
bsw@729
|
67 return function(error_info)
|
bsw@729
|
68 local error_info = error_info or {}
|
bsw@729
|
69 trace.sql{ command = command, error_position = error_info.position }
|
bsw@729
|
70 end
|
bsw@729
|
71 end
|
bsw@729
|
72
|
bsw@729
|
73 request.set_absolute_baseurl(config.absolute_base_url)
|
bsw@729
|
74
|
bsw@729
|
75
|
bsw@729
|
76 -- TODO abstraction
|
bsw@729
|
77 -- get record by id
|
bsw@729
|
78 function mondelefant.class_prototype:by_id(id)
|
bsw@729
|
79 local selector = self:new_selector()
|
bsw@729
|
80 selector:add_where{ 'id = ?', id }
|
bsw@729
|
81 selector:optional_object_mode()
|
bsw@729
|
82 return selector:exec()
|
bsw@729
|
83 end
|
bsw@729
|
84
|