Change the indentation from two spaces to a tab.

This commit is contained in:
FusionPBX 2022-10-08 23:43:08 -06:00 committed by GitHub
parent 6081a34833
commit 263af5a76f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 125 additions and 125 deletions

View File

@ -23,165 +23,165 @@ Settings.__index = Settings
local NONE = '15783958-912c-4893-8866-4ccd1ca73c6e' local NONE = '15783958-912c-4893-8866-4ccd1ca73c6e'
local function append(t, v) local function append(t, v)
t[#t+1] = v t[#t+1] = v
return t return t
end end
local function append_setting(array, category, subcategory, name, value) local function append_setting(array, category, subcategory, name, value)
--add the category array --add the category array
if not array[category] then if not array[category] then
array[category] = {} array[category] = {}
end end
--add the subcategory array --add the subcategory array
if not array[category][subcategory] then if not array[category][subcategory] then
array[category][subcategory] = {} array[category][subcategory] = {}
end end
--set the name and value --set the name and value
if (name == "array") then if (name == "array") then
if not array[category][subcategory][name] then if not array[category][subcategory][name] then
array[category][subcategory][name] = {} array[category][subcategory][name] = {}
end end
append(array[category][subcategory][name], value); append(array[category][subcategory][name], value);
elseif value ~= nil then elseif value ~= nil then
array[category][subcategory][name] = value; array[category][subcategory][name] = value;
end end
end end
function Settings.new(db, domain_name, domain_uuid) function Settings.new(db, domain_name, domain_uuid)
local self = setmetatable({}, Settings) local self = setmetatable({}, Settings)
self._array = {} self._array = {}
self._db = db self._db = db
self._domain_name = domain_name self._domain_name = domain_name
self._domain_uuid = domain_uuid self._domain_uuid = domain_uuid
self._use_cache = not not cache.settings self._use_cache = not cache.settings
return self return self
end end
function Settings:_cache_key(category, subcategory, name) function Settings:_cache_key(category, subcategory, name)
return 'setting:' .. (self._domain_name or '') .. ':' .. category .. ':' .. subcategory .. ':' .. name return 'setting:' .. (self._domain_name or '') .. ':' .. category .. ':' .. subcategory .. ':' .. name
end end
function Settings:set(category, subcategory, name, value) function Settings:set(category, subcategory, name, value)
append_setting(self._array, category, subcategory, name, value) append_setting(self._array, category, subcategory, name, value)
return self return self
end end
function Settings:get(category, subcategory, name) function Settings:get(category, subcategory, name)
local a = self._array local a = self._array
local v = a[category] and a[category][subcategory] and a[category][subcategory][name] local v = a[category] and a[category][subcategory] and a[category][subcategory][name]
if v == NONE then return nil end if v == NONE then return nil end
if v ~= nil then return v end if v ~= nil then return v end
if self._use_cache then if self._use_cache then
local key = self:_cache_key(category, subcategory, name) local key = self:_cache_key(category, subcategory, name)
v = cache.get(key) v = cache.get(key)
if v then if v then
if v ~= NONE and name == 'array' then if v ~= NONE and name == 'array' then
v = split(v, '/+/', true) v = split(v, '/+/', true)
end end
self:set(category, subcategory, name, v) self:set(category, subcategory, name, v)
if v == NONE then return nil end if v == NONE then return nil end
return v return v
end end
end end
return self:_load(category, subcategory, name) return self:_load(category, subcategory, name)
end end
function Settings:_load(category, subcategory, name) function Settings:_load(category, subcategory, name)
local domain_uuid = self._domain_uuid local domain_uuid = self._domain_uuid
local db = self._db local db = self._db
if type(self._db) == 'string' then if type(self._db) == 'string' then
db = Database.new(self._db) db = Database.new(self._db)
end end
local found = false local found = false
--get the domain settings --get the domain settings
if domain_uuid then if domain_uuid then
local sql = "SELECT domain_setting_uuid,domain_setting_category,domain_setting_subcategory,domain_setting_name,domain_setting_value " local sql = "SELECT domain_setting_uuid,domain_setting_category,domain_setting_subcategory,domain_setting_name,domain_setting_value "
sql = sql .. "FROM v_domain_settings "; sql = sql .. "FROM v_domain_settings ";
sql = sql .. "WHERE domain_uuid = :domain_uuid "; sql = sql .. "WHERE domain_uuid = :domain_uuid ";
sql = sql .. "AND domain_setting_enabled = 'true' "; sql = sql .. "AND domain_setting_enabled = 'true' ";
sql = sql .. "AND domain_setting_category = :category "; sql = sql .. "AND domain_setting_category = :category ";
sql = sql .. "AND domain_setting_subcategory = :subcategory "; sql = sql .. "AND domain_setting_subcategory = :subcategory ";
sql = sql .. "AND domain_setting_name = :name "; sql = sql .. "AND domain_setting_name = :name ";
sql = sql .. "AND domain_setting_value is not null "; sql = sql .. "AND domain_setting_value is not null ";
sql = sql .. "ORDER BY domain_setting_category, domain_setting_subcategory ASC "; sql = sql .. "ORDER BY domain_setting_category, domain_setting_subcategory ASC ";
local params = { local params = {
domain_uuid = domain_uuid, domain_uuid = domain_uuid,
category = category, category = category,
subcategory = subcategory, subcategory = subcategory,
name = name, name = name,
}; };
db:query(sql, params, function(row) db:query(sql, params, function(row)
found = true; found = true;
self:set( self:set(
row.domain_setting_category, row.domain_setting_category,
row.domain_setting_subcategory, row.domain_setting_subcategory,
row.domain_setting_name, row.domain_setting_name,
row.domain_setting_value row.domain_setting_value
) )
end) end)
end end
--get default settings --get default settings
if not found then if not found then
local sql = "SELECT default_setting_uuid,default_setting_category,default_setting_subcategory,default_setting_name,default_setting_value " local sql = "SELECT default_setting_uuid,default_setting_category,default_setting_subcategory,default_setting_name,default_setting_value "
sql = sql .. "FROM v_default_settings "; sql = sql .. "FROM v_default_settings ";
sql = sql .. "WHERE default_setting_enabled = 'true' "; sql = sql .. "WHERE default_setting_enabled = 'true' ";
sql = sql .. "AND default_setting_category = :category "; sql = sql .. "AND default_setting_category = :category ";
sql = sql .. "AND default_setting_subcategory = :subcategory "; sql = sql .. "AND default_setting_subcategory = :subcategory ";
sql = sql .. "AND default_setting_name = :name "; sql = sql .. "AND default_setting_name = :name ";
sql = sql .. "AND default_setting_value is not null "; sql = sql .. "AND default_setting_value is not null ";
sql = sql .. "ORDER BY default_setting_category, default_setting_subcategory ASC"; sql = sql .. "ORDER BY default_setting_category, default_setting_subcategory ASC";
local params = { local params = {
category = category, category = category,
subcategory = subcategory, subcategory = subcategory,
name = name, name = name,
}; };
db:query(sql, params, function(row) db:query(sql, params, function(row)
found = true; found = true;
self:set( self:set(
row.default_setting_category, row.default_setting_category,
row.default_setting_subcategory, row.default_setting_subcategory,
row.default_setting_name, row.default_setting_name,
row.default_setting_value row.default_setting_value
) )
end) end)
end end
if type(self._db) == 'string' then if type(self._db) == 'string' then
db:release() db:release()
end end
--set empty value for unknown setting --set empty value for unknown setting
if not found then if not found then
self:set(category, subcategory, name, NONE) self:set(category, subcategory, name, NONE)
end end
local a = self._array local a = self._array
local v = a[category] and a[category][subcategory] and a[category][subcategory][name] local v = a[category] and a[category][subcategory] and a[category][subcategory][name]
--store settings in cache --store settings in cache
if self._use_cache and cache.support() then if self._use_cache and cache.support() then
local key = self:_cache_key(category, subcategory, name) local key = self:_cache_key(category, subcategory, name)
local value = v local value = v
if v ~= NONE and name == 'array' then if v ~= NONE and name == 'array' then
value = table.concat(v, '/+/') value = table.concat(v, '/+/')
end end
local exp = expire and expire["settings"] or 3600 local exp = expire and expire["settings"] or 3600
cache.set(key, value, exp) cache.set(key, value, exp)
end end
if v == NONE then return nil end if v == NONE then return nil end
return v return v
end end
end end