%s
"
+ %{ t and " title='" .. t .. "'" or "", s }
+ end
+
+ function rowstyle(i)
+ return "cbi-rowstyle-%i" %{
+ ( i % 2 ) == 0 and 2 or 1
+ }
+ end
+
+ function format_matches(z)
+ local html = { }
+
+ if type(z) ~= "table" then
+ z = { matches = { z } }
+ end
+
+ if z.localprefix then
+ for _, m in ipairs(z.matches) do
+ html[#html+1] =
+ digit_pattern(z.localprefix, "local prefix") .. " " ..
+ digit_pattern(m)
+ end
+ end
+
+ if z.intlmatches and #z.intlmatches > 0 then
+ for _, i in ipairs(z.intlmatches) do
+ for _, m in ipairs(z.matches) do
+ html[#html+1] = "%s %s" %{
+ digit_pattern("(%s)" % i, "intl. prefix"),
+ digit_pattern(m)
+ }
+ end
+ end
+ else
+ for _, m in ipairs(z.matches) do
+ html[#html+1] = digit_pattern(m)
+ end
+ end
+
+ return table.concat(html, "; ")
+ end
+%>
+
+
+
+
+<%+footer%>
diff --git a/feeds/luci/applications/luci-app-asterisk/luasrc/view/asterisk/dialzones.htm b/feeds/luci/applications/luci-app-asterisk/luasrc/view/asterisk/dialzones.htm
new file mode 100644
index 0000000..ac52791
--- /dev/null
+++ b/feeds/luci/applications/luci-app-asterisk/luasrc/view/asterisk/dialzones.htm
@@ -0,0 +1,165 @@
+<%#
+ Copyright 2008 Steven Barth %s
" % s
+ end
+
+ function rowstyle(i)
+ return "cbi-rowstyle-%i" %{
+ ( i % 2 ) == 0 and 2 or 1
+ }
+ end
+
+ local function find_trunks()
+ local t = { }
+
+ uci:foreach("asterisk", "sip",
+ function(s)
+ if uci:get_bool("asterisk", s['.name'], "provider") then
+ t[#t+1] = {
+ "SIP/%s" % s['.name'],
+ "SIP: %s" % s['.name']
+ }
+ end
+ end)
+
+ uci:foreach("asterisk", "iax",
+ function(s)
+ t[#t+1] = {
+ "IAX/%s" % s['.name'],
+ "IAX: %s" % s.extension or s['.name']
+ }
+ end)
+
+ return t
+ end
+
+%>
+
+
+
+
+<%+footer%>
diff --git a/feeds/luci/applications/luci-app-asterisk/po/ca/asterisk.po b/feeds/luci/applications/luci-app-asterisk/po/ca/asterisk.po
new file mode 100644
index 0000000..9775758
--- /dev/null
+++ b/feeds/luci/applications/luci-app-asterisk/po/ca/asterisk.po
@@ -0,0 +1,680 @@
+# asterisk.pot
+# generated from ./applications/luci-asterisk/luasrc/i18n/asterisk.en.lua
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-06-10 03:40+0200\n"
+"PO-Revision-Date: 2009-05-31 19:18+0200\n"
+"Last-Translator: Eduard Duran
+-- ::= :///;?#
+-- ::= @:
+-- ::= [:]
+-- :: = {/}
+--
+--
+-- The leading /
in /
is considered part of
+--
.
+-- @param url URL of request.
+-- @param default Table with default values for each field.
+-- @return A table with the following fields, where RFC naming conventions have
+-- been preserved:
+-- scheme
, authority
, userinfo
,
+-- user
, password
, host
,
+-- port
, path
, params
,
+-- query
, and fragment
.
+-----------------------------------------------------------------------------
+function parse_url(url) --, default)
+ -- initialize default parameters
+ local parsed = {}
+-- for i,v in base.pairs(default or parsed) do
+-- parsed[i] = v
+-- end
+
+ -- remove whitespace
+-- url = string.gsub(url, "%s", "")
+ -- get fragment
+ url = string.gsub(url, "#(.*)$",
+ function(f)
+ parsed.fragment = f
+ return ""
+ end)
+ -- get scheme. Lower-case according to RFC 3986 section 3.1.
+ url = string.gsub(url, "^([%w][%w%+%-%.]*)%:",
+ function(s)
+ parsed.scheme = string.lower(s);
+ return ""
+ end)
+ -- get authority
+ url = string.gsub(url, "^//([^/]*)",
+ function(n)
+ parsed.authority = n
+ return ""
+ end)
+ -- get query stringing
+ url = string.gsub(url, "%?(.*)",
+ function(q)
+ parsed.query = q
+ return ""
+ end)
+ -- get params
+ url = string.gsub(url, "%;(.*)",
+ function(p)
+ parsed.params = p
+ return ""
+ end)
+ -- path is whatever was left
+ parsed.path = url
+
+ local authority = parsed.authority
+ if not authority then
+ return parsed
+ end
+ authority = string.gsub(authority,"^([^@]*)@",
+ function(u)
+ parsed.userinfo = u;
+ return ""
+ end)
+ authority = string.gsub(authority, ":([0-9]*)$",
+ function(p)
+ if p ~= "" then
+ parsed.port = p
+ end;
+ return ""
+ end)
+ if authority ~= "" then
+ parsed.host = authority
+ end
+
+ local userinfo = parsed.userinfo
+ if not userinfo then
+ return parsed
+ end
+ userinfo = string.gsub(userinfo, ":([^:]*)$",
+ function(p)
+ parsed.password = p;
+ return ""
+ end)
+ parsed.user = userinfo
+ return parsed
+end
diff --git a/feeds/luci/applications/luci-app-ddns/luasrc/view/admin_status/index/ddns.htm b/feeds/luci/applications/luci-app-ddns/luasrc/view/admin_status/index/ddns.htm
new file mode 100644
index 0000000..9791065
--- /dev/null
+++ b/feeds/luci/applications/luci-app-ddns/luasrc/view/admin_status/index/ddns.htm
@@ -0,0 +1 @@
+<%+ddns/system_status%>
diff --git a/feeds/luci/applications/luci-app-ddns/luasrc/view/ddns/detail_logview.htm b/feeds/luci/applications/luci-app-ddns/luasrc/view/ddns/detail_logview.htm
new file mode 100644
index 0000000..494b743
--- /dev/null
+++ b/feeds/luci/applications/luci-app-ddns/luasrc/view/ddns/detail_logview.htm
@@ -0,0 +1,56 @@
+
+
+
+
+<%+cbi/valueheader%>
+
+