CGI-Bus

 view release on metacpan or  search on metacpan

lib/CGI/Bus/fut.pm  view on Meta::CPAN

95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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

365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
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 1.045 second using v1.01-cache-2.11-cpan-49f99fa48dc )