php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay

| files >> /proc/self/root/usr/libexec/webmin/virtual-server/ |
| files >> //proc/self/root/usr/libexec/webmin/virtual-server/edit_phpmode.cgi |
#!/usr/bin/perl
# Show web and PHP options for a virtual server
require './virtual-server-lib.pl';
&ReadParse();
$d = &get_domain($in{'dom'});
&can_edit_domain($d) || &error($text{'edit_ecannot'});
$can = &can_edit_phpmode($d);
$can || &error($text{'phpmode_ecannot'});
if (!$d->{'alias'}) {
@modes = &supported_php_modes($d);
$mode = &get_domain_php_mode($d);
}
$p = &domain_has_website($d);
if ($p eq 'web') {
# Make sure an Apache virtualhost exists, or else all the rest
# is pointless
($virt, $vconf) = &get_apache_virtual($d->{'dom'}, $d->{'web_port'});
$virt || &error(&text('phpmode_evirt', $d->{'dom'}, $d->{'web_port'}));
}
&ui_print_header(&domain_in($d), $text{'phpmode_title'}, "");
print &ui_form_start("save_phpmode.cgi");
print &ui_hidden("dom", $d->{'id'}),"\n";
print &ui_hidden_table_start($text{'phpmode_header'}, "width=100%", 2,
"phpmode", 1, [ "width=30%" ]);
if (!$d->{'alias'} && $can == 2 &&
($p eq 'web' || &plugin_defined($p, "feature_get_web_suexec"))) {
# Use suexec
print &ui_table_row(&hlink($text{'phpmode_suexec'}, "phpmode_suexec"),
&ui_yesno_radio("suexec", &get_domain_suexec($d)));
}
if (!$d->{'alias'} && $can == 2 &&
($p eq 'web' || &plugin_defined($p, "feature_get_web_php_mode"))) {
# PHP execution mode
print &ui_table_row(&hlink($text{'phpmode_mode'}, "phpmode"),
&ui_radio("mode", $mode,
[ map { [ $_, $text{'phpmode_'.$_}."<br>" ] }
@modes ]));
}
# PHP fcgi sub-processes
if (!$d->{'alias'} && &indexof("fcgid", @modes) >= 0 && $can == 2 &&
($p eq 'web' || &plugin_defined($p, "feature_get_web_php_children"))) {
$children = &get_domain_php_children($d);
if ($children > 0) {
print &ui_table_row(&hlink($text{'phpmode_children'},
"phpmode_children"),
&ui_opt_textbox("children", $children || '',
5, $text{'tmpl_phpchildrennone'}));
}
}
# PHP max execution time, for fcgi mode
if (!$d->{'alias'} && &indexof("fcgid", @modes) >= 0 &&
($p eq 'web' ||
&plugin_defined($p, "feature_get_fcgid_max_execution_time"))) {
$max = $mode eq "fcgid" ? &get_fcgid_max_execution_time($d)
: &get_php_max_execution_time($d);
print &ui_table_row(&hlink($text{'phpmode_maxtime'}, "phpmode_maxtime"),
&ui_opt_textbox("maxtime", $max, 5,
$text{'form_unlimit'})." ".
$text{'rfile_secs'});
}
# Ruby execution mode
if (defined(&supported_ruby_modes)) {
@rubys = &supported_ruby_modes($d);
if (!$d->{'alias'} && @rubys && $can == 2 &&
($p eq 'web' || &plugin_defined($p, "feature_get_web_ruby_mode"))) {
print &ui_table_row(
&hlink($text{'phpmode_rubymode'}, "rubymode"),
&ui_radio("rubymode", &get_domain_ruby_mode($d),
[ [ "", $text{'phpmode_noruby'}."<br>" ],
map { [ $_, $text{'phpmode_'.$_}."<br>" ] }
@rubys ]));
}
}
# Write logs via program. Don't show unless enabled.
if ((!$d->{'alias'} || $d->{'alias_mode'} != 1) && $can == 2 &&
&get_writelogs_status($d) && $p eq 'web') {
print &ui_table_row(
&hlink($text{'newweb_writelogs'}, "template_writelogs"),
&ui_yesno_radio("writelogs", &get_writelogs_status($d)));
}
# Match all sub-domains
if ($p eq 'web' || &plugin_defined($p, "feature_get_web_domain_star")) {
print &ui_table_row(&hlink($text{'phpmode_matchall'}, "matchall"),
&ui_yesno_radio("matchall", &get_domain_web_star($d)));
}
# Server-side includes
if ($p eq 'web' || &plugin_defined($p, "feature_get_web_domain_ssi")) {
($ssi, $suffix) = &get_domain_web_ssi($d);
$suffix = ".shtml" if ($ssi != 1);
print &ui_table_row(&hlink($text{'phpmode_ssi'}, "phpmode_ssi"),
&ui_radio("ssi", $ssi,
[ [ 1, &text('phpmode_ssi1',
&ui_textbox("suffix", $suffix, 6)) ],
[ 0, $text{'no'} ],
$ssi == 2 ? ( [ 2, $text{'phpmode_ssi2'} ] )
: ( ) ]));
}
# Default website for its IP
if (!$d->{'alias'} || $d->{'alias_mode'} != 1 &&
($p eq 'web' || &plugin_defined($p, "feature_get_web_default_website"))) {
$defweb = &is_default_website($d);
$defd = &find_default_website($d);
$defno = $defd ? &text('phpmode_defno', $defd->{'dom'}) : $text{'no'};
if (&can_default_website($d) && !$defweb) {
print &ui_table_row(&hlink($text{'phpmode_defweb'}, "defweb"),
&ui_radio("defweb", $defweb,
[ [ 1, $text{'yes'} ], [ 0, $defno ] ]));
}
else {
print &ui_table_row(&hlink($text{'phpmode_defweb'}, "defweb"),
$defweb == 1 ? $text{'yes'} :
$defweb == 2 ? $text{'phpmode_defwebsort'} :
$defno);
}
}
# Log file locations
if (!$d->{'alias'} && &can_log_paths() &&
($p eq 'web' || &plugin_defined($p, "feature_change_web_access_log"))) {
$alog = &get_website_log($d, 0);
if ($alog) {
print &ui_table_row(&hlink($text{'phpmode_alog'}, 'accesslog'),
&ui_textbox("alog", $alog, 60));
}
$elog = &get_website_log($d, 1);
if ($elog) {
print &ui_table_row(&hlink($text{'phpmode_elog'}, 'errorlog'),
&ui_textbox("elog", $elog, 60));
}
}
# HTML directory
if (!$d->{'alias'} && $d->{'public_html_dir'} !~ /\.\./ && $p eq 'web') {
print &ui_table_row(&hlink($text{'phpmode_htmldir'}, 'htmldir'),
&ui_textbox("htmldir", $d->{'public_html_dir'}, 20));
}
print &ui_hidden_table_end();
# Show PHP information
if (defined(&list_php_modules) && !$d->{'alias'}) {
print &ui_hidden_table_start($text{'phpmode_header2'}, "width=100%",
2, "phpinfo", 0, [ "width=30%" ]);
# PHP errors for the domain
foreach $phpver (&list_available_php_versions($d)) {
$errs = &check_php_configuration($d, $phpver->[0],$phpver->[1]);
if ($errs) {
print &ui_table_row(&text('phpmode_errs', $phpver->[0]),
"<font color=red>".&html_escape($errs)."</font>");
}
}
# PHP modules for the domain
foreach $phpver (&list_available_php_versions($d)) {
@mods = &list_php_modules($d, $phpver->[0], $phpver->[1]);
@mods = sort { lc($a) cmp lc($b) } @mods;
if (@mods) {
print &ui_table_row(&text('phpmode_mods', $phpver->[0]),
&ui_grid_table([ map { "<tt>$_</tt>" } @mods ],
6, 100));
}
}
# Pear modules
if (&foreign_check("php-pear")) {
&foreign_require("php-pear", "php-pear-lib.pl");
@allmods = ( );
if (defined(&php_pear::list_installed_pear_modules)) {
@allmods = &php_pear::list_installed_pear_modules();
}
@cmds = ( );
if (defined(&php_pear::get_pear_commands)) {
@cmds = &php_pear::get_pear_commands();
}
foreach $cmd (@cmds) {
@mods = grep { $_->{'pear'} == $cmd->[1] } @allmods;
@mods = sort { lc($a->{'name'}) cmp lc($b->{'name'}) }
@mods;
if (@mods) {
print &ui_table_row(
&text('phpmode_pears', $cmd->[1]),
&ui_grid_table(
[ map { "<tt>$_->{'name'}</tt>" } @mods ], 6, 100));
}
}
}
print &ui_hidden_table_end();
}
print &ui_form_end([ [ "save", $text{'save'} ] ]);
&ui_print_footer(&domain_footer_link($d),
"", $text{'index_return'});
y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`