Handle hostnames with upper-case letters
[webmin.git] / phpini / save_session.cgi
1 #!/usr/local/bin/perl
2 # Update options related to sessions
3
4 require './phpini-lib.pl';
5 &error_setup($text{'session_err'});
6 &ReadParse();
7 &can_php_config($in{'file'}) || &error($text{'list_ecannot'});
8
9 &lock_file($in{'file'});
10 $conf = &get_config($in{'file'});
11
12 # Validate and store inputs
13 &save_directive($conf, "session.save_handler",
14                 $in{"session.save_handler"});
15 if ($in{"session.save_path_def"}) {
16         &save_directive($conf, "session.save_path", undef);
17         }
18 else {
19         -d $in{"session.save_path"} || &error($text{'session_epath'});
20         &save_directive($conf, "session.save_path",
21                         $in{"session.save_path"});
22         }
23 &save_directive($conf, "session.use_cookies",
24                 $in{"session.use_cookies"} || undef);
25 &save_directive($conf, "session.use_only_cookies",
26                 $in{"session.use_only_cookies"} || undef);
27 if ($in{"session.cookie_lifetime_def"}) {
28         &save_directive($conf, "session.cookie_lifetime", undef);
29         }
30 else {
31         $in{"session.cookie_lifetime"} =~ /^\d+$/ ||
32                 &error($text{'session_elife'});
33         &save_directive($conf, "session.cookie_lifetime",
34                         $in{"session.cookie_lifetime"});
35         }
36 if ($in{"session.gc_maxlifetime_def"}) {
37         &save_directive($conf, "session.gc_maxlifetime", undef);
38         }
39 else {
40         $in{"session.gc_maxlifetime"} =~ /^\d+$/ ||
41                 &error($text{'session_emaxlife'});
42         &save_directive($conf, "session.gc_maxlifetime",
43                         $in{"session.gc_maxlifetime"});
44         }
45
46 &flush_file_lines_as_user($in{'file'});
47 &unlock_file($in{'file'});
48 &graceful_apache_restart();
49 &webmin_log("session", undef, $in{'file'});
50
51 &redirect("list_ini.cgi?file=".&urlize($in{'file'}));
52