PageRenderTime 23ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/phpini/save_safe.cgi

http://github.com/webmin/webmin
Perl | 36 lines | 26 code | 7 blank | 3 comment | 6 complexity | c280a711f65329605061ec07ad726084 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-3.0, CC-BY-SA-3.0
  1. #!/usr/local/bin/perl
  2. # Update options related to safe mode
  3. require './phpini-lib.pl';
  4. &error_setup($text{'safe_err'});
  5. &ReadParse();
  6. &can_php_config($in{'file'}) || &error($text{'list_ecannot'});
  7. &lock_file($in{'file'});
  8. $conf = &get_config($in{'file'});
  9. # Validate and store inputs
  10. &save_directive($conf, "safe_mode", $in{"safe_mode"} || undef);
  11. &save_directive($conf, "safe_mode_gid", $in{"safe_mode_gid"} || undef);
  12. foreach $d ([ "safe_mode_include_dir", "safe_einclude" ],
  13. [ "safe_mode_exec_dir", "safe_eexec" ],
  14. [ "open_basedir", "safe_ebasedir" ]) {
  15. if ($in{$d->[0]."_def"}) {
  16. &save_directive($conf, $d->[0], undef);
  17. }
  18. else {
  19. foreach my $d (split(/:/, $in{$d->[0]})) {
  20. -d $d || &error($text{$d->[1]});
  21. }
  22. &save_directive($conf, $d->[0], $in{$d->[0]});
  23. }
  24. }
  25. &flush_file_lines_as_user($in{'file'});
  26. &unlock_file($in{'file'});
  27. &graceful_apache_restart();
  28. &webmin_log("safe", undef, $in{'file'});
  29. &redirect("list_ini.cgi?file=".&urlize($in{'file'}));