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 )