index.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. $TAB = "SERVER";
  3. // Main include
  4. include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
  5. // Check user
  6. if ($_SESSION["userContext"] != "admin") {
  7. header("Location: /list/user");
  8. exit();
  9. }
  10. // Check POST request
  11. if (!empty($_POST["save"])) {
  12. // Check token
  13. verify_csrf($_POST);
  14. // Set restart flag
  15. $v_restart = "yes";
  16. if (empty($_POST["v_restart"])) {
  17. $v_restart = "no";
  18. }
  19. // Update config
  20. if (!empty($_POST["v_config"])) {
  21. exec("mktemp", $mktemp_output, $return_var);
  22. $new_conf = $mktemp_output[0];
  23. $fp = fopen($new_conf, "w");
  24. fwrite($fp, str_replace("\r\n", "\n", $_POST["v_config"]));
  25. fclose($fp);
  26. exec(
  27. HESTIA_CMD . "v-change-sys-service-config " . $new_conf . " exim " . $v_restart,
  28. $output,
  29. $return_var,
  30. );
  31. check_return_code($return_var, $output);
  32. unset($output);
  33. unlink($new_conf);
  34. }
  35. // Set success message
  36. if (empty($_SESSION["error_msg"])) {
  37. $_SESSION["ok_msg"] = _("Changes have been saved.");
  38. }
  39. }
  40. $v_config_path = "/etc/exim/exim.conf";
  41. $v_service_name = strtoupper("exim");
  42. // Read config
  43. $v_config = shell_exec(HESTIA_CMD . "v-open-fs-config " . $v_config_path);
  44. // Render page
  45. render_page($user, $TAB, "edit_server_service");
  46. // Flush session messages
  47. unset($_SESSION["error_msg"]);
  48. unset($_SESSION["ok_msg"]);