2 # Update options related to sessions
4 require './phpini-lib.pl';
5 &error_setup($text{'session_err'});
7 &can_php_config($in{'file'}) || &error($text{'list_ecannot'});
9 &lock_file($in{'file'});
10 $conf = &get_config($in{'file'});
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);
19 -d $in{"session.save_path"} || &error($text{'session_epath'});
20 &save_directive($conf, "session.save_path",
21 $in{"session.save_path"});
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);
31 $in{"session.cookie_lifetime"} =~ /^\d+$/ ||
32 &error($text{'session_elife'});
33 &save_directive($conf, "session.cookie_lifetime",
34 $in{"session.cookie_lifetime"});
36 if ($in{"session.gc_maxlifetime_def"}) {
37 &save_directive($conf, "session.gc_maxlifetime", undef);
40 $in{"session.gc_maxlifetime"} =~ /^\d+$/ ||
41 &error($text{'session_emaxlife'});
42 &save_directive($conf, "session.gc_maxlifetime",
43 $in{"session.gc_maxlifetime"});
46 &flush_file_lines_as_user($in{'file'});
47 &unlock_file($in{'file'});
48 &graceful_apache_restart();
49 &webmin_log("session", undef, $in{'file'});
51 &redirect("list_ini.cgi?file=".&urlize($in{'file'}));