CGI-Bus
view release on metacpan or search on metacpan
lib/CGI/Bus/fut.pm view on Meta::CPAN
if ((!$sub || ref($dir)) && ref($_[$#_]) && $i <=$#_) {
foreach my $elem (@_[$i..$#_]){if(ref($elem)){$sub =$elem; last}};
next if ref($dir)
}
elsif (ref($dir)) {
$sub =$dir; next
}
my $fs;
foreach my $elem ($s->glob($dir)) {
$_ =$elem;
my @stat =stat($elem);
my @nme =(/^(.*)[\/\\]([^\/\\]+)$/ ? ($1,$2) : ('',''));
if (@stat ==0 && ($opt =~/[^!]*i/i || ($^O eq 'MSWin32' && $elem =~/[\?]/i))) {next} # bug in stat!
elsif (@stat ==0) {die("stat('$elem'): $!\n"); undef($_); return(0)}
elsif ($stat[2] & 0120000 && $opt =~/!.*s/i) {next} # symlink
elsif (!defined($fs)) {$fs =$stat[2]}
elsif ($fs !=$stat[2] && $opt =~/!.*m/i) {next} # mountpoint?
if ($stat[2] & 0040000 && $opt =~/!.*l/i) { # finddepth
$ret +=$s->find($opt, "$elem/*", $sub); defined($_) || return(0);
$_ =$elem;
}
if ($stat[2] & 0040000 && $opt =~/!.*d/i) {} # exclude dirs
elsif (&$sub(\@stat,@nme)) {$ret +=1};
defined($_) || return(0); # error stop: undef($_)
lib/CGI/Bus/uauth.pm view on Meta::CPAN
return(undef) if $^O ne 'MSWin32';
my $s =$_[0]; # self object
$s =$s->parent if $s && !$s->isa('CGI::Bus');
my $fs =$_[1] ||$s->dpath('uauth'); # filesystem
my $mo =$_[2]; # mandatory operation
my $df =$_[3] ||$s->{-udflt} ||sub{1}; # domain filter
my $fg =$fs .'/' .'uagroup'; # file 'group'
my $fl =$fs .'/' .'ualist'; # file list
return(1) # update frequency
if (defined($s->{-w32adaf}) && $s->{-w32adaf}==0)
|| ((-f $fg) && (time() -[stat($fg)]->[9] <
($s->{-w32adaf}||(60*60*4)))); # 60*60);
if (!$mo) { # check mode
if (!-f $fg) { # immediate interactive
$s->pushmsg($s->pushlog('w32adaf new ' .$fg));
$s->fut->mkdir($s->dpath('uauth'));
}
elsif ($mo =$s && $s->{-endh}) {# end request handlers
$mo->{w32adaf} =sub{w32adaf($_[0],$fs,'q',$df)};
return(1)
}
( run in 0.504 second using v1.01-cache-2.11-cpan-49f99fa48dc )