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