index.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 . " nginx " . $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. // List config
  41. exec(HESTIA_CMD . "v-list-sys-nginx-config json", $output, $return_var);
  42. $data = json_decode(implode("", $output), true);
  43. unset($output);
  44. $v_worker_processes = $data["CONFIG"]["worker_processes"];
  45. $v_worker_connections = $data["CONFIG"]["worker_connections"];
  46. $v_send_timeout = $data["CONFIG"]["send_timeout"];
  47. $v_proxy_connect_timeout = $data["CONFIG"]["proxy_connect_timeout"];
  48. $v_proxy_send_timeout = $data["CONFIG"]["proxy_send_timeout"];
  49. $v_proxy_read_timeout = $data["CONFIG"]["proxy_read_timeout"];
  50. $v_client_max_body_size = $data["CONFIG"]["client_max_body_size"];
  51. $v_gzip = $data["CONFIG"]["gzip"];
  52. $v_gzip_comp_level = $data["CONFIG"]["gzip_comp_level"];
  53. $v_charset = $data["CONFIG"]["charset"];
  54. $v_config_path = $data["CONFIG"]["config_path"];
  55. $v_service_name = strtoupper("nginx");
  56. // Read config
  57. $v_config = shell_exec(HESTIA_CMD . "v-open-fs-config " . $v_config_path);
  58. // Render page
  59. render_page($user, $TAB, "edit_server_nginx");
  60. // Flush session messages
  61. unset($_SESSION["error_msg"]);
  62. unset($_SESSION["ok_msg"]);