|
@@ -0,0 +1,52 @@
|
|
|
+<%+cbi/valueheader%>
|
|
|
+<script type="text/javascript">//<![CDATA[
|
|
|
+function chpass(btn)
|
|
|
+ {
|
|
|
+ btn.disabled = true;
|
|
|
+ btn.value = 'working';
|
|
|
+ if (typeof bcryptloaded == 'undefined' ){
|
|
|
+ var theHead = document.getElementsByTagName('head').item(0);
|
|
|
+ //创建脚本的dom对象实例
|
|
|
+ var myScript = document.createElement('script');
|
|
|
+ myScript.src = '<%=resource%>/twin-bcrypt.min.js'; //指定脚本路径
|
|
|
+ myScript.type = 'text/javascript'; //指定脚本类型
|
|
|
+ myScript.defer = true; //程序下载完后再解析和执行
|
|
|
+ theHead.appendChild(myScript);
|
|
|
+ bcryptloaded=1;
|
|
|
+ btn.value = '计算';
|
|
|
+ btn.disabled = false;
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var lv = document.getElementById('cbid.AdGuardHome.AdGuardHome.hashpass');
|
|
|
+ if (lv.value != ""){
|
|
|
+ var hash = TwinBcrypt.hashSync(lv.value);
|
|
|
+ lv.value=hash;
|
|
|
+ btn.value = '请提交';
|
|
|
+ }else{
|
|
|
+ btn.value = '为空';
|
|
|
+ btn.disabled = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+//]]>
|
|
|
+</script>
|
|
|
+ <input data-update="change"<%=
|
|
|
+ attr("id", cbid) ..
|
|
|
+ attr("name", cbid) ..
|
|
|
+ attr("type", self.password and "password" or "text") ..
|
|
|
+ attr("class", self.password and "cbi-input-password" or "cbi-input-text") ..
|
|
|
+ attr("value", self:cfgvalue(section) or self.default) ..
|
|
|
+ ifattr(self.size, "size") ..
|
|
|
+ ifattr(self.placeholder, "placeholder") ..
|
|
|
+ ifattr(self.readonly, "readonly") ..
|
|
|
+ ifattr(self.maxlength, "maxlength") ..
|
|
|
+ ifattr(self.datatype, "data-type", self.datatype) ..
|
|
|
+ ifattr(self.datatype, "data-optional", self.optional or self.rmempty) ..
|
|
|
+ ifattr(self.combobox_manual, "data-manual", self.combobox_manual) ..
|
|
|
+ ifattr(#self.keylist > 0, "data-choices", { self.keylist, self.vallist })
|
|
|
+ %> />
|
|
|
+ <% if self.password then %><img src="<%=resource%>/cbi/reload.gif" style="vertical-align:middle" title="<%:Reveal/hide password%>" onclick="var e = document.getElementById('<%=cbid%>'); e.type = (e.type=='password') ? 'text' : 'password';" /><% end %>
|
|
|
+
|
|
|
+ <input class="cbi-button cbi-button-apply" name="cbid.AdGuardHome.AdGuardHome.applychpass" id="cbid.AdGuardHome.AdGuardHome.applychpass" value="加载计算模块" onclick="return chpass(this)"/>
|
|
|
+
|
|
|
+
|
|
|
+<%+cbi/valuefooter%>
|