settings.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. <!DOCTYPE html>
  2. <html lang="">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  7. <title>Настройки</title>
  8. <link href="main.css" rel="stylesheet">
  9. <script type="text/javascript" src="role.js"></script>
  10. </head>
  11. <body>
  12. <div id="count-wrap">
  13. <div id='countdown'>
  14. <p>Контроллер будет перезагружен через <span id="count-number">5</span> секунд.</p>
  15. </div>
  16. <div id='changePassword'>
  17. <form action="" method="post">
  18. <p>Смена пароля на вход в систему для:</p>
  19. <select name="login_name" id="changePasswordUser" class="form-control">
  20. <option value="">Выберите пользователя</option>
  21. <option value="user">user</option>
  22. <option value="admin">admin</option>
  23. </select><br><br>
  24. <input id="oldpwd" type="password" class="form-control" placeholder="Текущий пароль" class="login" size="20" maxlength="16" name="oldpass"><br><br>
  25. <input id="newpwd" type="password" class="form-control" placeholder="Новый пароль" class="login" size="20" maxlength="16" name="newpass"><br><br>
  26. <input id="newpwdrepeat" type="password" class="form-control" placeholder="Повторить новый пароль" class="login" size="20" maxlength="16" name="newpassRepeat"><br><br>
  27. <input type="button" id="close-pass-change" class="btn btn-danger-inverted" value="Отмена">
  28. <input type="submit" class="btn btn-success-inverted" onclick="checkChangePWD(); return false;" value="Отправить">
  29. </form>
  30. </div>
  31. </div>
  32. <div class="navbar navbar-default navbar-fixed-top">
  33. <div class="navbar-header">
  34. <div><a href="index.html" class="logo"></a></div>
  35. </div>
  36. <a href="#" id="menu-icon"></a>
  37. <ul class="nav navbar-nav" id="nav">
  38. <li><a href="index.html">Параметры</a></li>
  39. <li><a href="settings.html" class="active">Настройки</a></li>
  40. <li><a href="info.html">Информация</a></li>
  41. <li><a href="history.html">Журнал</a></li>
  42. </ul>
  43. </div>
  44. <div class="wrapper" id="content">
  45. <!--START-->
  46. <h1>Настройки</h1>
  47. <ul id="validation-box"></ul>
  48. <form id="form1" action="settings.cgi" method="POST">
  49. <div id="tabset1" class="tabset">
  50. <div>
  51. <ul class="tabnavs">
  52. <li><a href="#snmpt" class="activeTab">SNMP</a></li>
  53. <li><a href="#inout">Сухие контакты</a></li>
  54. <li><a href="#netw">Сетевые параметры</a></li>
  55. <li><a href="#service">Сервис</a></li>
  56. <li><a href="#raduis">Авторизация</a></li>
  57. <li><a href="#ntpt">Время</a></li>
  58. </ul>
  59. </div>
  60. <div id="snmpt" class="tabpane activePane">
  61. <div class="panel-heading">SNMP</div>
  62. <div class="panel-body section group">
  63. <div class="col span_1_of_2">
  64. <label for="managerIP" class="col span_1_of_2">Сервер 1</label>
  65. <div class="col span_1_of_2">
  66. <input type="text" class="form-control" id="managerIP" name="managerIP">
  67. </div>
  68. <label for="managerIP2" class="col span_1_of_2">Сервер 2</label>
  69. <div class="col span_1_of_2">
  70. <input type="text" class="form-control" id="managerIP2" name="managerIP2">
  71. </div>
  72. <label for="managerIP3" class="col span_1_of_2">Сервер 3</label>
  73. <div class="col span_1_of_2">
  74. <input type="text" class="form-control" id="managerIP3" name="managerIP3">
  75. </div>
  76. <label for="managerIP4" class="col span_1_of_2">Сервер 4</label>
  77. <div class="col span_1_of_2">
  78. <input type="text" class="form-control" id="managerIP4" name="managerIP4">
  79. </div>
  80. <label for="managerIP5" class="col span_1_of_2">Сервер 5</label>
  81. <div class="col span_1_of_2">
  82. <input type="text" class="form-control" id="managerIP5" name="managerIP5">
  83. </div>
  84. </div>
  85. <div class="col span_1_of_2">
  86. <label for="read_community" class="col span_1_of_2">Read Community</label>
  87. <div class="col span_1_of_2">
  88. <input type="text" class="form-control" id="read_community" name="read_community" maxlength="15">
  89. </div>
  90. <label for="write_community" class="col span_1_of_2">Write Community</label>
  91. <div class="col span_1_of_2">
  92. <input type="text" class="form-control" id="write_community" name="write_community" maxlength="15">
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. <div id="inout" class="tabpane">
  98. <div class="panel-heading">Сухие контакты</div>
  99. <div class="panel-body section group">
  100. <div class="col span_1_of_2">
  101. <h4 class="col span_2_of_2">Дискретные входы</h4>
  102. <table class="table">
  103. <thead>
  104. <tr>
  105. <th>Контакт</th>
  106. <th>Действие</th>
  107. </tr>
  108. </thead>
  109. <tbody>
  110. <tr>
  111. <td>1</td>
  112. <td>
  113. <select name="di1" id="di1" class="form-control">
  114. <option value="1">Вкл ИБП</option>
  115. <option value="2">SNMP Trap</option>
  116. </select>
  117. </td>
  118. </tr>
  119. </tbody>
  120. </table>
  121. </div>
  122. <div class="col span_1_of_2">
  123. <h4 class="col span_2_of_2">Релейные выходы</h4>
  124. <table class="table">
  125. <thead>
  126. <tr>
  127. <th>Контакт</th>
  128. <th>Источник</th>
  129. </tr>
  130. </thead>
  131. <tbody>
  132. <tr>
  133. <td>1</td>
  134. <td>
  135. <select name="ro1" id="ro1" class="form-control">
  136. <option value="1">Критическая авария</option>
  137. <option value="2">Некритическая авария</option>
  138. <option value="3">SNMP SET</option>
  139. </select>
  140. </td>
  141. </tr>
  142. <tr>
  143. <td>2</td>
  144. <td>
  145. <select name="ro2" id="ro2" class="form-control">
  146. <option value="1">Критическая авария</option>
  147. <option value="2">Некритическая авария</option>
  148. <option value="3">SNMP SET</option>
  149. </select>
  150. </td>
  151. </tr>
  152. </tbody>
  153. </table>
  154. </div>
  155. </div>
  156. </div>
  157. <div id="netw" class="tabpane">
  158. <div class="panel-heading">Сетевые параметры</div>
  159. <div class="panel-body section group">
  160. <div class="col span_1_of_2">
  161. <div class="checkbox col span_2_of_2">
  162. <label>
  163. <input type="checkbox" name="dhcp" id="dhcp" onchange="dhcpState();"> Получить IP-адрес автоматически
  164. </label>
  165. </div>
  166. <label for="ipaddr" class="col span_1_of_2">IP-адрес устройства</label>
  167. <div class="col span_1_of_2">
  168. <input type="text" class="form-control" id="ipaddr" name="ipaddr">
  169. </div>
  170. <label for="gw" class="col span_1_of_2">IP-адрес шлюза</label>
  171. <div class="col span_1_of_2">
  172. <input type="text" class="form-control" id="gw" name="gw">
  173. </div>
  174. <label for="mask" class="col span_1_of_2">Маска подсети</label>
  175. <div class="col span_1_of_2">
  176. <input type="text" class="form-control" id="mask" name="mask">
  177. </div>
  178. </div>
  179. </div>
  180. </div>
  181. <div id="service" class="tabpane">
  182. <div class="panel-heading">Сервис</div>
  183. <div class="panel-body section group">
  184. <div class="col span_1_of_3">
  185. <h4 class="col span_2_of_2">Аккумуляторные батареи</h4>
  186. <button type="button" class="btn btn-default" onclick="batTest({ 'func': 'stop' });">Остановка теста</button>
  187. <button type="button" class="btn btn-default" onclick="batTest({ 'func': 'discharge' });">Запуск теста до разряда</button>
  188. <button type="button" class="btn btn-default" onclick="batTest({ 'func': 'time', 'time': $('test_time').value });">Запуск теста</button>
  189. <label for="" class="col span_1_of_2">Время теста (мин)</label>
  190. <div class="col span_1_of_2">
  191. <input type="text" class="form-control" value="10" maxlength="6" id="test_time">
  192. </div>
  193. </div>
  194. <div class="col span_1_of_3">
  195. <h4 class="col span_2_of_2">Контроллер</h4>
  196. <button type="button" class="btn btn-default" id="change_pass">Смена пароля</button>
  197. <button type="button" class="btn btn-default" id="dev-reboot">Перезагрузка</button>
  198. <button type="button" class="btn btn-default" id="dev-update">Обновление ПО</button>
  199. </div>
  200. <div class="col span_1_of_3">
  201. <h4 class="col span_2_of_2">Нагрузка</h4>
  202. <!-- <button type="button" class="btn btn-default" onclick="UPSPowerOff({'func': 'cancel'})">Отмена выключения</button> -->
  203. <button type="button" class="btn btn-default" onclick="UPSPowerOff({'func': 'reboot'})">Перезагрузка</button>
  204. <button type="button" class="btn btn-default" onclick="UPSPowerOff({'func': 'off'})">Выключить</button>
  205. <!-- <button type="button" class="btn btn-default" onclick="UPSPowerOff({'func': 'off', 'after': $('upspo_after').value, 'to': $('upspo_to').value})">Выключить</button>
  206. <label for="" class="col span_1_of_2">Выкл. через (мин)</label>
  207. <div class="col span_1_of_2">
  208. <input type="text" class="form-control" value="10" maxlength="6" id="upspo_to">
  209. </div>
  210. <label for="" class="col span_1_of_2">Вкл. через (мин)</label>
  211. <div class="col span_1_of_2">
  212. <input type="text" class="form-control" value="10" maxlength="6" id="upspo_after">
  213. </div> -->
  214. </div>
  215. </div>
  216. </div>
  217. <div id="raduis" class="tabpane">
  218. <div class="panel-heading">Авторизация пользователя</div>
  219. <div class="panel-body section group">
  220. <div class="col span_1_of_2">
  221. <h4 class="col span_2_of_2">RADIUS сервер</h4>
  222. <div class="checkbox col span_2_of_2">
  223. <label>
  224. <input type="checkbox" name="rs_enabled" id="rs_enabled" onchange="radiusState()"> Включить
  225. </label>
  226. </div>
  227. <label for="rs_server" class="col span_1_of_2">Сервер</label>
  228. <div class="col span_1_of_2">
  229. <input type="text" class="form-control" id="rs_server" name="rs_server">
  230. </div>
  231. <label for="rs_port" class="col span_1_of_2">Порт</label>
  232. <div class="col span_1_of_2">
  233. <input type="text" class="form-control" id="rs_port" name="rs_port" maxlength="5">
  234. </div>
  235. <label for="rs_pwd" class="col span_1_of_2">Пароль</label>
  236. <div class="col span_1_of_2">
  237. <input type="password" class="form-control" id="rs_pwd" name="rs_pwd">
  238. </div>
  239. <label for="rs_key" class="col span_1_of_2">Код access</label>
  240. <div class="col span_1_of_2">
  241. <input type="password" class="form-control" id="rs_key" name="rs_key">
  242. </div>
  243. </div>
  244. <div class="col span_1_of_2">
  245. <h4 class="col span_2_of_2">Контроллер</h4>
  246. <div class="checkbox col span_2_of_2">
  247. <label>
  248. <input type="checkbox" name="swauth" id="swauth" onchange="authState()"> Включить авторизацию
  249. </label>
  250. </div>
  251. </div>
  252. </div>
  253. </div>
  254. <div id="ntpt" class="tabpane">
  255. <div class="panel-heading">Установка даты и времени</div>
  256. <div class="panel-body section group">
  257. <div class="col span_1_of_2">
  258. <label for="utc" class="col span_1_of_2">Часовой пояс</label>
  259. <div class="col span_1_of_2">
  260. <select class="form-control" name="utc" id="utc">
  261. <option value="-12.0">(GMT -12:00) Эниветок, Кваджалейн</option>
  262. <option value="-11.0">(GMT -11:00) Остров Мидуэй, Самоа</option>
  263. <option value="-10.0">(GMT -10:00) Гавайи</option>
  264. <option value="-9.0">(GMT -9:00) Аляска</option>
  265. <option value="-8.0">(GMT -8:00) Тихоокеанское время (США и Канада)</option>
  266. <option value="-7.0">(GMT -7:00) Горное время (США и Канада)</option>
  267. <option value="-6.0">(GMT -6:00) Центральное время (США и Канада), Мехико</option>
  268. <option value="-5.0">(GMT -5:00) Восточное время (США и Канада), Богота, Лима</option>
  269. <option value="-4.0">(GMT -4:00) Атлантическое время (Канада), Каракас, Ла-Пас</option>
  270. <option value="-3.5">(GMT -3:30) Ньюфаундленд</option>
  271. <option value="-3.0">(GMT -3:00) Бразилия, Буэнос-Айрес, Джорджтаун</option>
  272. <option value="-2.0">(GMT -2:00) Срединно-Атлантического </option>
  273. <option value="-1.0">(GMT -1:00) Азорские острова, острова Зеленого Мыса</option>
  274. <option value="0.0">(GMT) Западная Европа, Лондон, Лиссабон, Касабланка</option>
  275. <option value="1.0">(GMT +1:00) Брюссель, Копенгаген, Мадрид, Париж</option>
  276. <option value="2.0">(GMT +2:00) Киев, Калининград, Южная Африка</option>
  277. <option value="3.0">(GMT +3:00) Москва, Санкт-Петербург, Багдад, Эр-Рияд</option>
  278. <option value="3.5">(GMT +3:30) Тегеран</option>
  279. <option value="4.0">(GMT +4:00) Абу-Даби, Мускат, Ереван, Баку, Тбилиси</option>
  280. <option value="4.5">(GMT +4:30) Кабул</option>
  281. <option value="5.0">(GMT +5:00) Екатеринбург, Исламабад, Карачи, Ташкент</option>
  282. <option value="5.5">(GMT +5:30) Бомбей, Калькутта, Мадрас, Нью-Дели</option>
  283. <option value="5.75">(GMT +5:45) Катманду</option>
  284. <option value="6.0">(GMT +6:00) Алматы, Дакке, Коломбо</option>
  285. <option value="7.0">(GMT +7:00) Бангкок, Ханой, Джакарта</option>
  286. <option value="8.0">(GMT +8:00) Пекин, Перт, Сингапур, Гонконг</option>
  287. <option value="9.0">(GMT +9:00) Якутск, Токио, Сеул, Осака, Саппоро</option>
  288. <option value="9.5">(GMT +9:30) Аделаида, Дарвин</option>
  289. <option value="10.0">(GMT +10:00) Владивосток, Восточная Австралия, Гуам</option>
  290. <option value="11.0">(GMT +11:00) Магадан, Соломоновы острова, Новая Каледония</option>
  291. <option value="12.0">(GMT +12:00) Окленд, Веллингтон, Фиджи, Камчатка</option>
  292. </select>
  293. </div>
  294. <label for="ntp" class="col span_1_of_2">Режим</label>
  295. <div class="col span_1_of_2">
  296. <select class="form-control" name="ntp" id="ntp" onChange="timesetType(this);">
  297. <option value="0">Ручной</option>
  298. <option value="1">Автоматический</option>
  299. </select>
  300. </div>
  301. <label for="date" id="date_l" class="col span_1_of_2">Дата</label>
  302. <div class="col span_1_of_2">
  303. <input type="date" class="form-control" name="date" id="date">
  304. </div>
  305. <label for="time" id="time_l" class="col span_1_of_2">Время</label>
  306. <div class="col span_1_of_2">
  307. <input type="time" class="form-control" placeholder="hh:mm" name="time" id="time">
  308. </div>
  309. <label for="ntpservip" id="ntpservip_l" class="col span_1_of_2">Сервер</label>
  310. <div class="col span_1_of_2">
  311. <select class="form-control" name="ntpservip" id="ntpservip" onChange="checkOther(this);">
  312. <option value="91.226.136.136">ntp1.stratum2.ru</option>
  313. <option value="88.147.254.232">ntp2.stratum2.ru</option>
  314. <option value="88.147.254.235">ntp3.stratum2.ru</option>
  315. <option value="other">Другой</option>
  316. </select>
  317. </div>
  318. <label for="lastsynctime" id="lastsynctime_l" class="col span_1_of_2">Последняя синхронизация</label>
  319. <div class="col span_1_of_2">
  320. <input type="text" class="form-control" id="lastsynctime" disabled="disabled">
  321. </div>
  322. </div>
  323. </div>
  324. </div>
  325. </div>
  326. <p style="width:100%; ">
  327. <button type="button" class="btn btn-primary-inverted" onclick="submitForms(); return false;">Применить</button>
  328. <button type="button" class="btn btn-danger-inverted" id="dev-reset">Сброс</button>
  329. </p>
  330. </form>
  331. <!--END-->
  332. </div>
  333. </body>
  334. <script type="text/javascript" src="main.js"></script>
  335. <script type="text/javascript">
  336. DYN_WEB.Tabs.setup({
  337. id: 'tabset1', // id of tabset (required)
  338. useCookies: true // optional
  339. });
  340. var ntpservipValue;
  341. settingsGET();
  342. // $('dev-update').onclick = function(){
  343. // $('count-wrap').style.display = 'block';
  344. // $('checkUpdatePass').style.display = 'block';
  345. // };
  346. $('dev-update').onclick = function(){
  347. if( confirm('Перевести контроллер в режим обновления ПО?') ){
  348. loadXMLDoc('fw_update.cgi', 'GET');
  349. checkPWD();
  350. };
  351. };
  352. $('change_pass').onclick = function(){
  353. $('count-wrap').style.display = 'block';
  354. $('changePassword').style.display = 'block';
  355. };
  356. $('close-pass-change').onclick = function(){
  357. $('changePasswordUser').value = '';
  358. $('oldpwd').value = '';
  359. $('newpwd').value = '';
  360. $('newpwdrepeat').value = '';
  361. $('count-wrap').style.display = 'none';
  362. $('changePassword').style.display = 'none';
  363. };
  364. $('dev-reset').onclick = function(){
  365. function foo(){window.location.href = '/settings.html';}
  366. if (getCGI('reset.cgi') == true) {
  367. setTimeout(foo, 1000);
  368. }
  369. };
  370. $('dev-reboot').onclick = function(){
  371. var a = 'reboot.cgi';
  372. if (getCGI(a) == true) {
  373. $('count-wrap').style.display = 'block';
  374. $('countdown').style.display = 'block';
  375. countdown(true);
  376. }
  377. };
  378. </script>
  379. </html>