App-Phoebe
view release on metacpan or search on metacpan
lib/App/Phoebe.pm view on Meta::CPAN
return sprintf('%4d-%02d-%02d', $year + 1900, $mon + 1, $mday);
}
sub time_of_day {
my $stream = shift;
my ($sec, $min, $hour, $mday, $mon, $year) = gmtime(shift);
return sprintf('%02d:%02d UTC', $hour, $min);
}
sub modified {
my $ts = (stat(shift))[9];
return $ts;
}
sub serve_history {
my $stream = shift;
my $host = shift;
my $space = shift;
my $id = shift;
my $n = shift;
my $style = shift;
lib/App/Phoebe/Capsules.pm view on Meta::CPAN
$log->info("Wrote $file");
return result($stream, "30", to_url($stream, $host, $capsule_space, $capsule));
}
}
sub backup {
my ($dir, $id) = @_;
my $file = $dir . "/" . encode_utf8($id);
my $backup_dir = "$dir/backup";
my $backup_file = $backup_dir . "/" . encode_utf8($id);
return unless -f $file and (time - (stat($file))[9]) > 600;
# make a backup if the last edit was more than 10 minutes ago
mkdir($backup_dir) unless -d $backup_dir;
write_binary($backup_file, read_binary($file));
}
1;
lib/App/Phoebe/WebDAV.pm view on Meta::CPAN
next;
}
$log->debug("Processing $dir$resource");
# A stat call for every file and every page! ð
my ($size, $mtime, $ctime, $sb) = (0, 0, 0);
if ($resource eq "/login/") {
$size = "";
$mtime = $ctime = time;
} elsif ($sb = stat($filename)) {
$size = $sb->size;
$mtime = $sb->mtime;
$ctime = $sb->ctime;
}
# Modified time is stringified human readable HTTP::Date style
$mtime = time2str($mtime);
# Created time is ISO format: We need to tidy up the date format - isoz
# isn't exactly what we want
script/phoebe-ctl view on Meta::CPAN
if (not $changes{$_ . "\x1c"} or $files{$_} > $changes{$_ . "\x1c"}) {
say "File $_ is added to changes" if $log >= 4;
say $fh join("\x1f", $now, $_, 0, "0000");
utime($now, $now, "$dir/file/$_") or warn "Could not set utime for $dir/file/$_\n";
}
}
close($fh);
}
sub modified {
my $ts = (stat(shift))[9];
return $ts;
}
sub erase_page {
my @page = @_;
die "You need to list the pages to erase\n" unless @page;
for my $page (@page) {
if (not -f "$dir/page/$page.gmi") {
warn "$page does not exist\n";
next;
t/oddmuse-wiki.pl view on Meta::CPAN
open(my $OUT, '>>:encoding(UTF-8)', encode_utf8($file))
or ReportError(Ts('Cannot write %s', $file) . ": $!", '500 INTERNAL SERVER ERROR');
print $OUT $string;
close($OUT);
}
sub IsFile { return -f encode_utf8(shift); }
sub IsDir { return -d encode_utf8(shift); }
sub ZeroSize { return -z encode_utf8(shift); }
sub Unlink { return unlink(map { encode_utf8($_) } @_); }
sub Modified { return (stat(encode_utf8(shift)))[9]; }
sub Glob { return map { decode_utf8($_) } bsd_glob(encode_utf8(shift)); }
sub ChangeMod { return chmod(shift, map { encode_utf8($_) } @_); }
sub Rename { return rename(encode_utf8($_[0]), encode_utf8($_[1])); }
sub RemoveDir { return rmdir(encode_utf8(shift)); }
sub ChangeDir { return chdir(encode_utf8(shift)); }
sub CreateDir {
my ($newdir) = @_;
return if IsDir($newdir);
mkdir(encode_utf8($newdir), 0775)
( run in 1.329 second using v1.01-cache-2.11-cpan-49f99fa48dc )