CGI-Bus
view release on metacpan or search on metacpan
lib/CGI/Bus/fut.pm view on Meta::CPAN
9596979899100101102103104105106107108109110111112113114115116117118if
((!
$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
365366367368369370371372373374375376377378379380381382383384385return
(
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 )