use strict;
use warnings;
+use Storable;
+
BEGIN {
# Standard Perl module stuff
use Exporter();
}
our %CF;
-our $th;
BEGIN {
+ # FIXME: Check config
$CF{'Title'} = 'An Unnamed Gallery',
$CF{'HeadExtras'} = "",
$CF{'TopExtras'} = "",
$CF{'ThumbUrlPrefix'} = "",
$CF{'MetaDataDir'} = '.',
$CF{'PhotoDir'} = '.',
+ # FIXME: Who sets GalDir?
- $CF{'ScanDefaultTransform'} = 'n';
+ $CF{'ScanDefaultTransform'} = 's';
$CF{'OrigDir'} = '.';
$CF{'PhotoDir'} = 'photo';
- $CF{'CacheDir'} = "cache",
+ $CF{'CacheDir'} = 'cache',
+ $CF{'PhotoMaxWidth'} = 1024,
+ $CF{'PhotoMaxHeight'} = 1024,
+ $CF{'ThumbFormats'} = {},
}
sub LoadConfig() {
$CF{$o} = $v;
if ($o eq "Theme") {
require $CF{"GalDir"} . "/$v/theme.pm";
- Gallery::Theme::Init($CF{"GalURL"} . "/$v");
+ UCW::Gallery::Theme::Init($CF{"GalURL"} . "/$v");
}
}
}
+sub RequireThumbnails($$) {
+ my ($w, $h) = @_;
+ my $fmt = "${w}x${h}";
+ $CF{'ThumbFormats'}->{$fmt} = 1;
+}
+
sub WriteList($$) {
my ($file, $images) = @_;
open LIST, '>', "$file.new" or die "Cannot create $file.new: $!\n";
return \@images;
}
+sub WriteMeta($$) {
+ my ($file, $meta) = @_;
+ open META, '>', "$file.new" or die "Cannot create $file.new: $!\n";
+ Storable::nstore_fd($meta, \*META);
+ close META;
+ rename "$file.new", $file or die "Cannot rename $file.new to $file: $!\n";
+}
+
+sub ReadMeta($) {
+ my ($file) = @_;
+ open META, '<', $file or die "Cannot read $file: $!\n";
+ my $meta = Storable::fd_retrieve(\*META) or die "Cannot parse $file\n";
+ close META;
+ return $meta;
+}
+
1;