diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2009-03-22 14:24:20 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2009-03-22 14:24:20 +0000 |
commit | 26136ffd69c015e2ce8548058014985205257f53 (patch) | |
tree | 32ee20e2b36f2930f4d002135711c181a7c8ec05 /applications/luci-asterisk/luasrc | |
parent | 1f219001f5201426d617d4ab5112270c9bd429bd (diff) |
applications/luci-asterisk: add CC/IDD api
Diffstat (limited to 'applications/luci-asterisk/luasrc')
-rw-r--r-- | applications/luci-asterisk/luasrc/asterisk.lua | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/applications/luci-asterisk/luasrc/asterisk.lua b/applications/luci-asterisk/luasrc/asterisk.lua index 2967b42c0..7789cb4cf 100644 --- a/applications/luci-asterisk/luasrc/asterisk.lua +++ b/applications/luci-asterisk/luasrc/asterisk.lua @@ -15,6 +15,7 @@ $Id$ ]]-- module("luci.asterisk", package.seeall) +require("luci.asterisk.cc_idd") local _io = require("io") local uci = require("luci.model.uci").cursor() @@ -257,6 +258,112 @@ function tools.hyperlinks(list, url, sep) end +--- LuCI Asterisk - International Direct Dialing Prefixes +-- @type module +idd = luci.util.class() + +--- Lookup the country name for the given IDD code. +-- @param country String containing IDD code +-- @return String containing the country name +function idd.country(c) + for _, v in ipairs(cc_idd.CC_IDD) do + if type(v[3]) == "table" then + for _, v2 in ipairs(v[3]) do + if v2 == tostring(c) then + return v[1] + end + end + elseif v[3] == tostring(c) then + return v[1] + end + end +end + +--- Lookup the country code for the given IDD code. +-- @param country String containing IDD code +-- @return Table containing the country code(s) +function idd.cc(c) + for _, v in ipairs(cc_idd.CC_IDD) do + if type(v[3]) == "table" then + for _, v2 in ipairs(v[3]) do + if v2 == tostring(c) then + return type(v[2]) == "table" + and v[2] or { v[2] } + end + end + elseif v[3] == tostring(c) then + return type(v[2]) == "table" + and v[2] or { v[2] } + end + end +end + +--- Lookup the IDD code(s) for the given country. +-- @param idd String containing the country name +-- @return Table containing the IDD code(s) +function idd.idd(c) + for _, v in ipairs(cc_idd.CC_IDD) do + if v[1]:lower():match(c:lower()) then + return type(v[3]) == "table" + and v[3] or { v[3] } + end + end +end + + +--- LuCI Asterisk - International Direct Dialing Prefixes +-- @type module +cc = luci.util.class() + +--- Lookup the country name for the given CC code. +-- @param country String containing CC code +-- @return String containing the country name +function cc.country(c) + for _, v in ipairs(cc_idd.CC_IDD) do + if type(v[2]) == "table" then + for _, v2 in ipairs(v[2]) do + if v2 == tostring(c) then + return v[1] + end + end + elseif v[2] == tostring(c) then + return v[1] + end + end +end + +--- Lookup the international dialing code for the given CC code. +-- @param cc String containing CC code +-- @return String containing IDD code +function cc.idd(c) + for _, v in ipairs(cc_idd.CC_IDD) do + if type(v[2]) == "table" then + for _, v2 in ipairs(v[2]) do + if v2 == tostring(c) then + return type(v[3]) == "table" + and v[3] or { v[3] } + end + end + elseif v[2] == tostring(c) then + return type(v[3]) == "table" + and v[3] or { v[3] } + end + end +end + +--- Lookup the CC code(s) for the given country. +-- @param country String containing the country name +-- @return Table containing the CC code(s) +function cc.cc(c) + for _, v in ipairs(cc_idd.CC_IDD) do + if v[1]:lower():match(c:lower()) then + return type(v[2]) == "table" + and v[2] or { v[2] } + end + end +end + + --- LuCI Asterisk - Dialzone -- @type module dialzone = luci.util.class() |