edit_server.html 48 KB

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