settings.html.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <!--
  2. Wifi Hotspot app for YunoHost
  3. Copyright (C) 2015 Julien Vaubourg <julien@vaubourg.com>
  4. Contribute at https://github.com/jvaubourg/hotspot_ynh
  5. This program is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU Affero General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or
  8. (at your option) any later version.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU Affero General Public License for more details.
  13. You should have received a copy of the GNU Affero General Public License
  14. along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. -->
  16. <div id="wifiparty_screen">
  17. <div id="wifiparty_ssid_part">
  18. <div class="btn-group" role="group">
  19. <button type="button" class="btn btn-default" id="wifiparty_close"><span class="glyphicon glyphicon-eye-close"></span></button>
  20. <button type="button" class="btn btn-default" id="wifiparty_zoomin_ssid"><span class="glyphicon glyphicon-zoom-in"></span></button>
  21. <button type="button" class="btn btn-default" id="wifiparty_zoomout_ssid"><span class="glyphicon glyphicon-zoom-out"></span></button>
  22. </div>
  23. <span id="wifiparty_ssid"><span class="glyphicon glyphicon-signal"></span> <?= $wifi_ssid ?></span>
  24. </div>
  25. <div class="btn-group" role="group">
  26. <button type="button" class="btn btn-default" id="wifiparty_zoomin_passphrase"><span class="glyphicon glyphicon-zoom-in"></span></button>
  27. <button type="button" class="btn btn-default" id="wifiparty_zoomout_passphrase"><span class="glyphicon glyphicon-zoom-out"></span></button>
  28. </div>
  29. <div id="wifiparty_passphrase"><?php
  30. $pw = preg_replace('/[^0-9a-z ]/i', '<span-class="passother">$0</span>', $wifi_passphrase);
  31. $pw = preg_replace('/\d/', '<span-class="passdigit">$0</span>', $pw);
  32. $pw = preg_replace('/ /', '<span class="passspace">&#x25AE;</span>', $pw);
  33. $pw = preg_replace('/span-class/', 'span class', $pw);
  34. echo $pw;
  35. ?></div>
  36. </div>
  37. <h2><?= T_("Wifi Hotspot Configuration") ?></h2>
  38. <?php if($faststatus): ?>
  39. <span class="label label-success" data-toggle="tooltip" data-title="<?= T_('This is a fast status. Click on More details to show the complete status.') ?>"><?= T_('Running') ?></span>
  40. <?php else: ?>
  41. <span class="label label-danger" data-toggle="tooltip" data-title="<?= T_('This is a fast status. Click on More details to show the complete status.') ?>"><?= T_('Not Running') ?></span>
  42. <?php endif; ?>
  43. &nbsp; <img src="public/img/loading.gif" id="status-loading" alt="Loading..." /><a href="#" id="statusbtn" data-toggle="tooltip" data-title="<?= T_('Loading complete status may take a few minutes. Be patient.') ?>"><?= T_('More details') ?></a>
  44. <div id="status" class="alert alert-dismissible alert-info fade in" style="margin-top: 10px" role="alert">
  45. <button type="button" class="close"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
  46. <div id="status-text"></div>
  47. </div>
  48. <hr />
  49. <div class="row">
  50. <div class="col-sm-offset-2 col-sm-8">
  51. <form method="post" enctype="multipart/form-data" action="?/settings" class="form-horizontal" role="form" id="form">
  52. <input type="hidden" name="_method" value="put" />
  53. <div class="panel panel-default">
  54. <div class="panel-heading">
  55. <h3 class="panel-title"><?= T_("Wifi") ?></h3>
  56. </div>
  57. <div style="padding: 14px 14px 0 10px">
  58. <div class="form-group">
  59. <label for="wifi_ssid" class="col-sm-3 control-label"><?= T_('Name (SSID)') ?></label>
  60. <div class="col-sm-9">
  61. <input type="text" class="form-control" name="wifi_ssid" id="wifi_ssid" placeholder="myNeutralNetwork" value="<?= $wifi_ssid ?>" />
  62. </div>
  63. </div>
  64. <div class="form-group">
  65. <label for="wifi_passphrase" class="col-sm-3 control-label"><?= T_('Password (WPA2)') ?></label>
  66. <div class="input-group col-sm-9" style="padding: 0 15px">
  67. <input type="text" data-toggle="tooltip" data-title="<?= T_('At least 8 characters') ?>" class="form-control" name="wifi_passphrase" id="wifi_passphrase" placeholder="VhegT8oev0jZI" value="<?= $wifi_passphrase ?>" />
  68. <a class="btn input-group-addon" id="wifiparty" data-toggle="tooltip" data-title="<?= T_('Show to your friends how to access to your hotspot') ?>"><span class="glyphicon glyphicon-fullscreen"></span></a>
  69. </div>
  70. </div>
  71. <div class="form-group">
  72. <label for="wifi_channel" class="col-sm-3 control-label"><?= T_('Channel') ?></label>
  73. <div class="col-sm-9 input-group-btn">
  74. <div class="input-group">
  75. <input type="text" name="wifi_channel" id="wifi_channel" value="<?= $wifi_channel ?>" style="display: none" />
  76. <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><?= $wifi_channel ?> <span class="caret"></span></button>
  77. <ul class="dropdown-menu dropdown-menu-left" role="menu">
  78. <li <?= $wifi_channel == 1 ? 'class="active"' : '' ?>><a href="#">1</a></li>
  79. <li <?= $wifi_channel == 2 ? 'class="active"' : '' ?>><a href="#">2</a></li>
  80. <li <?= $wifi_channel == 3 ? 'class="active"' : '' ?>><a href="#">3</a></li>
  81. <li <?= $wifi_channel == 4 ? 'class="active"' : '' ?>><a href="#">4</a></li>
  82. <li <?= $wifi_channel == 5 ? 'class="active"' : '' ?>><a href="#">5</a></li>
  83. <li <?= $wifi_channel == 6 ? 'class="active"' : '' ?>><a href="#">6</a></li>
  84. <li <?= $wifi_channel == 7 ? 'class="active"' : '' ?>><a href="#">7</a></li>
  85. <li <?= $wifi_channel == 8 ? 'class="active"' : '' ?>><a href="#">8</a></li>
  86. <li <?= $wifi_channel == 9 ? 'class="active"' : '' ?>><a href="#">9</a></li>
  87. <li <?= $wifi_channel == 10 ? 'class="active"' : '' ?>><a href="#">10</a></li>
  88. <li <?= $wifi_channel == 11 ? 'class="active"' : '' ?>><a href="#">11</a></li>
  89. </ul>
  90. </div>
  91. </div>
  92. </div>
  93. <div class="form-group">
  94. <label for="wifi_passphrase" class="col-sm-3 control-label"><?= T_('Wifi N') ?></label>
  95. <div class="col-sm-9 input-group-btn" data-toggle="tooltip" data-title="<?= T_('Only if your antenna is 802.11n compliant') ?>">
  96. <div class="input-group">
  97. <input type="checkbox" class="form-control switch" name="wifi_n" id="wifi_n" value="1" <?= $wifi_n == 1 ? 'checked="checked"' : '' ?> />
  98. </div>
  99. </div>
  100. </div>
  101. <div class="form-group">
  102. <label for="wifi_device" class="col-sm-3 control-label"><?= T_('Device') ?></label>
  103. <div class="col-sm-9 input-group-btn">
  104. <div class="input-group">
  105. <input type="text" name="wifi_device" id="wifi_device" value="<?= $wifi_device ?>" style="display: none" />
  106. <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><?= $wifi_device ?> <span class="caret"></span></button>
  107. <ul class="dropdown-menu dropdown-menu-left" role="menu">
  108. <?= $wifi_device_list ?>
  109. </ul>
  110. </div>
  111. </div>
  112. </div>
  113. </div>
  114. </div>
  115. <div class="panel panel-success">
  116. <div class="panel-heading">
  117. <h3 class="panel-title" data-toggle="tooltip" data-title="<?= T_('Real Internet') ?>"><?= T_("IPv6") ?></h3>
  118. </div>
  119. <div style="padding: 14px 14px 0 10px">
  120. <?php if(empty($ip6_net)): ?>
  121. <div class="alert alert-dismissible alert-warning fade in" style="margin: 2px 2px 17px" role="alert">
  122. <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
  123. <strong><?= T_('Notice') ?>:</strong> <?= T_("Currently, your wifi clients don't have IPv6 and it's a very bad thing. Ask your Internet Service Provider an IPv6 delegated prefix, or") ?>
  124. <a href="http://db.ffdn.org" class="alert-link"><?= T_('change providers') ?></a>!
  125. </div>
  126. <?php endif; ?>
  127. <div class="form-group">
  128. <label for="ip6_net" class="col-sm-3 control-label"><?= T_('Delegated prefix') ?></label>
  129. <div class="col-sm-9">
  130. <input type="text" class="form-control" name="ip6_net" id="ip6_net" placeholder="2001:db8:42::" value="<?= $ip6_net ?>" />
  131. </div>
  132. </div>
  133. <div class="form-group">
  134. <label for="ip6_dns0" class="col-sm-3 control-label"><?= T_('First DNS resolver') ?></label>
  135. <div class="col-sm-9">
  136. <input type="text" class="form-control" name="ip6_dns0" id="ip6_dns0" placeholder="2001:913::8" value="<?= $ip6_dns0 ?>" />
  137. </div>
  138. </div>
  139. <div class="form-group">
  140. <label for="ip6_dns1" class="col-sm-3 control-label"><?= T_('Second DNS resolver') ?></label>
  141. <div class="col-sm-9">
  142. <input type="text" class="form-control" name="ip6_dns1" id="ip6_dns1" placeholder="2001:910:800::40" value="<?= $ip6_dns1 ?>" />
  143. </div>
  144. </div>
  145. </div>
  146. </div>
  147. <div class="panel panel-danger">
  148. <div class="panel-heading">
  149. <h3 class="panel-title" data-toggle="tooltip" data-title="<?= T_('Old Internet') ?>"><?= T_("IPv4") ?></h3>
  150. </div>
  151. <div style="padding: 14px 14px 0 10px">
  152. <div class="form-group">
  153. <label for="ip4_nat_prefix" class="col-sm-3 control-label"><?= T_('NAT prefix (/24)') ?></label>
  154. <div class="col-sm-9">
  155. <input type="text" class="form-control" name="ip4_nat_prefix" id="ip4_nat_prefix" placeholder="10.0.242" value="<?= $ip4_nat_prefix ?>" />
  156. </div>
  157. </div>
  158. <div class="form-group">
  159. <label for="ip4_dns0" class="col-sm-3 control-label"><?= T_('First DNS resolver') ?></label>
  160. <div class="col-sm-9">
  161. <input type="text" class="form-control" name="ip4_dns0" id="ip4_dns0" placeholder="80.67.188.188" value="<?= $ip4_dns0 ?>" />
  162. </div>
  163. </div>
  164. <div class="form-group">
  165. <label for="ip4_dns1" class="col-sm-3 control-label"><?= T_('Second DNS resolver') ?></label>
  166. <div class="col-sm-9">
  167. <input type="text" class="form-control" name="ip4_dns1" id="ip4_dns1" placeholder="80.67.169.12" value="<?= $ip4_dns1 ?>" />
  168. </div>
  169. </div>
  170. </div>
  171. </div>
  172. <div class="form-group">
  173. <div style="text-align: center">
  174. <?php if($is_connected_through_hotspot): ?>
  175. <div class="alert alert-dismissible alert-warning fade in" role="alert" id="saveconfirmation">
  176. <strong><?= T_('Notice') ?>:</strong> <?= T_("You are currently connected through the wifi hotspot. Please, confirm the reloading, wait for the wifi disconnect/reconnect and go back here to check that everything is okay.") ?>
  177. <div id="confirm">
  178. <button type="submit" class="btn btn-default" data-toggle="tooltip" id="save" data-title="<?= T_('Reloading may take a few minutes. Be patient.') ?>"><?= T_('Confirm') ?></button> <img src="public/img/loading.gif" id="save-loading" alt="Loading..." />
  179. </div>
  180. </div>
  181. <button type="button" class="btn btn-default" id="saveconfirm"><?= T_('Save and reload') ?></button>
  182. <?php else: ?>
  183. <button type="submit" class="btn btn-default" data-toggle="tooltip" id="save" data-title="<?= T_('Reloading may take a few minutes. Be patient.') ?>"><?= T_('Save and reload') ?></button> <img src="public/img/loading.gif" id="save-loading" alt="Loading..." />
  184. <?php endif; ?>
  185. </div>
  186. </div>
  187. </form>
  188. </div>
  189. </div>