Server IP : 195.201.23.43 / Your IP : 3.129.194.144 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/apache/ |
Upload File : |
#!/usr/bin/perl # show.cgi # Show directives from a virtualhost, directory or .htaccess require './apache-lib.pl'; &ReadParse(); if (defined($in{'virt'})) { if (defined($in{'idx'})) { # directory within virtual server ($vconf, $v) = &get_virtual_config($in{'virt'}); $d = $vconf->[$in{'idx'}]; $conf = $d->{'members'}; $title = &text('dir_header', &dir_name($d), &virtual_name($v)); $edit = "edit_dir.cgi"; $return = "dir_index.cgi"; $editable = 'directory'; $rmsg = $text{'dir_return'}; } else { # virtual server ($conf, $v) = &get_virtual_config($in{'virt'}); $title = &text('virt_header', &virtual_name($v)); $edit = "edit_virt.cgi"; $return = "virt_index.cgi"; $editable = 'virtual'; $rmsg = $text{'virt_return'}; $dir = "dir_index.cgi"; } } else { if (defined($in{'idx'})) { # files within .htaccess file $hconf = &get_htaccess_config($in{'file'}); $d = $hconf->[$in{'idx'}]; $conf = $d->{'members'}; $title = &text('htfile_header', &dir_name($d), "<tt>$in{'file'}</tt>"); $edit = "edit_files.cgi"; $return = "htaccess_index.cgi"; $editable = "directory"; $rmsg = $text{'htindex_return'}; } else { # .htaccess file $conf = &get_htaccess_config($in{'file'}); $title = &text('htindex_header', "<tt>$in{'file'}</tt>"); $edit = "edit_htaccess.cgi"; $return = "htaccess_index.cgi"; $editable = 'htaccess'; $rmsg = $text{'htindex_return'}; $dir = "files_index.cgi"; } } &ui_print_header($title, $text{'show_title'}, ""); foreach $h ('virt', 'idx', 'file') { if (defined($in{$h})) { $s .= "<input type=hidden name=$h value='$in{$h}'>\n"; push(@args, "$h=$in{$h}"); } } $args = join('&', @args); for($i=0; $i<$directive_type_count; $i++) { foreach $e (&editable_directives($i, $editable)) { foreach $n (split(/\s+/, $e->{'name'})) { $edit{lc($n)} = $e; push(@elist, { 'name' => $n, 'edit' => $e }); } } } @elist = sort { $a->{'name'} cmp $b->{'name'} } @elist; print "<table><tr><td colspan=2>\n"; print "<table border><tr><td $cb><pre>\n\n"; &show_directives($conf, 0); print "</pre></td></tr></table>\n"; print "</td></tr>\n"; if ($access{'types'} eq '*' && ($in{'virt'} || $in{'file'} || defined($in{'idx'}))) { print "<tr>\n"; print "<td><form action=manual_form.cgi>"; print "<input type=submit name=these value='$text{'show_these'}'>"; print "$s"; print "</form></td>\n"; } else { print "<tr> <td></td>\n"; } print "<td align=right><form action=$edit>$s",&ui_submit($text{'show_edit'}),"\n"; print "<select name=type>\n"; foreach $e (@elist) { print "<option value=",$e->{'edit'}->{'type'},">", $e->{'name'},"</option>\n"; } print "</select></form></td>\n"; print "</tr></table>\n"; &ui_print_footer("$return?$args", $rmsg); # show_directives(list, indent) sub show_directives { local ($list, $ind) = @_; local $idx; for($idx=0; $idx<@$list; $idx++) { local $d = $list->[$idx]; next if ($d->{'name'} eq "dummy"); $t = $edit{lc($d->{'name'})}; if ($d->{'type'}) { # Recurse into section my $ed = ""; print " " x $ind; if ($d->{'name'} eq "VirtualHost") { next; } elsif ($d->{'name'} =~ /Location|Files|Directory/) { $ed = "$dir?$args&idx=$idx"; } my $et = "<".$d->{'name'}." ".$d->{'value'}.">"; print ( $ed ne "" ? &ui_link($ed, $et) : $et); print "\n"; &show_directives($d->{'members'}, $ind+1); print " " x $ind; print "</",$d->{'name'},">\n"; } elsif ($_[1] || !$access_types{$t->{'type'}}) { # Directives in section are not editable &print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind); } else { next if (!$t); &print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind, "$edit?$args&type=$t->{'type'}"); } } }Private