edit_server.html 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808
  1. <!-- Begin toolbar -->
  2. <div class="l-sort">
  3. <div class="l-sort__inner">
  4. <div class="l-unit-toolbar__buttonstrip">
  5. <a class="button button-secondary" id="btn-back" href="/list/server/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
  6. <a href="/list/ip/" class="button button-secondary"><i class="fas fa-ethernet status-icon blue"></i><?=_('IP');?></a>
  7. <?php if ((isset($_SESSION['FIREWALL_SYSTEM'])) && (!empty($_SESSION['FIREWALL_SYSTEM']))) {?>
  8. <a href="/list/firewall/" class="button button-secondary"><i class="fas fa-shield-blank status-icon red"></i><?=_('Firewall');?></a>
  9. <?php }?>
  10. </div>
  11. <div class="l-unit-toolbar__buttonstrip">
  12. <a href="#" class="button" data-action="submit" data-id="vstobjects"><i class="fas fa-floppy-disk status-icon purple"></i><?=_('Save');?></a>
  13. </div>
  14. </div>
  15. </div>
  16. <!-- End toolbar -->
  17. <div class="l-center animate__animated animate__fadeIn">
  18. <form id="vstobjects" name="v_configure_server" method="post">
  19. <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
  20. <input type="hidden" name="save" value="save">
  21. <div class="form-container">
  22. <h1 class="form-title"><?=_('Configuring Server');?></h1>
  23. <?php show_alert_message($_SESSION);?>
  24. <!-- Basic options tab -->
  25. <details class="collapse u-mb10">
  26. <summary class="collapse-header">
  27. <i class="fas fa-gear u-mr15"></i><?=_('Basic options');?>
  28. </summary>
  29. <div class="collapse-content">
  30. <div class="u-mb10">
  31. <label for="v_hostname" class="form-label"><?=_('Hostname');?></label>
  32. <input type="text" class="form-control" name="v_hostname" id="v_hostname" value="<?=htmlentities(trim($v_hostname, "'"))?>">
  33. </div>
  34. <div class="u-mb10">
  35. <label for="v_timezone" class="form-label"><?=_('Time Zone');?></label>
  36. <select class="form-select" name="v_timezone" id="v_timezone">
  37. <?php
  38. foreach ($v_timezones as $key => $value) {
  39. echo "\t\t\t\t<option value=\"".$value."\"";
  40. if ((!empty($v_timezone)) && ( $value == $v_timezone)){
  41. echo ' selected' ;
  42. }
  43. echo ">".$value."</option>\n";
  44. }
  45. ?>
  46. </select>
  47. </div>
  48. <div class="u-mb10">
  49. <label for="v_theme" class="form-label"><?=_('Theme');?></label>
  50. <select class="form-select" name="v_theme" id="v_theme">
  51. <?php
  52. foreach ($theme as $key => $value) {
  53. echo "\t\t\t\t<option value=\"".$value."\"";
  54. if (($value == $_SESSION['THEME'])){
  55. echo ' selected' ;
  56. }
  57. echo ">".$value."</option>\n";
  58. }
  59. ?>
  60. </select>
  61. </div>
  62. <div class="form-check u-mb20">
  63. <input class="form-check-input" type="checkbox" name="v_policy_user_change_theme" id="v_policy_user_change_theme" <?php if ((isset($_SESSION['POLICY_USER_CHANGE_THEME'])) && (!empty($_SESSION['POLICY_USER_CHANGE_THEME'])) && ($_SESSION['POLICY_USER_CHANGE_THEME'] == "no")) echo 'checked' ?>>
  64. <label for="v_policy_user_change_theme">
  65. <?=_('Set as selected theme for all users');?>
  66. </label>
  67. </div>
  68. <div class="u-mb10">
  69. <label for="v_language" class="form-label"><?=_('Default Language');?></label>
  70. <select class="form-select" name="v_language" id="v_language">
  71. <?php
  72. foreach ($languages as $key => $value) {
  73. echo "\n\t\t\t\t\t\t\t\t\t<option value=\"".$key."\"";
  74. if (( $key == $_SESSION['LANGUAGE'] && (empty($v_language)) )) {
  75. echo 'selected' ;
  76. }
  77. echo ">".htmlentities($value)."</option>\n";
  78. }
  79. ?>
  80. </select>
  81. </div>
  82. <div class="form-check">
  83. <input class="form-check-input" type="checkbox" name="v_language_update" id="v_language_update">
  84. <label for="v_language_update">
  85. <?=_('Set as default language for all users');?>
  86. </label>
  87. </div>
  88. </div>
  89. </details>
  90. <!-- Updates tab -->
  91. <details class="collapse u-mb10">
  92. <summary class="collapse-header">
  93. <i class="fas fa-code-branch u-mr15"></i><?=_('Updates');?>
  94. </summary>
  95. <div class="collapse-content">
  96. <p class="u-mb10">
  97. <?=_('Version');?>: <span class="optional"><?=$_SESSION['VERSION'];?></span>
  98. </p>
  99. <?php if ($_SESSION['RELEASE_BRANCH'] !== 'release') {?>
  100. <p><?=_('Release');?>: <span class="optional"><?=$_SESSION['RELEASE_BRANCH'];?></span></p>
  101. <?php } ?>
  102. <p class="u-mb5"><?=_('Options');?></p>
  103. <div class="form-check">
  104. <input class="form-check-input" type="checkbox" name="v_debug_mode" id="v_debug_mode" <?php if ((isset($_SESSION['DEBUG_MODE'])) && (!empty($_SESSION['DEBUG_MODE'])) && ($_SESSION['DEBUG_MODE'] == "true")) echo 'checked' ?>>
  105. <label for="v_debug_mode">
  106. <?=_('Enable debug mode');?>
  107. </label>
  108. </div>
  109. <div class="form-check">
  110. <input class="form-check-input" type="checkbox" name="v_experimental_features" id="v_experimental_features" <?php if ((isset($_SESSION['POLICY_SYSTEM_ENABLE_BACON'])) && (!empty($_SESSION['POLICY_SYSTEM_ENABLE_BACON'])) && ($_SESSION['POLICY_SYSTEM_ENABLE_BACON'] == "true")) echo 'checked' ?>>
  111. <label for="v_experimental_features">
  112. <?=_('Enable preview features');?>
  113. </label>
  114. <span class="hint">(<a href="/list/server/preview/"><?=_('View');?></a>)</span>
  115. </div>
  116. <div class="form-check">
  117. <input class="form-check-input" type="checkbox" name="v_upgrade_send_notification_email" id="v_upgrade_send_notification_email" <?php if ((isset($_SESSION['UPGRADE_SEND_EMAIL'])) && (!empty($_SESSION['UPGRADE_SEND_EMAIL'])) && ($_SESSION['UPGRADE_SEND_EMAIL'] == "true")) echo 'checked' ?>>
  118. <label for="v_upgrade_send_notification_email">
  119. <?=_('SYSTEM_UPGRADE_SEND_NOTIFICATION_EMAIL');?>
  120. </label>
  121. </div>
  122. <div class="form-check">
  123. <input class="form-check-input" type="checkbox" name="v_upgrade_send_email_log" id="v_upgrade_send_email_log" <?php if ((isset($_SESSION['UPGRADE_SEND_EMAIL_LOG'])) && (!empty($_SESSION['UPGRADE_SEND_EMAIL_LOG'])) && ($_SESSION['UPGRADE_SEND_EMAIL_LOG'] == "true")) echo 'checked' ?>>
  124. <label for="v_upgrade_send_email_log">
  125. <?=_('SYSTEM_UPGRADE_SEND_EMAIL_LOG');?>
  126. </label>
  127. </div>
  128. </div>
  129. </details>
  130. <!-- Web Server tab -->
  131. <details class="collapse u-mb10">
  132. <summary class="collapse-header">
  133. <i class="fas fa-earth-americas u-mr15"></i><?=_('Web Server');?>
  134. </summary>
  135. <div class="collapse-content">
  136. <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { ?>
  137. <p>
  138. <?=_('Proxy Server');?>: <span class="optional"><?=$_SESSION['PROXY_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['PROXY_SYSTEM'] ?>/"><i class="fas fa-pencil status-icon orange icon-pad-right"></i></a></span>
  139. </p>
  140. <?php } ?>
  141. <?php if (!empty($_SESSION['WEB_SYSTEM'])) { ?>
  142. <p>
  143. <?=_('Web Server');?>: <span class="optional"><?=$_SESSION['WEB_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['WEB_SYSTEM'] ?>/"><i class="fas fa-pencil status-icon orange icon-pad-right"></i></a></span>
  144. </p>
  145. <?php } ?>
  146. <?php if (!empty($_SESSION['WEB_BACKEND'])) { ?>
  147. <p>
  148. <?=_('Backend Server');?>: <span class="optional"><?=$_SESSION['WEB_BACKEND']; ?> <a href="/edit/server/<? echo $_SESSION['WEB_BACKEND'] ?>/"><i class="fas fa-pencil status-icon orange icon-pad-right"></i></a></span>
  149. </p>
  150. <?php } ?>
  151. <?php if (!empty($_SESSION['WEB_BACKEND_POOL'])) { ?>
  152. <p>
  153. <?=_('Backend Pool Mode');?>: <span class="optional"><?=$_SESSION['WEB_BACKEND_POOL']; ?></span>
  154. </p>
  155. <?php } ?>
  156. <?php if(count($v_php_versions)): ?>
  157. <div class="u-mt15">
  158. <p class="u-mb10"><?=_('Enabled multi PHP versions');?></p>
  159. <div class="alert alert-info alert-with-icon u-mb10" role="alert">
  160. <i class="fas fa-info"></i>
  161. <p><?=_('Please wait while php is installed or removed');?></p>
  162. </div>
  163. </div>
  164. <?php foreach($v_php_versions as $php_version): ?>
  165. <div class="form-check">
  166. <input class="form-check-input" type="checkbox"
  167. <?=$php_version->installed?'checked':''; ?>
  168. <?=$php_version->protected?'disabled':''; ?>
  169. id="<?=$php_version->name?>"
  170. name="v_php_versions[<?=$php_version->tpl?>]">
  171. <label for="<?=$php_version->name?>">
  172. <?=$php_version->name?>
  173. </label>
  174. </div>
  175. <?php foreach($php_version->usedby as $wd_user => $wd_domains ): ?>
  176. <?php foreach($wd_domains as $wd_domain ): ?>
  177. <p class="u-side-by-side" style="border: 1px lightgrey; padding:0 10px;">
  178. <span>
  179. <i class="fas fa-user"></i>
  180. <?=$wd_user;?>
  181. </span>
  182. <span class="optional"><?=$wd_domain;?></span>
  183. </p>
  184. <?php endforeach; ?>
  185. <?php endforeach; ?>
  186. <?php endforeach; ?>
  187. <?php endif; ?>
  188. <?php if(!empty($_SESSION['WEB_BACKEND'])){ ?>
  189. <div class="u-mt10">
  190. <label for="v_php_default_version" class="form-label"><?=_('System PHP version');?></label>
  191. <select class="form-select" name="v_php_default_version" id="v_php_default_version">
  192. <?php
  193. foreach ($v_php_versions as $php_version) {
  194. if ($php_version -> installed) {
  195. ?>
  196. <option value="<?=$php_version->version; ?>" <?php if($php_version->name == DEFAULT_PHP_VERSION){ echo "selected" ;}?> ><?=$php_version->name; ?></option>
  197. <?php
  198. }
  199. }
  200. ?>
  201. </select>
  202. </div>
  203. <?php } ?>
  204. </div>
  205. </details>
  206. <!-- DNS Server tab -->
  207. <?php if (!empty($_SESSION['DNS_SYSTEM'])) { ?>
  208. <details class="collapse u-mb10">
  209. <summary class="collapse-header">
  210. <i class="fas fa-book-atlas u-mr15"></i><?=_('DNS Server');?>
  211. </summary>
  212. <div class="collapse-content">
  213. <p>
  214. <?=_('DNS Server');?>: <span class="optional"><?=$_SESSION['DNS_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['DNS_SYSTEM'] ?>/"><i class="fas fa-pencil status-icon orange icon-pad-right"></i></a></span>
  215. </p>
  216. <p>
  217. <?=_('DNS Cluster');?>: <span class="optional"><?php if ($v_dns_cluster == 'yes') { echo _('Yes'); } else { echo _('No'); } ?></span>
  218. </p>
  219. <?php if ($v_dns_cluster == 'yes') {
  220. $i = 0;
  221. foreach ($dns_cluster as $key => $value) {
  222. $i++;
  223. ?>
  224. <div>
  225. <label for="v_dns_remote_host" class="form-label"><?=_('Host'). ' #'.$i ?></label>
  226. <input type="text" class="form-control" name="v_dns_remote_host" id="v_dns_remote_host" value="<?=$key; ?>" disabled>
  227. </div>
  228. <?php } } ?>
  229. </div>
  230. </details>
  231. <?php } ?>
  232. <!-- Mail Server tab -->
  233. <?php if ((!empty($_SESSION['MAIL_SYSTEM']))) { ?>
  234. <details class="collapse u-mb10">
  235. <summary class="collapse-header">
  236. <i class="fas fa-envelopes-bulk u-mr15"></i><?=_('Mail Server');?>
  237. </summary>
  238. <div class="collapse-content">
  239. <p>
  240. <?=_('Mail Server');?>: <span class="optional"><?=$_SESSION['MAIL_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['MAIL_SYSTEM'] ?>/"><i class="fas fa-pencil status-icon orange icon-pad-right"></i></a></span>
  241. </p>
  242. <?php if (!empty($_SESSION['ANTIVIRUS_SYSTEM'])) { ?>
  243. <p>
  244. <?=_('Antivirus');?>: <span class="optional"><?=$_SESSION['ANTIVIRUS_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['ANTIVIRUS_SYSTEM'] ?>/"><i class="fas fa-pencil status-icon orange icon-pad-right"></i></a></span>
  245. </p>
  246. <?php } ?>
  247. <?php if (!empty($_SESSION['ANTISPAM_SYSTEM'])) { ?>
  248. <p>
  249. <?=_('AntiSpam');?>: <span class="optional"><?=$_SESSION['ANTISPAM_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['ANTISPAM_SYSTEM'] ?>/"><i class="fas fa-pencil status-icon orange icon-pad-right"></i></a></span>
  250. </p>
  251. <?php } ?>
  252. <?php if($_SESSION['WEBMAIL_SYSTEM']){?>
  253. <div class="u-mt15 u-mb10">
  254. <label for="v_webmail_alias" class="form-label">
  255. <?=_('Webmail URL');?> <span class="hint">(<?=$_SESSION['WEBMAIL_ALIAS'];?>.example.com)</span>
  256. </label>
  257. <input type="text" class="form-control" name="v_webmail_alias" id="v_webmail_alias" value="<?=$_SESSION['WEBMAIL_ALIAS']; ?>">
  258. </div>
  259. <?php } ?>
  260. <div class="form-check u-mt20">
  261. <input class="form-check-input" type="checkbox" name="v_smtp_relay" id="v_smtp_relay" <?php if ($v_smtp_relay == 'true') echo 'checked'; ?> onclick="javascript:elementHideShow('smtp_relay_table');">
  262. <label for="v_smtp_relay">
  263. <?=_('Global SMTP Relay');?>
  264. </label>
  265. </div>
  266. <div id="smtp_relay_table" class="u-pl30 u-mt20" style="display:<?php if ($v_smtp_relay == 'true') {echo 'block';} else {echo 'none';}?> ;">
  267. <div class="u-mb10">
  268. <label for="v_smtp_relay_host" class="form-label"><?=_('Host');?></label>
  269. <input type="text" class="form-control" name="v_smtp_relay_host" id="v_smtp_relay_host" value="<?=htmlentities(trim($v_smtp_relay_host, "'"))?>">
  270. </div>
  271. <div class="u-mb10">
  272. <label for="v_smtp_relay_port" class="form-label"><?=_('Port');?></label>
  273. <input type="text" class="form-control" name="v_smtp_relay_port" id="v_smtp_relay_port" value="<?=htmlentities(trim($v_smtp_relay_port, "'"))?>">
  274. </div>
  275. <div class="u-mb10">
  276. <label for="v_smtp_relay_user" class="form-label"><?=_('Username');?></label>
  277. <input type="text" class="form-control" name="v_smtp_relay_user" id="v_smtp_relay_user" value="<?=htmlentities(trim($v_smtp_relay_user, "'"))?>">
  278. </div>
  279. <div class="u-mb10">
  280. <label for="v_smtp_relay_pass" class="form-label"><?=_('Password');?></label>
  281. <div class="u-pos-relative">
  282. <input type="text" class="form-control js-password-input" name="v_smtp_relay_pass" id="v_smtp_relay_pass">
  283. </div>
  284. </div>
  285. </div>
  286. </div>
  287. </details>
  288. <?php } ?>
  289. <!-- Databases tab -->
  290. <?php if (!empty($_SESSION['DB_SYSTEM'])) { ?>
  291. <details class="collapse u-mb10">
  292. <summary class="collapse-header">
  293. <i class="fas fa-database u-mr15"></i><?=_('Databases');?>
  294. </summary>
  295. <div class="collapse-content">
  296. <div class="u-mb10">
  297. <label for="v_mysql" class="form-label">
  298. <?=_('MySQL Support');?> <a href="/edit/server/mysql/"><i class="fas fa-pencil status-icon orange icon-pad-right"></i></a>
  299. </label>
  300. <select class="form-select" name="v_mysql" id="v_mysql" disabled>
  301. <option value="no"><?=_('No');?></option>
  302. <option value="yes" <?php if($v_mysql == 'yes') echo 'selected' ?>><?=_('Yes');?></option>
  303. </select>
  304. </div>
  305. <!-- MySQL / MariaDB Options-->
  306. <?php if ($v_mysql == 'yes') { ?>
  307. <div class="u-mb20">
  308. <label for="v_mysql_url" class="form-label"><?=_('phpMyAdmin URL');?></label>
  309. <input type="text" class="form-control" name="v_mysql_url" id="v_mysql_url" value="<?=$_SESSION['DB_PMA_ALIAS']; ?>">
  310. </div>
  311. <div class="u-mb10">
  312. <label for="v_phpmyadmin_key" class="form-label">
  313. <?=_('phpMyAdmin Single Sign On');?><span class="hint">(<a href="https://docs.hestiacp.com/admin_docs/database/phpmyadmin-sso.html" target="_blank"><?=_('More info');?></a>)</span>
  314. </label>
  315. <select class="form-select" name="v_phpmyadmin_key" id="v_phpmyadmin_key" <?php if ($_SESSION['API'] != 'yes'){ echo "disabled"; }?>>
  316. <option value="no"><?=_('Disabled');?></option>
  317. <option value='yes' <?php if($_SESSION['PHPMYADMIN_KEY'] != ''){ echo 'selected="selected"'; }; ?>><?=_('Enabled');?></option>
  318. </select>
  319. </div>
  320. <?php } ?>
  321. <?php if ($v_mysql == 'yes') {
  322. $i = 0;
  323. foreach ($v_mysql_hosts as $value) {
  324. $i++;
  325. ?>
  326. <div class="u-pl30">
  327. <div class="u-mb10">
  328. <label for="v_mysql_host" class="form-label"><?=_('Host'). ' #'.$i ?></label>
  329. <input type="text" class="form-control" name="v_mysql_host" id="v_mysql_host" value="<?=$value['HOST']?>" disabled>
  330. </div>
  331. <div class="u-mb10">
  332. <label for="v_mysql_password" class="form-label"><?=_('Password');?></label>
  333. <div class="u-pos-relative">
  334. <input type="text" class="form-control js-password-input" name="v_mysql_password" id="v_mysql_password">
  335. </div>
  336. </div>
  337. <div class="u-mb10">
  338. <label for="v_mysql_max" class="form-label">
  339. <?=_('Maximum Number Of Databases');?>
  340. </label>
  341. <input type="text" class="form-control" name="v_mysql_max" id="v_mysql_max" value="<?=$value['MAX_DB']; ?>" disabled>
  342. </div>
  343. <div class="u-mb10">
  344. <label for="v_mysql_current" class="form-label">
  345. <?=_('Current Number Of Databases');?>
  346. </label>
  347. <input type="text" class="form-control" name="v_mysql_current" id="v_mysql_current" value="<?=$value['U_DB_BASES']; ?>" disabled>
  348. </div>
  349. </div>
  350. <?php }} ?>
  351. <!-- PostgreSQL Options-->
  352. <?php if ($v_pgsql == 'yes') { ?>
  353. <div class="u-mb10">
  354. <label for="v_pgsql" class="form-label">
  355. <?=_('PostgreSQL Support');?> <a href="/edit/server/postgresql/"><i class="fas fa-pencil status-icon orange icon-pad-right"></i></a>
  356. </label>
  357. <select class="form-select" name="v_pgsql" id="v_pgsql" disabled>
  358. <option value="no"><?=_('No');?></option>
  359. <option value='yes' <?php if($v_pgsql == 'yes') echo 'selected' ?>><?=_('Yes');?></option>
  360. </select>
  361. </div>
  362. <div class="u-mb20">
  363. <label for="v_pgsql_url" class="form-label">
  364. <?=_('phpPgAdmin URL');?>
  365. </label>
  366. <input type="text" class="form-control" name="v_pgsql_url" id="v_pgsql_url" value="<?=$_SESSION['DB_PGA_ALIAS']; ?>">
  367. </div>
  368. <?php } ?>
  369. <?php if ($v_pgsql == 'yes') {
  370. $i = 0;
  371. foreach ($v_pgsql_hosts as $value) {
  372. $i++;
  373. ?>
  374. <div class="u-pl30">
  375. <div class="u-mb10">
  376. <label for="v_pgsql_host" class="form-label"><?=_('Host'). ' #'.$i ?></label>
  377. <input type="text" class="form-control" name="v_pgsql_host" id="v_pgsql_host" value="<?=$value['HOST']?>" disabled>
  378. </div>
  379. <div class="u-mb10">
  380. <label for="v_psql_max" class="form-label">
  381. <?=_('Maximum Number Of Databases');?>
  382. </label>
  383. <input type="text" class="form-control" name="v_psql_max" id="v_psql_max" value="<?=$value['MAX_DB']; ?>" disabled>
  384. </div>
  385. <div class="u-mb10">
  386. <label for="v_pgsql_max" class="form-label">
  387. <?=_('Current Number Of Databases');?>
  388. </label>
  389. <input type="text" class="form-control" name="v_pgsql_max" id="v_pgsql_max" value="<?=$value['U_DB_BASES']; ?>" disabled>
  390. </div>
  391. </div>
  392. <?php }} ?>
  393. </div>
  394. </details>
  395. <?php } ?>
  396. <!-- Backups tab -->
  397. <details class="collapse u-mb10">
  398. <summary class="collapse-header">
  399. <i class="fas fa-arrow-rotate-left u-mr15"></i><?=_('Backups');?>
  400. </summary>
  401. <div class="collapse-content">
  402. <div class="u-mb10">
  403. <label for="v_backup" class="form-label"><?=_('Local backup');?></label>
  404. <select class="form-select" name="v_backup" id="v_backup">
  405. <option value="no"><?=_('No');?></option>
  406. <option value="yes" <?php if($v_backup == 'yes') echo 'selected' ?>><?=_('Yes');?></option>
  407. </select>
  408. </div>
  409. <div class="u-mb10">
  410. <label for="v_backup_mode" class="form-label">
  411. <?=_('Compression');?> <a target="_blank" href="http://docs.hestiacp.com/admin_docs/backups.html#what-is-the-difference-between-zstd-and-gzip"><i class="fas fa-circle-question"></i></a>
  412. </label>
  413. <select class="form-select" name="v_backup_mode" id="v_backup_mode">
  414. <option value="gzip" <?php if($v_backup_mode != 'zstd') echo 'selected' ?>>gzip</option>
  415. <option value="zstd" <?php if($v_backup_mode == 'zstd') echo 'selected' ?>>zstd</option>
  416. </select>
  417. </div>
  418. <div class="u-mb10">
  419. <label for="v_backup_gzip" class="form-label">
  420. <?=_('Compression level');?> <a target="_blank" href="http://docs.hestiacp.com/admin_docs/backups.html#what-is-the-optimal-compression-ratio"><i class="fas fa-circle-question"></i></a>
  421. </label>
  422. <select class="form-select" name="v_backup_gzip" id="v_backup_gzip">
  423. <?php for ($level = 1; $level < 20; $level++) { ?>
  424. <option value='<?=$level;?>' <?php if($v_backup_gzip == $level) echo 'selected' ?>><?=$level;?><?php if($level > 9){ echo sprintf(' (%s)', _('zstd only')); } ?></option>
  425. <?php } ?>
  426. </select>
  427. </div>
  428. <div class="u-mb20">
  429. <label for="v_backup_dir" class="form-label">
  430. <?=_('Directory');?> <a target="_blank" href="https://docs.hestiacp.com/admin_docs/backups.html#how-to-change-default-backup-folder"><i class="fas fa-circle-question"></i></a>
  431. </label>
  432. <input type="text" class="form-control" name="v_backup_dir" id="v_backup_dir" value="<?=trim($v_backup_dir, "'")?>" disabled="disabled">
  433. </div>
  434. <div class="form-check">
  435. <input class="form-check-input" type="checkbox" name="v_backup_remote_adv" id="v_backup_remote_adv" <?php if (!empty($v_backup_remote_adv)) echo 'checked' ?> onclick="javascript:elementHideShow('remote_backup');">
  436. <label for="v_backup_remote_adv">
  437. <?=_('Remote backup');?>
  438. </label>
  439. </div>
  440. <div id="remote_backup" class="u-pl30 u-mt20" style="display:<?php if (empty($v_backup_remote_adv)) echo 'none';?> ;">
  441. <div class="u-mb10">
  442. <label for="backup_type" class="form-label">
  443. <?=_('Protocol');?> <a target="_blank" href="http://docs.hestiacp.com/admin_docs/backups.html#what-kind-of-protocols-are-currently-supported"><i class="fas fa-circle-question"></i></a>
  444. </label>
  445. <select class="form-select" name="v_backup_type" id="backup_type">
  446. <option value='ftp'><?=_('ftp');?></option>
  447. <option value='sftp' <?php if((!empty($v_backup_type)) && (trim($v_backup_type,"'") == 'sftp' )) echo 'selected="selected"'; ?>><?=_('sftp');?></option>
  448. <option value="b2" <?php if((!empty($v_backup_type)) && (trim($v_backup_type,"'") == 'b2' )) echo 'selected="selected"'; ?>><?=_('Backblaze');?>
  449. <option value="rclone" <?php if((!empty($v_backup_type)) && (trim($v_backup_type,"'") == 'rclone' )) echo 'selected="selected"'; ?>><?=_('Rclone');?>
  450. </select>
  451. </div>
  452. <div id="backup_sftp" style="display: <?php if ((!empty($v_backup_type)) && !in_array(trim($v_backup_type, "'"),array('ftp','sftp'))){ echo 'none';} else {echo 'block';} ?>">
  453. <div class="u-mb10">
  454. <label for="v_backup_host" class="form-label"><?=_('Host');?></label>
  455. <input type="text" class="form-control" name="v_backup_host" id="v_backup_host" value="<?=trim($v_backup_host, "'")?>">
  456. </div>
  457. <div class="u-mb20">
  458. <label for="v_backup_port" class="form-label"><?=_('Port');?></label>
  459. <input type="text" class="form-control" name="v_backup_port" id="v_backup_port" value="<?=trim($v_backup_port, "'")?>">
  460. </div>
  461. <div class="u-mb10">
  462. <label for="v_backup_username" class="form-label"><?=_('Username');?></label>
  463. <input type="text" class="form-control" name="v_backup_username" id="v_backup_username" value="<?=trim($v_backup_username, "'")?>">
  464. </div>
  465. <div class="u-mb20">
  466. <label for="v_backup_password" class="form-label"><?=_('Password');?></label>
  467. <div class="u-pos-relative">
  468. <input type="text" class="form-control js-password-input" name="v_backup_password" id="v_backup_password" value="<?=trim($v_backup_password, "'")?>">
  469. </div>
  470. </div>
  471. <div class="u-mb10">
  472. <label for="v_backup_bpath" class="form-label"><?=_('Directory');?></label>
  473. <input type="text" class="form-control" name="v_backup_bpath" id="v_backup_bpath" value="<?=trim($v_backup_bpath, "'")?>">
  474. </div>
  475. </div>
  476. <div id="backup_bucket" style="display: <?php if ((empty($v_backup_type)) || !in_array(trim($v_backup_type, "'"),array('b2'))){ echo 'none';} else {echo 'block';} ?>">
  477. <div class="u-mb10">
  478. <label for="v_backup_bucket" class="form-label"><?=_('Bucket');?></label>
  479. <input type="text" class="form-control" name="v_backup_bucket" id="v_backup_bucket" value="<?=trim($v_backup_bucket, "'")?>">
  480. </div>
  481. <div class="u-mb10">
  482. <label for="v_backup_application_id" class="form-label"><?=_('Key ID');?></label>
  483. <input type="text" class="form-control" name="v_backup_application_id" id="v_backup_application_id" value="<?=trim($v_backup_application_id, "'")?>">
  484. </div>
  485. <div class="u-mb10">
  486. <label for="v_backup_application_key" class="form-label"><?=_('Application Key');?></label>
  487. <input type="text" class="form-control" name="v_backup_application_key" id="v_backup_application_key" value="<?=trim($v_backup_application_key, "'")?>">
  488. </div>
  489. </div>
  490. <div id="backup_rclone" style="display: <?php if ((empty($v_backup_type)) || !in_array(trim($v_backup_type, "'"),array('rclone'))){ echo 'none';} else {echo 'block';} ?>">
  491. <div class="u-mb10">
  492. <label for="v_rclone_host" class="form-label"><?=_('Host');?></label>
  493. <input type="text" class="form-control" name="v_rclone_host" id="v_rclone_host" value="<?=trim($v_rclone_host, "'")?>">
  494. </div>
  495. <div class="u-mb10">
  496. <label for="v_rclone_path" class="form-label"><?=_('Directory');?></label>
  497. <input type="text" class="form-control" name="v_rclone_path" id="v_rclone_path" value="<?=trim($v_rclone_path, "'")?>">
  498. </div>
  499. </div>
  500. </div>
  501. </div>
  502. </details>
  503. <!-- SSL tab -->
  504. <details class="collapse u-mb10">
  505. <summary class="collapse-header">
  506. <i class="fas fa-lock u-mr15"></i><?=_('SSL');?>
  507. </summary>
  508. <div class="collapse-content">
  509. <div class="u-mb20">
  510. <label for="v_ssl_crt" class="form-label">
  511. <?=_('SSL Certificate');?>
  512. <span id="generate-csr"> / <a class="generate" target="_blank" href="/generate/ssl/?domain=<?=htmlentities(trim($v_hostname,'"'));?>"><?=_('Generate CSR');?></a></span>
  513. </label>
  514. <textarea class="form-control u-min-height100 u-console" name="v_ssl_crt" id="v_ssl_crt"><?=htmlentities(trim($v_ssl_crt, "'"))?></textarea>
  515. </div>
  516. <div class="u-mb20">
  517. <label for="v_ssl_key" class="form-label"><?=_('SSL Key');?></label>
  518. <textarea class="form-control u-min-height100 u-console" name="v_ssl_key" id="v_ssl_key"><?=htmlentities(trim($v_ssl_key, "'"))?></textarea>
  519. </div>
  520. <table class="additional-info">
  521. <tr>
  522. <td>
  523. <b><?=_('SUBJECT');?>:</b>
  524. </td>
  525. <td class="details">
  526. <?=$v_ssl_subject?>
  527. </td>
  528. </tr>
  529. <?php if ($v_ssl_aliases){?>
  530. <tr>
  531. <td>
  532. <b><?=_('Aliases');?>:</b>
  533. </td>
  534. <td class="details">
  535. <?=$v_ssl_aliases?>
  536. </td>
  537. </tr>
  538. <?php } ?>
  539. <tr>
  540. <td>
  541. <b><?=_('NOT_BEFORE');?>:</b>
  542. </td>
  543. <td class="details">
  544. <?=$v_ssl_not_before?>
  545. </td>
  546. </tr>
  547. <tr>
  548. <td>
  549. <b><?=_('NOT_AFTER');?>:</b>
  550. </td>
  551. <td class="details">
  552. <?=$v_ssl_not_after?>
  553. </td>
  554. </tr>
  555. <tr>
  556. <td>
  557. <b><?=_('SIGNATURE');?>:</b>
  558. </td>
  559. <td class="details">
  560. <?=$v_ssl_signature?>
  561. </td>
  562. </tr>
  563. <tr>
  564. <td>
  565. <b><?=_('PUB_KEY');?>:</b>
  566. </td>
  567. <td class="details">
  568. <?=$v_ssl_pub_key?>
  569. </td>
  570. </tr>
  571. <tr>
  572. <td>
  573. <b><?=_('ISSUER');?>:</b>
  574. </td>
  575. <td class="details">
  576. <?=$v_ssl_issuer?>
  577. </td>
  578. </tr>
  579. </table>
  580. </div>
  581. </details>
  582. <!-- Security tab -->
  583. <details class="collapse u-mb10">
  584. <summary class="collapse-header">
  585. <i class="fas fa-key u-mr15"></i><?=_('Security');?>
  586. </summary>
  587. <div class="collapse-content">
  588. <h3 class="section-title" onclick="javascript:elementHideShow('security-system-table',this);">
  589. <?=_('System');?>
  590. <i class="fas fa-square-plus status-icon dim maroon js-section-toggle-icon"></i>
  591. </h3>
  592. <div id="security-system-table" style="display: none;">
  593. <p class="u-pt18" style="font-size:1rem;padding-bottom:12px;">
  594. <?=_('API');?>
  595. </p>
  596. <div class="u-mb10">
  597. <label for="api-system" class="form-label"><?=_('Enable API access');?></label>
  598. <select class="form-select" name="v_api_system" id="api-system">
  599. <option value='0' <?php if(empty($_SESSION['API_SYSTEM']) || $_SESSION['API_SYSTEM'] == '0') echo 'selected' ?>><?=_('Disabled');?></option>
  600. <option value='1' <?php if($_SESSION['API_SYSTEM'] == '1') echo 'selected' ?>><?=_('Enabled for admin');?></option>
  601. <option value='2' <?php if($_SESSION['API_SYSTEM'] == '2') echo 'selected' ?>><?=_('Enabled for all users');?></option>
  602. </select>
  603. </div>
  604. <div class="u-mb10">
  605. <label for="api" class="form-label"><?=_('Enable legacy API access');?></label>
  606. <select class="form-select" name="v_api" id="api">
  607. <option value="yes"><?=_('Yes');?></option>
  608. <option value="no" <?php if($_SESSION['API'] == 'no') echo 'selected' ?>><?=_('No');?></option>
  609. </select>
  610. </div>
  611. <div id="security_ip" style="<?php if ($_SESSION['API'] == "no" && $_SESSION['API_SYSTEM'] == '0') echo 'display:none;';?>">
  612. <div class="u-mb10">
  613. <label for="v_api_allowed_ip" class="form-label u-side-by-side">
  614. <?=_('Allowed IP addresses for API');?> <span class="optional">1 IP address per line</span>
  615. </label>
  616. <textarea class="form-control" name="v_api_allowed_ip" id="v_api_allowed_ip"><?php
  617. foreach(explode(',',$_SESSION['API_ALLOWED_IP']) as $ip ){
  618. echo trim($ip)."\n";
  619. }
  620. ?></textarea>
  621. </div>
  622. </div>
  623. <p class="u-pt18" style="font-size:1rem;padding-bottom:12px;">
  624. <?=_('Login');?>
  625. </p>
  626. <div class="u-mb10">
  627. <label for="v_login_style" class="form-label"><?=_('Login screen style');?></label>
  628. <select class="form-select" name="v_login_style" id="v_login_style">
  629. <option value="default"><?=_('Default');?></option>
  630. <option value="old" <?php if($_SESSION['LOGIN_STYLE'] == 'old') echo 'selected' ?>><?=_('Old Style');?></option>
  631. </select>
  632. </div>
  633. <div class="u-mb10">
  634. <label for="v_policy_system_password_reset" class="form-label"><?=_('Allow users to reset their passwords');?></label>
  635. <select class="form-select" name="v_policy_system_password_reset" id="v_policy_system_password_reset">
  636. <option value="yes"><?=_('Yes');?></option>
  637. <option value="no" <?php if($_SESSION['POLICY_SYSTEM_PASSWORD_RESET'] == 'no') echo 'selected' ?>><?=_('No');?></option>
  638. </select>
  639. </div>
  640. <div class="u-mb20">
  641. <label for="v_inactive_session_timeout" class="form-label">
  642. <?=_('Inactive session timeout');?> (<?=_('Minutes');?>)
  643. </label>
  644. <input type="text" class="form-control" name="v_inactive_session_timeout" id="v_inactive_session_timeout" value="<?=trim($_SESSION['INACTIVE_SESSION_TIMEOUT'], "'")?>">
  645. </div>
  646. <div class="u-mb10">
  647. <label for="v_policy_csrf_strictness" class="form-label"><?=_('Prevent CSRF');?></label>
  648. <select class="form-select" name="v_policy_csrf_strictness" id="v_policy_csrf_strictness">
  649. <option value="0" <?php if($_SESSION['POLICY_CSRF_STRICTNESS'] == '0') echo 'selected' ?>><?=_('Disabled');?></option>
  650. <option value="1" <?php if($_SESSION['POLICY_CSRF_STRICTNESS'] == '1') echo 'selected' ?>><?=_('Enabled');?></option>
  651. <option value="2" <?php if($_SESSION['POLICY_CSRF_STRICTNESS'] == '2') echo 'selected' ?>><?=_('Strict');?></option>
  652. </select>
  653. </div>
  654. </div>
  655. <?php if (($_SESSION['userContext'] === "admin") && ($_SESSION['user'] === 'admin')) {?>
  656. <h3 class="section-title" onclick="javascript:elementHideShow('security-sysadminprotect-table',this);">
  657. <?=_('System Protection');?>
  658. <i class="fas fa-square-plus status-icon dim maroon js-section-toggle-icon"></i>
  659. </h3>
  660. <div id="security-sysadminprotect-table" style="display: none;">
  661. <p class="u-pt18" style="font-size:1rem;padding-bottom:12px;">
  662. <?=_('System Administrator account');?>
  663. </p>
  664. <div class="u-mb10">
  665. <label for="v_policy_system_protected_admin" class="form-label"><?=_('Restrict access to read-only for other administrators');?></label>
  666. <select class="form-select" name="v_policy_system_protected_admin" id="v_policy_system_protected_admin">
  667. <option value="yes"><?=_('Yes');?></option>
  668. <option value="no" <?php if($_SESSION['POLICY_SYSTEM_PROTECTED_ADMIN'] !== 'yes') echo 'selected' ?>><?=_('No');?></option>
  669. </select>
  670. </div>
  671. <div class="u-mb10">
  672. <label for="v_policy_system_hide_admin" class="form-label"><?=_('Hide account from other administrators');?></label>
  673. <select class="form-select" name="v_policy_system_hide_admin" id="v_policy_system_hide_admin">
  674. <option value="yes"><?=_('Yes');?></option>
  675. <option value="no" <?php if($_SESSION['POLICY_SYSTEM_HIDE_ADMIN'] !== 'yes') echo 'selected' ?>><?=_('No');?></option>
  676. </select>
  677. </div>
  678. <div class="u-mb10">
  679. <label for="v_policy_system_hide_services" class="form-label"><?=_('Do not allow other administrators to access Server Settings');?></label>
  680. <select class="form-select" name="v_policy_system_hide_services" id="v_policy_system_hide_services">
  681. <option value="yes"><?=_('Yes');?></option>
  682. <option value="no" <?php if($_SESSION['POLICY_SYSTEM_HIDE_SERVICES'] !== 'yes') echo 'selected' ?>><?=_('No');?></option>
  683. </select>
  684. </div>
  685. </div>
  686. <?php } ?>
  687. <h3 class="section-title" onclick="javascript:elementHideShow('security-policies-table',this);">
  688. <?=_('Policies');?>
  689. <i class="fas fa-square-plus status-icon dim maroon js-section-toggle-icon"></i>
  690. </h3>
  691. <div id="security-policies-table" style="display: none;">
  692. <p class="u-pt18" style="font-size:1rem;padding-bottom:12px;">
  693. <?=_('Users');?>
  694. </p>
  695. <?php if ($_SESSION['POLICY_SYSTEM_ENABLE_BACON'] === 'true') { ?>
  696. <div class="u-mb10">
  697. <label for="v_policy_user_view_suspended" class="form-label">
  698. <?=_('Allow suspended users to log in with read-only access');?> <span class="hint">(<?=_('Preview');?>)</span>
  699. </label>
  700. <select class="form-select" name="v_policy_user_view_suspended" id="v_policy_user_view_suspended">
  701. <option value="yes" <?php if($_SESSION['POLICY_USER_VIEW_SUSPENDED'] !== 'no') echo 'selected' ?>><?=_('Yes');?></option>
  702. <option value="no" <?php if($_SESSION['POLICY_USER_VIEW_SUSPENDED'] == 'no') echo 'selected' ?>><?=_('No');?></option>
  703. </select>
  704. </div>
  705. <?php } ?>
  706. <div class="u-mb10">
  707. <label for="v_policy_user_edit_details" class="form-label"><?=_('Allow users to edit their account details');?></label>
  708. <select class="form-select" name="v_policy_user_edit_details" id="v_policy_user_edit_details">
  709. <option value="yes" <?php if($_SESSION['POLICY_USER_EDIT_DETAILS'] !== 'no') echo 'selected' ?>><?=_('Yes');?></option>
  710. <option value="no" <?php if($_SESSION['POLICY_USER_EDIT_DETAILS'] == 'no') echo 'selected' ?>><?=_('No');?></option>
  711. </select>
  712. </div>
  713. <div class="u-mb10">
  714. <label for="v_policy_user_edit_web_templates" class="form-label"><?=_('Allow users to change templates when editing web domains');?></label>
  715. <select class="form-select" name="v_policy_user_edit_web_templates" id="v_policy_user_edit_web_templates">
  716. <option value="yes" <?php if($_SESSION['POLICY_USER_EDIT_WEB_TEMPLATES'] !== 'no') echo 'selected' ?>><?=_('Yes');?></option>
  717. <option value="no" <?php if($_SESSION['POLICY_USER_EDIT_WEB_TEMPLATES'] == 'no') echo 'selected' ?>><?=_('No');?></option>
  718. </select>
  719. </div>
  720. <div class="u-mb10">
  721. <label for="v_policy_user_edit_dns_templates" class="form-label"><?=_('Allow users to change templates when editing DNS zones');?></label>
  722. <select class="form-select" name="v_policy_user_edit_dns_templates" id="v_policy_user_edit_dns_templates">
  723. <option value="yes" <?php if($_SESSION['POLICY_USER_EDIT_DNS_TEMPLATES'] !== 'no') echo 'selected' ?>><?=_('Yes');?></option>
  724. <option value="no" <?php if($_SESSION['POLICY_USER_EDIT_DNS_TEMPLATES'] == 'no') echo 'selected' ?>><?=_('No');?></option>
  725. </select>
  726. </div>
  727. <div class="u-mb10">
  728. <label for="v_policy_user_view_logs" class="form-label"><?=_('Allow users to view action and login history logs');?></label>
  729. <select class="form-select" name="v_policy_user_view_logs" id="v_policy_user_view_logs">
  730. <option value="yes" <?php if($_SESSION['POLICY_USER_VIEW_LOGS'] !== 'no') echo 'selected' ?>><?=_('Yes');?></option>
  731. <option value="no" <?php if($_SESSION['POLICY_USER_VIEW_LOGS'] == 'no') echo 'selected' ?>><?=_('No');?></option>
  732. </select>
  733. </div>
  734. <div class="u-mb10">
  735. <label for="v_policy_user_delete_logs" class="form-label"><?=_('Allow users to delete log history');?></label>
  736. <select class="form-select" name="v_policy_user_delete_logs" id="v_policy_user_delete_logs">
  737. <option value="yes" <?php if($_SESSION['POLICY_USER_DELETE_LOGS'] !== 'no') echo 'selected' ?>><?=_('Yes');?></option>
  738. <option value="no" <?php if($_SESSION['POLICY_USER_DELETE_LOGS'] == 'no') echo 'selected' ?>><?=_('No');?></option>
  739. </select>
  740. </div>
  741. <p class="u-pt18" style="font-size:1rem;padding-bottom:12px;">
  742. <?=_('Domains');?>
  743. </p>
  744. <div class="u-mb10">
  745. <label for="v_enforce_subdomain_ownership" class="form-label"><?=_('Enforce subdomain ownership');?></label>
  746. <select class="form-select" name="v_enforce_subdomain_ownership" id="v_enforce_subdomain_ownership">
  747. <option value="yes"><?=_('Yes');?></option>
  748. <option value="no" <?php if($_SESSION['ENFORCE_SUBDOMAIN_OWNERSHIP'] == 'no') echo 'selected' ?>><?=_('No');?></option>
  749. </select>
  750. </div>
  751. </div>
  752. </div>
  753. </details>
  754. <!-- Plugins tab -->
  755. <details class="collapse u-mb10">
  756. <summary class="collapse-header">
  757. <i class="fas fa-puzzle-piece u-mr15"></i><?=_('Hestia Control Panel Plugins');?>
  758. </summary>
  759. <div class="collapse-content">
  760. <div class="u-mb10">
  761. <label for="v_plugin_app_installer" class="form-label"><?=_('Quick App Installer');?></label>
  762. <select class="form-select" name="v_plugin_app_installer" id="v_plugin_app_installer">
  763. <option value="false"><?=_('No');?></option>
  764. <option value="true" <?php if($_SESSION['PLUGIN_APP_INSTALLER'] == 'true') echo 'selected' ?>><?=_('Yes');?></option>
  765. </select>
  766. </div>
  767. <div class="u-mb10">
  768. <label for="v_filemanager" class="form-label"><?=_('Filemanager');?></label>
  769. <select class="form-select" name="v_filemanager" id="v_filemanager">
  770. <option value="false"><?=_('No');?></option>
  771. <option value="true" <?php if($_SESSION['FILE_MANAGER'] == 'true') echo 'selected' ?>><?=_('Yes');?></option>
  772. </select>
  773. </div>
  774. <div class="u-mb10">
  775. <label for="v_quota" class="form-label"><?=_('FileSystem Disk Quota');?></label>
  776. <select class="form-select" name="v_quota" id="v_quota">
  777. <option value="no"><?=_('No');?></option>
  778. <option value="yes" <?php if($_SESSION['DISK_QUOTA'] == 'yes') echo 'selected' ?>><?=_('Yes');?></option>
  779. </select>
  780. </div>
  781. <div class="u-mb10">
  782. <label for="v_firewall" class="form-label"><?=_('Firewall');?></label>
  783. <select class="form-select" name="v_firewall" id="v_firewall">
  784. <option value="no"><?=_('No');?></option>
  785. <option value="yes" <?php if($_SESSION['FIREWALL_SYSTEM'] == 'iptables') echo 'selected' ?>><?=_('Yes');?></option>
  786. </select>
  787. </div>
  788. </div>
  789. </details>
  790. </div>
  791. </form>
  792. </div>