2024-04-11 10:30:59 +08:00

238 lines
6.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%
local util = require "luci.util"
local sys = require "luci.sys"
local uci = require "luci.model.uci".cursor()
local pon = tostring(uci:get("sms_tool", "general", "prefix"))
local pnumber = tostring(uci:get("sms_tool", "general", "pnumber"))
local info = tostring(uci:get("sms_tool", "general", "information"))
-%>
<%+header%>
<!--
-- Copyright 2020-2022 Rafał Wabik (IceG) - From eko.one.pl forum
-- Licensed to the GNU General Public License v3.0.
-->
<style>
textarea {
height:120px;
max-height:120px;
min-height:120px;
min-width:100%;
resize:vertical;
}
}
</style>
<script type="text/javascript">//<![CDATA[
window.onload = function prefiksSMS() {
var phk = document.getElementById("numer").value;
var on = <%=pon%>;
var msg = <%=info%>;
var pfixnum = document.getElementById("numer");
if ( on == "1" ) {
var phn2 = <%=pnumber%>;
pfixnum.value = phn2;
}
if ( msg == "1" ) {
alert("<%:电话号码的前面应该有国家的前缀波兰是48没有+。如果号码是5个、4个或3个字符它将被视为短号码而不应在前面加上国家前缀。(The phone number should be preceded by the country prefix (for Poland it is 48, without +). If the number is 5, 4 or 3 characters, it is treated as.. short and should not be preceded by a country prefix.)%>");
}
XHR.get('<%=luci.dispatcher.build_url("admin", "modem", "sms", "user_phonebook")%>', null,
function(x, json)
{
select = document.getElementById('pb');
var opt = document.createElement('option');
opt.text = phn2;
opt.value = phn2;
opt.innerHTML = ">";
select.appendChild(opt);
var countpb = Object.keys(json).length;
for(var d=0;d<=countpb;d++)
{
var opt = document.createElement('option');
var s = json[d].phb;
var fields = s.split(/;/);
var name = fields[0];
var number = fields[1];
opt.text = name;
opt.value = number.trim();
opt.innerHTML = name;
select.appendChild(opt);
}
}
);
}
function copyFunction2() {
var x = document.getElementById("pb").value;
document.getElementById("numer").value = x;
document.getElementById("odp").innerHTML = "";
}
function count_replace(obj) {
document.getElementById('counter').innerHTML = (160 - document.getElementById('smstxt').value.length);
obj.value = obj.value.replace(/ą/g, 'a').replace(/Ą/g, 'A');
obj.value = obj.value.replace(/ć/g, 'c').replace(/Ć/g, 'C')
obj.value = obj.value.replace(/ę/g, 'e').replace(/Ę/g, 'E')
obj.value = obj.value.replace(/ł/g, 'l').replace(/Ł/g, 'L')
obj.value = obj.value.replace(/ń/g, 'n').replace(/Ń/g, 'N')
obj.value = obj.value.replace(/ó/g, 'o').replace(/Ó/g, 'O')
obj.value = obj.value.replace(/ś/g, 's').replace(/Ś/g, 'S')
obj.value = obj.value.replace(/ż/g, 'z').replace(/Ż/g, 'Z')
obj.value = obj.value.replace(/ź/g, 'z').replace(/Ź/g, 'Z');
document.getElementById("odp").innerHTML = "";
}
function codsp() {
document.getElementById("odp").innerHTML = "";
}
function postcmd(cmd) {
(new XHR()).post("<%=luci.dispatcher.build_url("admin", "modem", "sms", "run_sms")%>", {"scode":cmd}, function(x) {
console.log(x.response)
console.log(x)
var cut = x.response;
cut = cut.substr(0, 20);
if ( cut == "sms sent sucessfully" ) {
document.getElementById("odp").innerHTML = "<%:SMS sent sucessfully%>"};
});
return false;
}
document.addEventListener('DOMContentLoaded', function (ev) {var button = document.getElementById("sendsms");
button.addEventListener("click", function () {
var ph = document.getElementById("numer").value;
if ( ph.length < 2 || ph.length == 0 )
{
document.getElementById("odp").innerHTML = "";
alert("<%:Please enter phone number%>");
return false;
}
ph = ph.trim();
if ( isNaN(ph) )
{
alert("<%:Please correct phone number%>");
return false;
}
var num = ph.concat(" ");
num = num.substr(0, 20);
var tm = document.getElementById("smstxt").value;
if ( tm.length == 0 )
{
alert("<%:Please enter a message text%>");
return false;
}
num = num.concat(tm);
postcmd(num);
var delsms = document.getElementById("smstxt");
var delnum = document.getElementById("numer");
document.getElementById('counter').innerHTML = "160";
delsms.value = "";
delnum.value = "";
var on = <%=pon%>;
var pfixnum = document.getElementById("numer");
if ( on == "1" ) {
var phn2 = <%=pnumber%>;
pfixnum.value = phn2;
}
return true;
});
}, true);
//]]></script>
<h2><%:短信%></h2>
<div class="cbi-map-descr"><%:通过sms_tool发送信息的Web用户界面。关于短信工具的更多信息请见%> <a href="https://eko.one.pl/?p=openwrt-sms_tool" target="_blank"><%:eko.one.pl 论坛%></a>.</div>
<p></p>
<h4><%:发送短信%></h4>
<div class="table">
<div class="tr">
<div class="td left" ><%:用户电话簿%>:</div>
<div class="td left" >
<select name="ussd" id="pb" onchange="copyFunction2()">
</select>
</div>
<div class="td left" ></div>
</div>
<div class="tr">
<div class="td left" ><%:发送至%>:</div>
<div class="td left" ><input type="text" id="numer" onKeyUp="codsp()" placeholder="<%:PHONE_NUMBER%>" required minlength="3" maxlength="24" size="11"></div>
<div class="td left" ></div>
</div>
<div class="tr">
<div class="td left" ><%:消息正文%>:</div>
<div class="td left" ><textarea id="smstxt" onKeyUp="count_replace(this)" required></textarea><div id="counter">160</div></div>
<div class="td left" ></div>
</div>
<div class="tr">
<div class="td left" ><%:状态%>:</div><div class="td left" id="odp"></div>
</div>
</div>
<div class="table">
<div class="tr cbi-rowstyle-2">
<div class="td right"><input type="button" style="margin-right: 5%"; id="sendsms" class="btn cbi-button cbi-button-neutral" value="<%:发送短信%>" /></div>
</div>
</div>
<%+footer%>