edit_server.html 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305
  1. <!-- Begin toolbar -->
  2. <div class="l-center edit">
  3. <div class="l-sort clearfix">
  4. <div class="l-unit-toolbar__buttonstrip">
  5. <a class="ui-button cancel" dir="ltr" id="btn-back" href="/list/server/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
  6. <a href="/list/ip/" class="ui-button cancel" dir="ltr"><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="ui-button cancel" dir="ltr"><i class="fas fa-shield-alt status-icon red"></i><?=_('Firewall');?></a>
  9. <?php }?>
  10. </div>
  11. <div class="l-unit-toolbar__buttonstrip float-right">
  12. <a href="#" class="ui-button" data-action="submit" data-id="vstobjects"><i class="fas fa-save status-icon purple"></i><?=_('Save');?></a>
  13. </div>
  14. </div>
  15. </div>
  16. <!-- End toolbar -->
  17. <div class="l-separator"></div>
  18. <div class="l-center animated fadeIn">
  19. <form id="vstobjects" name="v_configure_server" method="post">
  20. <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
  21. <input type="hidden" name="save" value="save" />
  22. <table class="data mode-add">
  23. <tr class="data-add">
  24. <td class="data-dotted">
  25. <table class="data-col1">
  26. <tr>
  27. <td></td>
  28. </tr>
  29. </table>
  30. </td>
  31. <td class="data-dotted">
  32. <table class="data-col2" width="600px">
  33. <tr>
  34. <td class="step-top">
  35. <span class="page-title"><?=_('Configuring Server');?></span>
  36. </td>
  37. </tr>
  38. <tr>
  39. <td>
  40. <?php
  41. if (!empty($_SESSION['error_msg'])) {
  42. $msg_icon = 'fa-exclamation-circle status-icon red';
  43. $msg_text = htmlentities($_SESSION['error_msg']);
  44. $msg_id = 'vst-error';
  45. } else {
  46. if (!empty($_SESSION['ok_msg'])) {
  47. $msg_icon = 'fa-check-circle status-icon green';
  48. $msg_text = $_SESSION['ok_msg'];
  49. $msg_id = 'vst-ok';
  50. }
  51. }
  52. ?>
  53. <span class="<?=$msg_id;?>"> <i class="fas <?=$msg_icon;?>"></i> <?=$msg_text;?></span>
  54. <br><br>
  55. </td>
  56. </tr>
  57. <!-- Basic options tab -->
  58. <tr>
  59. <td class="vst-text input-label step-top advanced-options">
  60. <a href="javascript:elementHideShow('basic');" class="vst-text">
  61. <i class="fas fa-cog"></i><b><?=_('Basic options');?> <img src="/images/arrow.png"></b>
  62. </a>
  63. </td>
  64. </tr>
  65. <tr>
  66. <td class="vst-text input-label step-left">
  67. <table style="display:<?php if (empty($v_adv)) echo 'none';?> ;" id="basic">
  68. <tr>
  69. <td class="vst-text step-top">
  70. <?=_('Hostname');?>
  71. </td>
  72. </tr>
  73. <tr>
  74. <td>
  75. <input type="text" size="20" class="vst-input" name="v_hostname" value="<?=htmlentities(trim($v_hostname, "'"))?>">
  76. <br><br>
  77. </td>
  78. </tr>
  79. <tr>
  80. <td class="vst-text input-label">
  81. <?=_('Time Zone');?>
  82. </td>
  83. </tr>
  84. <tr>
  85. <td>
  86. <select class="vst-list" name="v_timezone">
  87. <?php
  88. foreach ($v_timezones as $key => $value) {
  89. echo "\t\t\t\t<option value=\"".$key."\"";
  90. if ((!empty($v_timezone)) && ( $key == $v_timezone)){
  91. echo ' selected' ;
  92. }
  93. if ((!empty($v_timezone)) && ( $key == $_POST['v_timezone'])){
  94. echo ' selected' ;
  95. }
  96. echo ">".$value."</option>\n";
  97. }
  98. ?>
  99. </select>
  100. <br><br>
  101. </td>
  102. </tr>
  103. <tr>
  104. <td class="vst-text input-label">
  105. <?=_('Theme');?>
  106. </td>
  107. </tr>
  108. <tr>
  109. <td>
  110. <select class="vst-list" name="v_theme">
  111. <?php
  112. foreach ($theme as $key => $value) {
  113. echo "\t\t\t\t<option value=\"".$value."\"";
  114. if ((!empty($_SESSION['THEME'])) && ( $value == $_SESSION['THEME'])){
  115. echo ' selected' ;
  116. }
  117. if ((!empty($_SESSION['THEME'])) && ( $value == $_POST['v_theme'])){
  118. echo ' selected' ;
  119. }
  120. echo ">".$value."</option>\n";
  121. }
  122. ?>
  123. </select>
  124. </td>
  125. </tr>
  126. <tr>
  127. <td class="vst-text input-label">
  128. <label><input type="checkbox" size="20" class="vst-checkbox" name="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=yes" ?>><?=_('Set as selected theme for all users');?></label>
  129. </td>
  130. </tr>
  131. <tr>
  132. <td class="vst-text input-label step-top">
  133. <?=_('Default Language');?>
  134. </td>
  135. </tr>
  136. <tr>
  137. <td>
  138. <select class="vst-list" name="v_language">
  139. <?php
  140. foreach ($languages as $key => $value) {
  141. echo "\n\t\t\t\t\t\t\t\t\t<option value=\"".$key."\"";
  142. if ( $key == $v_language ){
  143. echo 'selected' ;
  144. }
  145. if (( $key == $_SESSION['LANGUAGE'] && (empty($v_language)) )) {
  146. echo 'selected' ;
  147. }
  148. echo ">".htmlentities($value)."</option>\n";
  149. }
  150. ?>
  151. </select>
  152. </td>
  153. </tr>
  154. <tr>
  155. <td class="vst-text input-label">
  156. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_language_update"><?=_('Set as default language for all users');?></label>
  157. </td>
  158. </tr>
  159. <tr>
  160. <td>
  161. <br><br>
  162. </td>
  163. </tr>
  164. </table>
  165. </td>
  166. </tr>
  167. <!-- Updates tab -->
  168. <tr>
  169. <td class="vst-text input-label step-top advanced-options">
  170. <a href="javascript:elementHideShow('version');" class="vst-text">
  171. <i class="fas fa-code-branch"></i><b><?=_('Updates');?> <img src="/images/arrow.png"></b>
  172. </a>
  173. </td>
  174. </tr>
  175. <tr>
  176. <td class="vst-text input-label step-left">
  177. <table style="display:<?php if (empty($v_adv)) echo 'none';?> ;" id="version">
  178. <tr>
  179. <td class="vst-text step-top">
  180. <?=_('Version'); ?>: <span class="optional"><?=$_SESSION['VERSION'];?></span>
  181. </td>
  182. </tr>
  183. <?php if ($_SESSION['RELEASE_BRANCH'] !== 'release') {?>
  184. <tr>
  185. <td class="vst-text">
  186. <?=_('Release'); ?>: <span class="optional"><?=$_SESSION['RELEASE_BRANCH'];?></span>
  187. </td>
  188. </tr>
  189. <?php } ?>
  190. <tr>
  191. <td class="vst-text input-label">
  192. <?=_('Options'); ?>
  193. </td>
  194. </tr>
  195. <?php if ($_SESSION['RELEASE_BRANCH'] != "release") { ?>
  196. <tr>
  197. <td>
  198. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_debug_mode" <?php if ((isset($_SESSION['DEBUG_MODE'])) && (!empty($_SESSION['DEBUG_MODE'])) && ($_SESSION['DEBUG_MODE'] == "true")) echo "checked=yes" ?>><?=_('Enable debug mode');?></label>
  199. </td>
  200. </tr>
  201. <?php } ?>
  202. <tr>
  203. <td>
  204. <label><input type="checkbox" size="20" class="vst-checkbox" name="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=yes" ?>><?=_('Enable preview features');?></label> <span class="hint">(<a href="/list/server/preview/"><?=_('View');?></a>)</span>
  205. </td>
  206. </tr>
  207. <tr>
  208. <td>
  209. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_upgrade_send_notification_email" <?php if ((isset($_SESSION['UPGRADE_SEND_EMAIL'])) && (!empty($_SESSION['UPGRADE_SEND_EMAIL'])) && ($_SESSION['UPGRADE_SEND_EMAIL'] == "true")) echo "checked=yes" ?>><?=_('SYSTEM_UPGRADE_SEND_NOTIFICATION_EMAIL');?></label>
  210. </td>
  211. </tr>
  212. <tr>
  213. <td>
  214. <label><input type="checkbox" size="20" class="vst-checkbox" name="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=yes" ?>><?=_('SYSTEM_UPGRADE_SEND_EMAIL_LOG');?></label>
  215. </td>
  216. </tr>
  217. <tr>
  218. <td>
  219. <br />
  220. </td>
  221. </tr>
  222. </table>
  223. </td>
  224. </tr>
  225. <!-- Web Server tab -->
  226. <tr>
  227. <td class="vst-text input-label step-top advanced-options">
  228. <a href="javascript:elementHideShow('web');" class="vst-text">
  229. <i class="fas fa-globe-americas"></i><b><?=_('Web Server');?> <img src="/images/arrow.png"></b>
  230. </a>
  231. </td>
  232. </tr>
  233. <tr>
  234. <td class="vst-text input-label step-left">
  235. <table style="display:<?php if (empty($v_adv)) echo 'none';?> ;" id="web" class="step-top">
  236. <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { ?>
  237. <tr>
  238. <td class="vst-text">
  239. <?=_('Proxy Server');?>: <span class="optional"><?=$_SESSION['PROXY_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['PROXY_SYSTEM'] ?>/"><i class="fas fa-pencil-alt status-icon orange icon-pad-right"></i></a></span>
  240. </td>
  241. </tr>
  242. <?php } ?>
  243. <?php if (!empty($_SESSION['WEB_SYSTEM'])) { ?>
  244. <tr>
  245. <td class="vst-text">
  246. <?=_('Web Server');?>: <span class="optional"><?=$_SESSION['WEB_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['WEB_SYSTEM'] ?>/"><i class="fas fa-pencil-alt status-icon orange icon-pad-right"></i></a></span>
  247. </td>
  248. </tr>
  249. <?php } ?>
  250. <?php if (!empty($_SESSION['WEB_BACKEND'])) { ?>
  251. <tr>
  252. <td class="vst-text">
  253. <?=_('Backend Server');?>: <span class="optional"><?=$_SESSION['WEB_BACKEND']; ?> <a href="/edit/server/<? echo $_SESSION['WEB_BACKEND'] ?>/"><i class="fas fa-pencil-alt status-icon orange icon-pad-right"></i></a></span>
  254. </td>
  255. </tr>
  256. <?php } ?>
  257. <?php if (!empty($_SESSION['WEB_BACKEND_POOL'])) { ?>
  258. <tr>
  259. <td class="vst-text">
  260. <?=_('Backend Pool Mode');?>: <span class="optional"><?=$_SESSION['WEB_BACKEND_POOL']; ?></span>
  261. </td>
  262. </tr>
  263. <?php } ?>
  264. <?php if(count($v_php_versions)): ?>
  265. <tr>
  266. <td class="vst-text step-top">
  267. <?=_('Enabled multi PHP versions');?>
  268. <span class="alert alert-info alert-with-icon">
  269. <i class="fas fa-info"></i>
  270. <?=_('Please wait while php is installed or removed');?>
  271. </span>
  272. </td>
  273. </tr>
  274. <?php foreach($v_php_versions as $php_version): ?>
  275. <tr>
  276. <td class="vst-text input-label">
  277. <input type="checkbox" size="20" class="vst-checkbox"
  278. <?=$php_version->installed?'checked':''; ?>
  279. <?=$php_version->protected?'disabled':''; ?>
  280. id="<?=$php_version->name?>"
  281. name="v_php_versions[<?=$php_version->tpl?>]">
  282. <label for="<?=$php_version->name?>"><?=$php_version->name?></label>
  283. </td>
  284. </tr>
  285. <?php foreach($php_version->usedby as $wd_user => $wd_domains ): ?>
  286. <?php foreach($wd_domains as $wd_domain ): ?>
  287. <tr>
  288. <td class="vst-text" style="border: 1px lightgrey; padding:0 10px;">
  289. <span>
  290. <i class="fas fa-user"></i>
  291. <?=$wd_user;?>
  292. </span>
  293. <span class="optional" style="float:right"><?=$wd_domain;?></span>
  294. </td>
  295. </tr>
  296. <?php endforeach; ?>
  297. <?php endforeach; ?>
  298. <?php endforeach; ?>
  299. <?php endif; ?>
  300. <tr>
  301. <td>
  302. <br />
  303. </td>
  304. </tr>
  305. </table>
  306. </td>
  307. </tr>
  308. <!-- DNS Server tab -->
  309. <tr>
  310. <td class="vst-text input-label step-top advanced-options">
  311. <a href="javascript:elementHideShow('dns');" class="vst-text">
  312. <i class="fas fa-atlas"></i><b><?=_('DNS Server');?> <img src="/images/arrow.png"></b>
  313. </a>
  314. </td>
  315. </tr>
  316. <tr>
  317. <td class="vst-text input-label step-left">
  318. <table style="display:<?php if (empty($v_adv)) echo 'none';?> ;" id="dns">
  319. <tr>
  320. <td class="vst-text step-top">
  321. <?=_('DNS Server');?>: <span class="optional"><?=$_SESSION['DNS_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['DNS_SYSTEM'] ?>/"><i class="fas fa-pencil-alt status-icon orange icon-pad-right"></i></a></span>
  322. </td>
  323. </tr>
  324. <tr>
  325. <td class="vst-text">
  326. <?=_('DNS Cluster');?>: <span class="optional"><?php if ($v_dns_cluster == 'yes') { echo _('Yes'); } else { echo _('No'); } ?></span>
  327. </td>
  328. </tr>
  329. <?php if ($v_dns_cluster == 'yes') {
  330. $i = 0;
  331. foreach ($dns_cluster as $key => $value) {
  332. $i++;
  333. ?>
  334. <tr>
  335. <td class="vst-text">
  336. <?=_('Host'). ' #'.$i ?>
  337. </td>
  338. </tr>
  339. <tr>
  340. <td class="vst-text">
  341. <input type="text" size="20" class="vst-input" name="v_dns_remote_host" value="<?=$key; ?>" disabled>
  342. </td>
  343. </tr>
  344. <?php } } ?>
  345. <tr>
  346. <td><br></td>
  347. </tr>
  348. </table>
  349. </td>
  350. </tr>
  351. <!-- Mail Server tab -->
  352. <tr>
  353. <td class="vst-text input-label step-top advanced-options">
  354. <a href="javascript:elementHideShow('mail');" class="vst-text">
  355. <i class="fas fa-mail-bulk"></i><b><?=_('Mail Server');?> <img src="/images/arrow.png"></b>
  356. </a>
  357. </td>
  358. </tr>
  359. <tr>
  360. <td class="vst-text input-label step-left">
  361. <table style="display:<?php if (empty($v_mail_adv)) echo 'none';?> ;" id="mail">
  362. <tr>
  363. <td class="vst-text step-top">
  364. <?=_('Mail Server');?>: <span class="optional"><?=$_SESSION['MAIL_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['MAIL_SYSTEM'] ?>/"><i class="fas fa-pencil-alt status-icon orange icon-pad-right"></i></a></span>
  365. </td>
  366. </tr>
  367. <?php if (!empty($_SESSION['ANTIVIRUS_SYSTEM'])) { ?>
  368. <tr>
  369. <td class="vst-text">
  370. <?=_('Antivirus');?>: <span class="optional"><?=$_SESSION['ANTIVIRUS_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['ANTIVIRUS_SYSTEM'] ?>/"><i class="fas fa-pencil-alt status-icon orange icon-pad-right"></i></a></span>
  371. </td>
  372. </tr>
  373. <?php } ?>
  374. <?php if (!empty($_SESSION['ANTISPAM_SYSTEM'])) { ?>
  375. <tr>
  376. <td class="vst-text">
  377. <?=_('AntiSpam');?>: <span class="optional"><?=$_SESSION['ANTISPAM_SYSTEM']; ?> <a href="/edit/server/<? echo $_SESSION['ANTISPAM_SYSTEM'] ?>/"><i class="fas fa-pencil-alt status-icon orange icon-pad-right"></i></a></span>
  378. </td>
  379. </tr>
  380. <?php } ?>
  381. <?php if($_SESSION['WEBMAIL_SYSTEM']){?>
  382. <tr>
  383. <td class="vst-text step-top">
  384. <?=_('Webmail URL');?> <span class="hint">(<?=$_SESSION['WEBMAIL_ALIAS'];?>.example.com)</span>
  385. </td>
  386. </tr>
  387. <tr>
  388. <td>
  389. <input type="text" size="20" class="vst-input" name="v_webmail_alias" value="<?=$_SESSION['WEBMAIL_ALIAS']; ?>">
  390. <br><br>
  391. </td>
  392. </tr>
  393. <?php } ?>
  394. <tr>
  395. <td class="vst-text">
  396. <label>
  397. <input type="checkbox" size="20" class="vst-checkbox" name="v_smtp_relay" <?php if ($v_smtp_relay == 'true') echo "checked=yes"; ?> onclick="javascript:elementHideShow('smtp_relay_table');"><?=_('Global SMTP Relay');?>
  398. </label>
  399. </td>
  400. </tr>
  401. <tr>
  402. <td class="step-left">
  403. <table style="display:<?php if ($v_smtp_relay == 'true') {echo 'block';} else {echo 'none';} ?>;" id="smtp_relay_table">
  404. <tr>
  405. <td class="input-label vst-text">
  406. <?=_('Host');?>
  407. </td>
  408. </tr>
  409. <tr>
  410. <td>
  411. <input type="text" size="20" class="vst-input" name="v_smtp_relay_host" value="<?=htmlentities(trim($v_smtp_relay_host, "'"))?>">
  412. </td>
  413. </tr>
  414. <tr>
  415. <td class="input-label vst-text">
  416. <?=_('Port');?>
  417. </td>
  418. </tr>
  419. <tr>
  420. <td>
  421. <input type="text" size="20" class="vst-input" name="v_smtp_relay_port" value="<?=htmlentities(trim($v_smtp_relay_port, "'"))?>">
  422. </td>
  423. </tr>
  424. <tr>
  425. <td class="input-label vst-text">
  426. <?=_('Username');?>
  427. </td>
  428. </tr>
  429. <tr>
  430. <td>
  431. <input type="text" size="20" class="vst-input" name="v_smtp_relay_user" value="<?=htmlentities(trim($v_smtp_relay_user, "'"))?>">
  432. </td>
  433. </tr>
  434. <tr>
  435. <td class="input-label vst-text">
  436. <?=_('Password');?>
  437. </td>
  438. </tr>
  439. <tr>
  440. <td>
  441. <input type="text" size="20" class="vst-input password" name="v_smtp_relay_pass">
  442. </td>
  443. </tr>
  444. </table>
  445. </td>
  446. </tr>
  447. <tr>
  448. <td>
  449. <br>
  450. </td>
  451. </tr>
  452. </table>
  453. </td>
  454. </tr>
  455. <!-- Databases tab -->
  456. <tr>
  457. <td class="vst-text input-label step-top advanced-options">
  458. <a href="javascript:elementHideShow('db');" class="vst-text">
  459. <i class="fas fa-database"></i><b><?=_('Databases');?> <img src="/images/arrow.png"></b>
  460. </a>
  461. </td>
  462. </tr>
  463. <tr>
  464. <td class="vst-text input-label step-left">
  465. <table style="display:<?php if (empty($v_db_adv)) echo 'none';?> ;" id="db">
  466. <tr>
  467. <td class="vst-text step-top">
  468. <?=_('MySQL Support');?> <a href="/edit/server/mysql/"><i class="fas fa-pencil-alt status-icon orange icon-pad-right"></i></a>
  469. </td>
  470. </tr>
  471. <tr>
  472. <td>
  473. <select class="vst-list" name="v_mysql" disabled>
  474. <option value='no'><?=_('No'); ?></option>
  475. <option value='yes' <?php if($v_mysql == 'yes') echo 'selected' ?>><?=_('Yes'); ?></option>
  476. </select>
  477. <br><br>
  478. </td>
  479. </tr>
  480. <!-- MySQL / MariaDB Options-->
  481. <?php if ($v_mysql == 'yes') { ?>
  482. <tr>
  483. <td class="vst-text">
  484. <?=_('phpMyAdmin URL');?>
  485. </td>
  486. </tr>
  487. <tr>
  488. <td>
  489. <input type="text" size="20" class="vst-input" name="v_mysql_url" value="<?=$_SESSION['DB_PMA_ALIAS']; ?>">
  490. <br><br>
  491. </td>
  492. </tr>
  493. <?php if ($_SESSION['POLICY_SYSTEM_ENABLE_BACON'] === 'true') {
  494. ?>
  495. <tr>
  496. <td class="vst-text">
  497. <?=_('phpMyAdmin Single Sign On');?> <span class="hint">(Preview)</span>
  498. </td>
  499. </tr>
  500. <tr>
  501. <td>
  502. <select class="vst-list" name="v_phpmyadmin_key">
  503. <option value='no'><?=_('Disabled'); ?></option>
  504. <option value='yes' <?php if($_POST['v_phpmyadmin_key'] == "yes" || $_SESSION['PHPMYADMIN_KEY'] != ''){ echo 'selected="selected"'; }; ?>><?=_('Enabled'); ?></option>
  505. </select>
  506. <br />
  507. <br />
  508. </td>
  509. </tr>
  510. <?php } ?>
  511. <?php } ?>
  512. <?php if ($v_mysql == 'yes') {
  513. $i = 0;
  514. foreach ($v_mysql_hosts as $value) {
  515. $i++;
  516. ?>
  517. <tr>
  518. <td class="vst-text step-left">
  519. <?=_('Host'). ' #'.$i ?>
  520. </td>
  521. </tr>
  522. <tr>
  523. <td class="step-left">
  524. <input type="text" size="20" class="vst-input" name="v_mysql_host" value="<?=$value['HOST']?>" disabled>
  525. <br><br>
  526. </td>
  527. </tr>
  528. <tr>
  529. <td class="vst-text step-left">
  530. <?=_('Password');?>
  531. </td>
  532. </tr>
  533. <tr>
  534. <td class="step-left">
  535. <input type="text" size="20" class="vst-input password" name="v_mysql_password" value="">
  536. <br><br>
  537. </td>
  538. </tr>
  539. <tr>
  540. <td class="vst-text step-left">
  541. <?=_('Maximum Number Of Databases');?>
  542. </td>
  543. </tr>
  544. <tr>
  545. <td class="step-left">
  546. <input type="text" size="20" class="vst-input" name="v_mysql_max" value="<?=$value['MAX_DB']; ?>" disabled>
  547. <br><br>
  548. </td>
  549. </tr>
  550. <tr>
  551. <td class="vst-text step-left">
  552. <?=_('Current Number Of Databases');?>
  553. </td>
  554. </tr>
  555. <tr>
  556. <td class="step-left">
  557. <input type="text" size="20" class="vst-input" name="v_mysql_max" value="<?=$value['U_DB_BASES']; ?>" disabled>
  558. <br><br>
  559. </td>
  560. </tr>
  561. <?php }} ?>
  562. <!-- PostgreSQL Options-->
  563. <?php if ($v_pgsql == 'yes') { ?>
  564. <tr>
  565. <td class="vst-text input-label">
  566. <?=_('PostgreSQL Support');?> <a href="/edit/server/postgresql/"><i class="fas fa-pencil-alt status-icon orange icon-pad-right"></i></a>
  567. </td>
  568. </tr>
  569. <tr>
  570. <td>
  571. <select class="vst-list" name="v_pgsql" disabled>
  572. <option value='no'><?=_('No'); ?></option>
  573. <option value='yes' <?php if($v_pgsql == 'yes') echo 'selected' ?>><?=_('Yes'); ?></option>
  574. </select>
  575. <br><br>
  576. </td>
  577. </tr>
  578. <tr>
  579. <td class="vst-text">
  580. <?=_('phpPgAdmin URL');?>
  581. </td>
  582. </tr>
  583. <tr>
  584. <td>
  585. <input type="text" size="20" class="vst-input" name="v_pgsql_url" value="<?=$_SESSION['DB_PGA_ALIAS']; ?>">
  586. <br><br>
  587. </td>
  588. </tr>
  589. <?php } ?>
  590. <?php if ($v_pgsql == 'yes') {
  591. $i = 0;
  592. foreach ($v_pgsql_hosts as $value) {
  593. $i++;
  594. ?>
  595. <tr>
  596. <td class="vst-text step-left">
  597. <?=_('Host'). ' #'.$i ?>
  598. </td>
  599. </tr>
  600. <tr>
  601. <td class="step-left">
  602. <input type="text" size="20" class="vst-input" name="v_pgsql_host" value="<?=$value['HOST']?>" disabled>
  603. <br><br>
  604. </td>
  605. </tr>
  606. <tr>
  607. <td class="vst-text step-left">
  608. <?=_('Maximum Number Of Databases');?>
  609. </td>
  610. </tr>
  611. <tr>
  612. <td class="step-left">
  613. <input type="text" size="20" class="vst-input" name="v_psql_max" value="<?=$value['MAX_DB']; ?>" disabled>
  614. <br><br>
  615. </td>
  616. </tr>
  617. <tr>
  618. <td class="vst-text step-left">
  619. <?=_('Current Number Of Databases');?>
  620. </td>
  621. </tr>
  622. <tr>
  623. <td class="step-left">
  624. <input type="text" size="20" class="vst-input" name="v_pgsql_max" value="<?=$value['U_DB_BASES']; ?>" disabled>
  625. <br><br><br><br>
  626. </td>
  627. </tr>
  628. <?php }} ?>
  629. </table>
  630. </td>
  631. </tr>
  632. <tr>
  633. <td class="vst-text input-label step-top advanced-options">
  634. <a href="javascript:elementHideShow('backup');" class="vst-text">
  635. <i class="fas fa-undo"></i><b><?=_('Backups');?> <img src="/images/arrow.png"></b>
  636. </a>
  637. </td>
  638. </tr>
  639. <tr>
  640. <td class="vst-text input-label step-left">
  641. <table style="<?php if (empty($v_backup_adv)) echo 'display:none';?> ;" id="backup">
  642. <tr>
  643. <td class="vst-text step-top">
  644. <?=_('Local backup');?>
  645. </td>
  646. </tr>
  647. <tr>
  648. <td>
  649. <select class="vst-list" name="v_backup">
  650. <option value='no'><?=_('No'); ?></option>
  651. <option value='yes' <?php if($v_backup == 'yes') echo 'selected' ?>><?=_('Yes'); ?></option>
  652. </select>
  653. <br><br>
  654. </td>
  655. </tr>
  656. <tr>
  657. <td class="vst-text">
  658. <?=_('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-question-circle"></i></a>
  659. </td>
  660. </tr>
  661. <tr>
  662. <td>
  663. <select class="vst-list" name="v_backup_mode">
  664. <option value='gzip' <?php if($v_backup_mode != 'zstd') echo 'selected' ?>>gzip</option>
  665. <option value='zstd' <?php if($v_backup_mode == 'zstd') echo 'selected' ?>>zstd</option>
  666. </select>
  667. <br><br>
  668. </td>
  669. </tr>
  670. <tr>
  671. <td class="vst-text">
  672. <?=_('Compression level');?> <a target="_blank" href="http://docs.hestiacp.com/admin_docs/backups.html#what-is-the-optimal-compression-ratio"><i class="fas fa-question-circle"></i></a>
  673. </td>
  674. </tr>
  675. <tr>
  676. <td>
  677. <select class="vst-list" name="v_backup_gzip">
  678. <?php for ($level = 1; $level < 20; $level++) { ?>
  679. <option value='<?=$level;?>' <?php if($v_backup_gzip == $level) echo 'selected' ?>><?=$level;?><?php if($level > 9){ echo sprintf(' (%s)', _('zstd only')); } ?></option>
  680. <?php } ?>
  681. </select>
  682. <br><br>
  683. </td>
  684. </tr>
  685. <tr>
  686. <td class="vst-text">
  687. <?=_('Directory');?> <a target="_blank" href="https://docs.hestiacp.com/admin_docs/backups.html#how-to-change-default-backup-folder"><i class="fas fa-question-circle"></i></a>
  688. </td>
  689. </tr>
  690. <tr>
  691. <td>
  692. <input type="text" size="20" class="vst-input" name="v_backup_dir" value="<?=trim($v_backup_dir, "'")?>" disabled="disabled">
  693. <br><br>
  694. </td>
  695. </tr>
  696. <tr>
  697. <td class="vst-text input-label">
  698. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_backup_remote_adv" <?php if (!empty($v_backup_remote_adv)) echo "checked=yes" ?> onclick="javascript:elementHideShow('remote_backup');"><?=_('Remote backup');?></label>
  699. </td>
  700. </tr>
  701. <tr>
  702. <td class="vst-text input-label step-left">
  703. <table style="display:<?php if (empty($v_backup_remote_adv)) echo 'none';?> ;" id="remote_backup">
  704. <tr>
  705. <td class="vst-text">
  706. <?=_('Protocol');?> <a target="_blank" href="http://docs.hestiacp.com/admin_docs/backups.html#what-kind-of-protocols-are-currently-supported"><i class="fas fa-question-circle"></i></a>
  707. </td>
  708. </tr>
  709. <tr>
  710. <td>
  711. <select class="vst-list" name="v_backup_type" id="backup_type">
  712. <option value='ftp'><?=_('ftp'); ?></option>
  713. <option value='sftp' <?php if((!empty($v_backup_type)) && (trim($v_backup_type,"'") == 'sftp' )) echo 'selected="selected"'; ?>><?=_('sftp'); ?></option>
  714. <option value="b2" <?php if((!empty($v_backup_type)) && (trim($v_backup_type,"'") == 'b2' )) echo 'selected="selected"'; ?>><?=_('Backblaze '); ?>
  715. </select>
  716. <br><br>
  717. </td>
  718. </tr>
  719. <tr style="display: <?php if ((!empty($v_backup_type)) && !in_array(trim($v_backup_type, "'"),array('ftp','sftp'))){ echo 'none';} else {echo 'block';} ?>" id="backup_sftp">
  720. <td>
  721. <table>
  722. <tr>
  723. <td class="vst-text">
  724. <?=_('Host');?>
  725. </td>
  726. </tr>
  727. <tr>
  728. <td>
  729. <input type="text" size="20" class="vst-input" name="v_backup_host" value="<?=trim($v_backup_host, "'")?>">
  730. <br><br>
  731. </td>
  732. </tr>
  733. <tr>
  734. <td class="vst-text">
  735. <?=_('Port');?>
  736. </td>
  737. </tr>
  738. <tr>
  739. <td>
  740. <input type="text" size="20" class="vst-input" name="v_backup_port" value="<?=trim($v_backup_port, "'")?>">
  741. <br><br>
  742. </td>
  743. </tr>
  744. <tr>
  745. <td class="vst-text">
  746. <?=_('Username');?>
  747. </td>
  748. </tr>
  749. <tr>
  750. <td>
  751. <input type="text" size="20" class="vst-input" name="v_backup_username" value="<?=trim($v_backup_username, "'")?>">
  752. <br><br>
  753. </td>
  754. </tr>
  755. <tr>
  756. <td class="vst-text">
  757. <?=_('Password');?>
  758. </td>
  759. </tr>
  760. <tr>
  761. <td>
  762. <input type="text" size="20" class="vst-input password" name="v_backup_password" value="<?=trim($v_backup_password, "'")?>">
  763. <br><br>
  764. </td>
  765. </tr>
  766. <tr>
  767. <td class="vst-text">
  768. <?=_('Directory');?>
  769. </td>
  770. </tr>
  771. <tr>
  772. <td>
  773. <input type="text" size="20" class="vst-input" name="v_backup_bpath" value="<?=trim($v_backup_bpath, "'")?>">
  774. <br><br>
  775. </td>
  776. </tr>
  777. </table>
  778. </td>
  779. </tr>
  780. <tr style="display: <?php if ((empty($v_backup_type)) || !in_array(trim($v_backup_type, "'"),array('b2'))){ echo 'none';} else {echo 'block';} ?>" id="backup_bucket">
  781. <td>
  782. <table>
  783. <tr>
  784. <td class="vst-text">
  785. <?=_('Bucket');?>
  786. </td>
  787. </tr>
  788. <tr>
  789. <td>
  790. <input type="text" size="20" class="vst-input" name="v_backup_bucket" value="<?=trim($v_backup_bucket, "'")?>">
  791. <br><br>
  792. </td>
  793. </tr>
  794. <tr>
  795. <td class="vst-text">
  796. <?=_('Application ID');?>
  797. </td>
  798. </tr>
  799. <tr>
  800. <td>
  801. <input type="text" size="20" class="vst-input" name="v_backup_application_id" value="<?=trim($v_backup_application_id, "'")?>">
  802. <br><br>
  803. </td>
  804. </tr>
  805. <tr>
  806. <td class="vst-text">
  807. <?=_('Application Key');?>
  808. </td>
  809. </tr>
  810. <tr>
  811. <td>
  812. <input type="text" size="20" class="vst-input" name="v_backup_application_key" value="<?=trim($v_backup_application_key, "'")?>">
  813. <br><br>
  814. </td>
  815. </tr>
  816. </table>
  817. </td>
  818. </tr>
  819. </table>
  820. </td>
  821. </tr>
  822. </table>
  823. </td>
  824. </tr>
  825. <tr>
  826. <td class="vst-text input-label step-top advanced-options">
  827. <a href="javascript:elementHideShow('ssl');" class="vst-text">
  828. <i class="fas fa-lock"></i><b><?=_('Hestia SSL');?><img src="/images/arrow.png"></b>
  829. </a>
  830. </td>
  831. </tr>
  832. <tr>
  833. <td class="vst-text input-label step-left">
  834. <table style="display:<?php if (empty($v_adv)) echo 'none';?> ;" id="ssl">
  835. <tr>
  836. <td class="vst-text step-top">
  837. <?=_('SSL Certificate');?>
  838. <span id="generate-csr"> / <a class="generate" target="_blank" href="/generate/ssl/?domain=<?=$v_hostname?>"><?=_('Generate CSR');?></a></span>
  839. </td>
  840. </tr>
  841. <tr>
  842. <td>
  843. <textarea size="20" class="vst-textinput short console" name="v_ssl_crt"><?=htmlentities(trim($v_ssl_crt, "'"))?></textarea>
  844. </td>
  845. </tr>
  846. <tr>
  847. <td class="vst-text input-label">
  848. <?=_('SSL Key');?>
  849. </td>
  850. </tr>
  851. <tr>
  852. <td>
  853. <textarea size="20" class="vst-textinput short console" name="v_ssl_key"><?=htmlentities(trim($v_ssl_key, "'"))?></textarea>
  854. </td>
  855. </tr>
  856. <tr>
  857. <td>
  858. <table class="additional-info">
  859. <tr>
  860. <td>
  861. <b><?=_('SUBJECT');?>:</b>
  862. </td>
  863. <td class="details">
  864. <?=$v_ssl_subject?>
  865. </td>
  866. </tr>
  867. <?php if ($v_ssl_aliases){?>
  868. <tr>
  869. <td>
  870. <b><?=_('Aliases');?>:</b>
  871. </td>
  872. <td class="details">
  873. <?=$v_ssl_aliases?>
  874. </td>
  875. </tr>
  876. <?php } ?>
  877. <tr>
  878. <td>
  879. <b><?=_('NOT_BEFORE');?>:</b>
  880. </td>
  881. <td class="details">
  882. <?=$v_ssl_not_before?>
  883. </td>
  884. </tr>
  885. <tr>
  886. <td>
  887. <b><?=_('NOT_AFTER');?>:</b>
  888. </td>
  889. <td class="details">
  890. <?=$v_ssl_not_after?>
  891. </td>
  892. </tr>
  893. <tr>
  894. <td>
  895. <b><?=_('SIGNATURE');?>:</b>
  896. </td>
  897. <td class="details">
  898. <?=$v_ssl_signature?>
  899. </td>
  900. </tr>
  901. <tr>
  902. <td>
  903. <b><?=_('PUB_KEY');?>:</b>
  904. </td>
  905. <td class="details">
  906. <?=$v_ssl_pub_key?>
  907. </td>
  908. </tr>
  909. <tr>
  910. <td>
  911. <b><?=_('ISSUER');?>:</b>
  912. </td>
  913. <td class="details">
  914. <?=$v_ssl_issuer?>
  915. </td>
  916. </tr>
  917. </table>
  918. </td>
  919. </tr>
  920. </table>
  921. </td>
  922. </tr>
  923. <tr>
  924. <td class="vst-text input-label step-top advanced-options">
  925. <a href="javascript:elementHideShow('security');" class="vst-text">
  926. <i class="fas fa-key"></i><b><?=_('Security');?> <img src="/images/arrow.png"></b>
  927. </a>
  928. </td>
  929. </tr>
  930. <tr>
  931. <td class="vst-text input-label step-left">
  932. <table style="<?php if (empty($v_security_adv)) echo 'display:none;';?>" id="security">
  933. <tr>
  934. <td class="section-title" onclick="javascript:elementHideShow('security-system-table',this);">
  935. <?=('System');?>
  936. <i class="fas fa-plus-square status-icon dim maroon section-hide-button"></i>
  937. </td>
  938. </tr>
  939. <tr>
  940. <td>
  941. <table id="security-system-table" style="display: none;">
  942. <td class="vst-text input-label step-top" style="font-size:1rem;padding-bottom:12px;">
  943. <?=_('API');?>
  944. </td>
  945. <tr>
  946. <td class="vst-text input-label">
  947. <?=_('Enable API access');?>
  948. </td>
  949. </tr>
  950. <tr>
  951. <td>
  952. <select class="vst-list" name="v_api" id="api">
  953. <option value='yes'><?=_('Yes'); ?></option>
  954. <option value='no' <?php if($_SESSION['API'] == 'no') echo 'selected' ?>><?=_('No'); ?></option>
  955. </select>
  956. <br><br>
  957. </td>
  958. </tr>
  959. <tr>
  960. <td>
  961. <table id="security_ip" style="<?php if ($_SESSION['API'] == "no") echo 'display:none;';?>">
  962. <tr>
  963. <td class="vst-text input-label">
  964. <?=_('Allowed IP addresses for API');?> <span class="optional" style="float:right">1 IP address per line</span>
  965. </td>
  966. </tr>
  967. <tr>
  968. <td>
  969. <textarea size="20" class="vst-textinput short" name="v_api_allowed_ip"><?php
  970. foreach(explode(',',$_SESSION['API_ALLOWED_IP']) as $ip ){
  971. echo trim($ip)."\n";
  972. }
  973. ?></textarea>
  974. <br><br>
  975. </td>
  976. </tr>
  977. </table>
  978. </td>
  979. </tr>
  980. <td class="vst-text input-label step-top" style="font-size:1rem;padding-bottom:12px;">
  981. <?=_('Login');?>
  982. </td>
  983. <tr>
  984. <td class="vst-text input-label">
  985. <?=_('Login screen style');?>
  986. </td>
  987. </tr>
  988. <tr>
  989. <td>
  990. <select class="vst-list" name="v_login_style">
  991. <option value='default'><?=_('Default'); ?></option>
  992. <option value='old' <?php if($_SESSION['LOGIN_STYLE'] == 'old') echo 'selected' ?>><?=_('Old Style'); ?></option>
  993. </select>
  994. <br><br>
  995. </td>
  996. </tr>
  997. <tr>
  998. <td class="vst-text input-label">
  999. <?=_('Allow users to reset their passwords');?>
  1000. </td>
  1001. </tr>
  1002. <tr>
  1003. <td>
  1004. <select class="vst-list" name="v_policy_system_password_reset">
  1005. <option value='yes'><?=_('Yes'); ?></option>
  1006. <option value='no' <?php if($_SESSION['POLICY_SYSTEM_PASSWORD_RESET'] == 'no') echo 'selected' ?>><?=_('No'); ?></option>
  1007. </select>
  1008. <br><br>
  1009. </td>
  1010. </tr>
  1011. <tr>
  1012. <td class="vst-text input-label">
  1013. <?=_('Inactive session timeout');?> (<?=_('Minutes');?>)
  1014. </td>
  1015. </tr>
  1016. <tr>
  1017. <td>
  1018. <input type="text" size="20" class="vst-input" name="v_inactive_session_timeout" value="<?=trim($_SESSION['INACTIVE_SESSION_TIMEOUT'], "'")?>">
  1019. <br><br>
  1020. </td>
  1021. </tr>
  1022. </table>
  1023. </td>
  1024. </tr>
  1025. <?php if (($_SESSION['userContext'] === "admin") && ($_SESSION['user'] === 'admin')) {?>
  1026. <tr>
  1027. <td class="section-title" onclick="javascript:elementHideShow('security-sysadminprotect-table',this);">
  1028. <?=('System Protection');?>
  1029. <i class="fas fa-plus-square status-icon dim maroon section-hide-button"></i>
  1030. </td>
  1031. </tr>
  1032. <tr>
  1033. <td>
  1034. <table id="security-sysadminprotect-table" class="step-top" style="display: none;">
  1035. <tr>
  1036. <td class="vst-text input-label step-top" style="font-size:1rem;padding-bottom:12px;">
  1037. <?=_('System Administrator account');?>
  1038. </td>
  1039. </tr>
  1040. <tr>
  1041. <td class="vst-text input-label">
  1042. <?=_('Restrict access to read-only for other administrators');?>
  1043. </td>
  1044. </tr>
  1045. <tr>
  1046. <td>
  1047. <select class="vst-list" name="v_policy_system_protected_admin">
  1048. <option value='yes'><?=_('Yes'); ?></option>
  1049. <option value='no' <?php if($_SESSION['POLICY_SYSTEM_PROTECTED_ADMIN'] !== 'yes') echo 'selected' ?>><?=_('No'); ?></option>
  1050. </select>
  1051. <br><br>
  1052. </td>
  1053. </tr>
  1054. <tr>
  1055. <td class="vst-text input-label">
  1056. <?=_('Hide account from other administrators');?>
  1057. </td>
  1058. </tr>
  1059. <tr>
  1060. <td>
  1061. <select class="vst-list" name="v_policy_system_hide_admin">
  1062. <option value='yes'><?=_('Yes'); ?></option>
  1063. <option value='no' <?php if($_SESSION['POLICY_SYSTEM_HIDE_ADMIN'] !== 'yes') echo 'selected' ?>><?=_('No'); ?></option>
  1064. </select>
  1065. <br><br>
  1066. </td>
  1067. </tr>
  1068. <tr>
  1069. <td class="vst-text input-label">
  1070. <?=_('Do not allow other administrators to access Server Settings');?>
  1071. </td>
  1072. </tr>
  1073. <tr>
  1074. <td>
  1075. <select class="vst-list" name="v_policy_system_hide_services">
  1076. <option value='yes'><?=_('Yes'); ?></option>
  1077. <option value='no' <?php if($_SESSION['POLICY_SYSTEM_HIDE_SERVICES'] !== 'yes') echo 'selected' ?>><?=_('No'); ?></option>
  1078. </select>
  1079. <br><br>
  1080. </td>
  1081. </tr>
  1082. </table>
  1083. </td>
  1084. </tr>
  1085. <?php } ?>
  1086. <tr>
  1087. <td class="section-title" onclick="javascript:elementHideShow('security-policies-table',this);">
  1088. <?=('Policies');?>
  1089. <i class="fas fa-plus-square status-icon dim maroon section-hide-button"></i>
  1090. </td>
  1091. </tr>
  1092. <tr>
  1093. <td>
  1094. <table id="security-policies-table" style="display: none;">
  1095. <tr>
  1096. <td class="vst-text input-label step-top" style="font-size:1rem;padding-bottom:12px;">
  1097. <?=_('Users');?>
  1098. </td>
  1099. </tr>
  1100. <?php if ($_SESSION['POLICY_SYSTEM_ENABLE_BACON'] === 'true') { ?>
  1101. <tr>
  1102. <td class="vst-text input-label">
  1103. <?=_('Allow suspended users to log in with read-only access');?> <span class="hint">(Preview)</span>
  1104. </td>
  1105. </tr>
  1106. <tr>
  1107. <td>
  1108. <select class="vst-list" name="v_policy_user_view_suspended">
  1109. <option value='yes' <?php if($_SESSION['POLICY_USER_VIEW_SUSPENDED'] !== 'no') echo 'selected' ?>><?=_('Yes'); ?></option>
  1110. <option value='no' <?php if($_SESSION['POLICY_USER_VIEW_SUSPENDED'] == 'no') echo 'selected' ?>><?=_('No'); ?></option>
  1111. </select>
  1112. <br><br>
  1113. </td>
  1114. </tr>
  1115. <?php } ?>
  1116. <tr>
  1117. <td class="vst-text input-label">
  1118. <?=_('Allow users to edit their account details');?>
  1119. </td>
  1120. </tr>
  1121. <tr>
  1122. <td>
  1123. <select class="vst-list" name="v_policy_user_edit_details">
  1124. <option value='yes' <?php if($_SESSION['POLICY_USER_EDIT_DETAILS'] !== 'no') echo 'selected' ?>><?=_('Yes'); ?></option>
  1125. <option value='no' <?php if($_SESSION['POLICY_USER_EDIT_DETAILS'] == 'no') echo 'selected' ?>><?=_('No'); ?></option>
  1126. </select>
  1127. <br><br>
  1128. </td>
  1129. </tr>
  1130. <tr>
  1131. <td class="vst-text input-label">
  1132. <?=_('Allow users to change templates when editing web domains');?>
  1133. </td>
  1134. </tr>
  1135. <tr>
  1136. <td>
  1137. <select class="vst-list" name="v_policy_user_edit_web_templates">
  1138. <option value='yes' <?php if($_SESSION['POLICY_USER_EDIT_WEB_TEMPLATES'] !== 'no') echo 'selected' ?>><?=_('Yes'); ?></option>
  1139. <option value='no' <?php if($_SESSION['POLICY_USER_EDIT_WEB_TEMPLATES'] == 'no') echo 'selected' ?>><?=_('No'); ?></option>
  1140. </select>
  1141. <br><br>
  1142. </td>
  1143. </tr>
  1144. <tr>
  1145. <td class="vst-text input-label">
  1146. <?=_('Allow users to change templates when editing DNS zones');?>
  1147. </td>
  1148. </tr>
  1149. <tr>
  1150. <td>
  1151. <select class="vst-list" name="v_policy_user_edit_dns_templates">
  1152. <option value='yes' <?php if($_SESSION['POLICY_USER_EDIT_DNS_TEMPLATES'] !== 'no') echo 'selected' ?>><?=_('Yes'); ?></option>
  1153. <option value='no' <?php if($_SESSION['POLICY_USER_EDIT_DNS_TEMPLATES'] == 'no') echo 'selected' ?>><?=_('No'); ?></option>
  1154. </select>
  1155. <br><br>
  1156. </td>
  1157. </tr>
  1158. <tr>
  1159. <td class="vst-text input-label">
  1160. <?=_('Allow users to view action and login history logs');?>
  1161. </td>
  1162. </tr>
  1163. <tr>
  1164. <td>
  1165. <select class="vst-list" name="v_policy_user_view_logs">
  1166. <option value='yes' <?php if($_SESSION['POLICY_USER_VIEW_LOGS'] !== 'no') echo 'selected' ?>><?=_('Yes'); ?></option>
  1167. <option value='no' <?php if($_SESSION['POLICY_USER_VIEW_LOGS'] == 'no') echo 'selected' ?>><?=_('No'); ?></option>
  1168. </select>
  1169. <br><br>
  1170. </td>
  1171. </tr>
  1172. <tr>
  1173. <td class="vst-text input-label">
  1174. <?=_('Allow users to delete log history');?>
  1175. </td>
  1176. </tr>
  1177. <tr>
  1178. <td>
  1179. <select class="vst-list" name="v_policy_user_delete_logs">
  1180. <option value='yes' <?php if($_SESSION['POLICY_USER_DELETE_LOGS'] !== 'no') echo 'selected' ?>><?=_('Yes'); ?></option>
  1181. <option value='no' <?php if($_SESSION['POLICY_USER_DELETE_LOGS'] == 'no') echo 'selected' ?>><?=_('No'); ?></option>
  1182. </select>
  1183. <br><br>
  1184. </td>
  1185. </tr>
  1186. <tr>
  1187. <td class="vst-text input-label step-top" style="font-size:1rem;padding-bottom:12px;">
  1188. <?=_('Domains');?>
  1189. </td>
  1190. </tr>
  1191. <tr>
  1192. <td class="vst-text input-label">
  1193. <?=_('Enforce subdomain ownership');?>
  1194. </td>
  1195. </tr>
  1196. <tr>
  1197. <td>
  1198. <select class="vst-list" name="v_enforce_subdomain_ownership">
  1199. <option value='yes'><?=_('Yes'); ?></option>
  1200. <option value='no' <?php if($_SESSION['ENFORCE_SUBDOMAIN_OWNERSHIP'] == 'no') echo 'selected' ?>><?=_('No'); ?></option>
  1201. </select>
  1202. </td>
  1203. </tr>
  1204. </table>
  1205. </td>
  1206. </tr>
  1207. <tr>
  1208. <td>
  1209. <br><br>
  1210. </td>
  1211. </tr>
  1212. </table>
  1213. </td>
  1214. </tr>
  1215. <tr>
  1216. <td class="vst-text input-label step-top advanced-options">
  1217. <a href="javascript:elementHideShow('hestia');" class="vst-text">
  1218. <i class="fas fa-puzzle-piece"></i><b><?=_('Hestia Control Panel Plugins');?> <img src="/images/arrow.png"></b>
  1219. </a>
  1220. </td>
  1221. </tr>
  1222. <tr>
  1223. <td class="vst-text input-label step-left">
  1224. <table style="display:<?php if (empty($v_adv)) echo 'none';?> ;" id="hestia">
  1225. <tr>
  1226. <td class="vst-text step-top">
  1227. <?=_('Quick App Installer');?>
  1228. </td>
  1229. </tr>
  1230. <tr>
  1231. <td>
  1232. <select class="vst-list" name="v_plugin_app_installer">
  1233. <option value='false'><?=_('No'); ?></option>
  1234. <option value='true' <?php if($_SESSION['PLUGIN_APP_INSTALLER'] == 'true') echo 'selected' ?>><?=_('Yes'); ?></option>
  1235. </select>
  1236. <br><br>
  1237. </td>
  1238. </tr>
  1239. <tr>
  1240. <td class="vst-text input-label">
  1241. <?=_('Filemanager');?>
  1242. </td>
  1243. </tr>
  1244. <tr>
  1245. <td>
  1246. <select class="vst-list" name="v_filemanager">
  1247. <option value='false'><?=_('No'); ?></option>
  1248. <option value='true' <?php if($_SESSION['FILE_MANAGER'] == 'true') echo 'selected' ?>><?=_('Yes'); ?></option>
  1249. </select>
  1250. <br><br>
  1251. </td>
  1252. </tr>
  1253. <tr>
  1254. <td class="vst-text input-label">
  1255. <?=_('FileSystem Disk Quota');?>
  1256. </td>
  1257. </tr>
  1258. <tr>
  1259. <td>
  1260. <select class="vst-list" name="v_quota">
  1261. <option value='no'><?=_('No'); ?></option>
  1262. <option value='yes' <?php if($_SESSION['DISK_QUOTA'] == 'yes') echo 'selected' ?>><?=_('Yes'); ?></option>
  1263. </select>
  1264. <br><br>
  1265. </td>
  1266. </tr>
  1267. <tr>
  1268. <td class="vst-text input-label">
  1269. <?=_('Firewall');?>
  1270. </td>
  1271. </tr>
  1272. <tr>
  1273. <td>
  1274. <select class="vst-list" name="v_firewall">
  1275. <option value='no'><?=_('No'); ?></option>
  1276. <option value='yes' <?php if($_SESSION['FIREWALL_SYSTEM'] == 'iptables') echo 'selected' ?>><?=_('Yes'); ?></option>
  1277. </select>
  1278. <br><br>
  1279. </td>
  1280. </tr>
  1281. </table>
  1282. </td>
  1283. </tr>
  1284. </table>
  1285. <table class="data-col2"></table>
  1286. </td>
  1287. </tr>
  1288. </table>
  1289. </form>
  1290. </div>