1#!/usr/local/bin/perl
2# Update misc PHP options
3
4require './phpini-lib.pl';
5&error_setup($text{'misc_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# Save tag styles
13&save_directive($conf, "short_open_tag",
14		$in{"short_open_tag"} || undef);
15&save_directive($conf, "asp_tags",
16		$in{"asp_tags"} || undef);
17
18# Save output options
19&save_directive($conf, "zlib.output_compression",
20		$in{"zlib.output_compression"} || undef);
21&save_directive($conf, "implicit_flush",
22		$in{"implicit_flush"} || undef);
23
24# Save URL open options
25&save_directive($conf, "allow_url_fopen",
26		$in{"allow_url_fopen"} || undef);
27
28# Save email sending options
29$in{"smtp_def"} || &to_ipaddress($in{"smtp"}) || &error($text{'misc_esmtp'});
30&save_directive($conf, "SMTP",
31		$in{"smtp_def"} ? undef : $in{"smtp"});
32$in{"smtp_port_def"} || $in{"smtp_port"} =~ /^\d+$/ ||
33	&error($text{'misc_esmtp_port'});
34&save_directive($conf, "smtp_port",
35		$in{"smtp_port_def"} ? undef : $in{"smtp_port"});
36
37# Save sendmail program
38if ($in{"sendmail_path_def"}) {
39	&save_directive($conf, "sendmail_path", undef);
40	}
41else {
42	($fp) = split(/\s+/, $in{"sendmail_path"});
43	$fp || &error($text{'misc_esendmail2'})
44	&has_command($fp) || &error($text{'misc_esendmail'});
45	&save_directive($conf, "sendmail_path", $in{"sendmail_path"});
46	}
47
48# Save Include open options
49&save_directive($conf, "allow_url_include",
50	$in{"allow_url_include"} || undef);
51
52# Save CGI Fix Path
53&save_directive($conf, "cgi.fix_pathinfo",
54	$in{"cgi.fix_pathinfo"} || undef);
55
56# Save Timezone
57&save_directive($conf, "date.timezone",
58	$in{"date.timezone"} || undef);
59
60# Save default charset
61&save_directive($conf, "default_charset",
62	$in{'default_charset_def'} ? undef : $in{'default_charset'});
63
64&flush_file_lines_as_user($in{'file'}, undef, 1);
65&unlock_file($in{'file'});
66&graceful_apache_restart($in{'file'});
67&webmin_log("misc", undef, $in{'file'});
68
69&redirect("list_ini.cgi?file=".&urlize($in{'file'}));
70
71