# put a file into DB
sub putfile {
- my($file,$exists) = @_;
+ my($file,$exists,$did) = @_;
my($fid,$type);
$exists=0 if (!$exists);
- &dprint("putfile($file,$exists)\n");
+ &dprint("putfile($file,$exists,$did)\n");
if ($exists) {
$type = "page" if ($file =~ /$mask_php/);
$type = "include" if ($file =~ /$mask_inc/);
$dbh->do("insert into file set path='$file',type='$type'");
$fid=&getfileid($file);
}
+ $dbh->do("update file set dir='$did' where id=$fid") if ($did);
return $fid;
}
closedir(DIRHANDLE);
my @incfiles=grep /$mask_inc/,@list;
- map (&putfile("${vdir}$_", 1), @incfiles);
+ map (&putfile("${vdir}$_", 1, $did), @incfiles);
my @imgfiles=grep /$mask_img/,@list;
- map (&putfile("${vdir}$_", 1), @imgfiles);
+ map (&putfile("${vdir}$_", 1, $did), @imgfiles);
my @phpfiles=grep /$mask_php/,@list;
foreach my $phpfile (@phpfiles) {
if (-f realpath("${vdir}${phpfile}")) {
- $fid=&putfile("${vdir}${phpfile}", 1);
+ $fid=&putfile("${vdir}${phpfile}", 1, $did);
&parsefile($fid, $did, "${vdir}${phpfile}", $vdir);
} else {
- &putfile("${vdir}$phpfile", 0)
+ &putfile("${vdir}$phpfile", 0, $did)
}
}
# in the first segment of include path
$ifile = &abspath(&abspath($vdir,$incpath[0]),$include) if (!$iexists);
}
- $depid=&putfile($ifile,$iexists);
+ $depid=&putfile($ifile,$iexists,0);
&putdep($fid,$depid,$did,"include");
&parsefile($depid,$did,$ifile,$vdir) if ($iexists);
}