luci-app-travelmate: sync with release 1.1.3
[project/luci.git] / applications / luci-app-travelmate / luasrc / view / travelmate / ap_qr.htm
1 <%#
2 Copyright 2018 Dirk Brenken (dev@brenken.org)
3 This is free software, licensed under the Apache License, Version 2.0
4 -%>
5
6 <%+header%>
7
8 <div class="cbi-map">
9     <div class="cbi-map-descr">
10         <%=translate("Here you'll find the QR codes from all of your configured Access Points. It allows you to connect your Android or iOS devices to your router's WiFi using the QR code shown below.")%>
11     </div>
12 <%-
13   local write = io.write
14   local uci   = require("luci.model.uci").cursor()
15
16   uci:foreach("wireless", "wifi-iface", function(s)
17     local device = s.device or ""
18     local mode = s.mode or ""
19     local ssid = s.ssid or ""
20     local enc = s.encryption or ""
21     local key = s.key or "nokey"
22     local hidden = s.hidden or "false"
23     local disabled = s.disabled or ""
24     if device ~= "" and mode == "ap" and disabled ~= "1" then
25       if string.match(enc, '^psk2') then
26         enc = "wpa2"
27       elseif string.match(enc, '^psk') then
28         enc = "wpa"
29       elseif string.match(enc, '^wep') then
30         if tonumber(key) then
31           enc = ""
32         else
33           enc = "wep"
34         end
35       elseif enc == "none" then
36         enc = "nopass"
37         key = "nokey"
38       else
39         enc = ""
40       end
41       if hidden == "1" then
42         hidden = "true"
43       end
44       if ssid ~= "" and enc ~= "" then
45         local e_ssid = string.gsub(ssid,"[\";\\:, ]","\\%1")
46         local e_key = string.gsub(key,"[\";\\:, ]","\\%1")
47         local qrcode = ""
48         if nixio.fs.access("/usr/bin/qrencode") then
49           qrcode = luci.sys.exec("/usr/bin/qrencode -I -t SVG -8 -o - 'WIFI:S:\"'" .. e_ssid .. "'\";T:'" .. enc .. "';P:\"'" .. e_key .. "'\";H:'" .. hidden .. "';'")
50         end
51 -%>
52     <fieldset class="cbi-section">
53         <legend>AP on <%=device%> with SSID "<%=ssid%>"</legend>
54         <h3 name="content"><%=qrcode%></h3>
55     </fieldset>
56 <%-
57       end
58     end
59   end)
60 %>
61 </div>
62
63 <%+footer%>