jbe@326: request.set_absolute_baseurl(request.get_relative_baseurl())
jbe@326: -- request.set_absolute_baseurl("http://www.example.com/lf/")
jbe@326:
jbe@326: config.app_name = "LiquidFeedback"
jbe@326: config.app_version = "2.beta1"
jbe@326:
jbe@326: config.app_title = config.app_name .. " (" .. request.get_config_name() .. " environment)"
jbe@326:
jbe@326: config.app_logo = nil
jbe@326:
jbe@326: config.app_service_provider = "Snake Oil
10000 Berlin
Germany"
jbe@326:
jbe@326: --config.footer_html = 'some link'
jbe@326:
jbe@326: config.use_terms = "=== Terms of Use ===\nNothing is allowed."
jbe@326: --config.use_terms_html = ""
jbe@326:
jbe@326: config.use_terms_checkboxes = {
jbe@326: {
jbe@326: name = "terms_of_use_v1",
jbe@326: html = "I accept the terms of use.",
jbe@326: not_accepted_error = "You have to accept the terms of use to be able to register."
jbe@326: }
jbe@326: }
jbe@326:
jbe@326: config.locked_profile_fields = {
jbe@326: login = false,
jbe@326: notify_email = false,
jbe@326: name = false,
jbe@326: organizational_unit = false,
jbe@326: internal_posts = false,
jbe@326: realname = false,
jbe@326: birthday = false,
jbe@326: address = false,
jbe@326: email = false
jbe@326: }
jbe@326:
jbe@326: config.member_image_content_type = "image/jpeg"
jbe@326: config.member_image_convert_func = {
jbe@326: avatar = function(data) return os.pfilter(data, "convert", "jpeg:-", "-thumbnail", "48x48", "jpeg:-") end,
jbe@326: photo = function(data) return os.pfilter(data, "convert", "jpeg:-", "-thumbnail", "240x240", "jpeg:-") end
jbe@326: }
jbe@326:
jbe@326: config.member_image_default_file = {
jbe@326: avatar = "avatar.jpg",
jbe@326: photo = nil
jbe@326: }
jbe@326:
jbe@326: config.default_lang = "en"
jbe@326:
jbe@326: -- after how long is a user considered inactive and the trustee will see warning
jbe@326: -- notation is according to postgresql intervals
jbe@326: config.delegation_warning_time = '6 months'
jbe@326:
jbe@326: config.mail_subject_prefix = "[LiquidFeedback] "
jbe@326:
jbe@326: config.fastpath_url_func = nil
jbe@326:
jbe@326: config.download_dir = nil
jbe@326:
jbe@326: config.download_use_terms = "=== Nutzungsbedingungen ===\nAlles ist verboten"
jbe@326:
jbe@326: config.public_access = false -- Available options: "anonymous", "pseudonym"
jbe@326:
jbe@326: config.api_enabled = true
jbe@326:
jbe@326: config.feature_rss_enabled = false -- feature is broken
jbe@326:
jbe@326: config.single_unit_id = false
jbe@326:
jbe@326: -- OpenID authentication is not fully implemented yet, DO NOT USE BEFORE THIS NOTICE HAS BEEN REMOVED!
jbe@326: config.auth_openid_enabled = false
jbe@326: config.auth_openid_https_as_default = true
jbe@326: config.auth_openid_identifier_check_func = function(uri) return false end
jbe@326:
jbe@326: request.set_allowed_json_request_slots{ "title", "actions", "support", "default", "trace", "system_error" }
jbe@326:
jbe@326: if request.get_json_request_slots() then
jbe@326: request.force_absolute_baseurl()
jbe@326: end
jbe@326:
jbe@326: request.set_404_route{ module = 'index', view = '404' }
jbe@326:
jbe@326: -- uncomment the following two lines to use C implementations of chosen
jbe@326: -- functions and to disable garbage collection during the request, to
jbe@326: -- increase speed:
jbe@326: --
jbe@326: -- require 'webmcp_accelerator'
jbe@326: -- collectgarbage("stop")
jbe@326:
jbe@326: -- open and set default database handle
jbe@326: db = assert(mondelefant.connect{
jbe@326: engine='postgresql',
jbe@326: dbname='liquid_feedback_p'
jbe@326: })
jbe@326: at_exit(function()
jbe@326: db:close()
jbe@326: end)
jbe@326: function mondelefant.class_prototype:get_db_conn() return db end
jbe@326:
jbe@326: -- enable output of SQL commands in trace system
jbe@326: function db:sql_tracer(command)
jbe@326: return function(error_info)
jbe@326: local error_info = error_info or {}
jbe@326: trace.sql{ command = command, error_position = error_info.position }
jbe@326: end
jbe@326: end
jbe@326:
jbe@326:
jbe@326: -- TODO abstraction
jbe@326: -- get record by id
jbe@326: function mondelefant.class_prototype:by_id(id)
jbe@326: local selector = self:new_selector()
jbe@326: selector:add_where{ 'id = ?', id }
jbe@326: selector:optional_object_mode()
jbe@326: return selector:exec()
jbe@326: end
jbe@326:
jbe@326: config.formatting_engine_executeables = {
jbe@326: rocketwiki= "/opt/rocketwiki-lqfb/rocketwiki-lqfb",
jbe@326: compat = "/opt/rocketwiki-lqfb/rocketwiki-lqfb-compat"
jbe@326: }
jbe@326:
jbe@326: config.fastpath_url_func = function(member_id, image_type)
jbe@326: return request.get_absolute_baseurl() .. "fastpath/getpic?" .. tostring(member_id) .. "+" .. tostring(image_type)
jbe@326: end
jbe@326: