]> mj.ucw.cz Git - gallery.git/blob - gal/UCW/Gallery/Web/Plain.pm
Gallery2: Front-end attachment reform
[gallery.git] / gal / UCW / Gallery / Web / Plain.pm
1 # Plain Theme for MJ's Photo Gallery
2 # (c) 2012 Martin Mares <mj@ucw.cz>; GPL'ed
3
4 package UCW::Gallery::Web::Plain;
5
6 use strict;
7 use warnings;
8
9 use UCW::Gallery;
10 use UCW::Gallery::Web;
11
12 our @ISA = qw(UCW::Gallery::Web);
13
14 my $theme_name = "plain";
15 my $navw = 48;
16 my $navh = 48;
17 my $box_w = 130;
18 my $box_h = 110;
19
20 sub theme_dir($) {
21         my ($self) = @_;
22         return $self->get('ThemeUrlPrefix') . $theme_name;
23 }
24
25 sub theme_head_extras($) {
26         my ($self) = @_;
27         my $stylesheet = $self->theme_dir . "/style.css";
28         return "<link rel=stylesheet href='$stylesheet' type='text/css' media=all>\n";
29 }
30
31 sub show_links($$$$) {
32         my ($self, $prev, $up, $next) = @_;
33         my $theme = $self->theme_dir;
34         print "<p class=parent>";
35         print "<span class=back style='width: ${navw}px; height: ${navh}px'>";
36         print "<a href='$prev'><img src='$theme/prev.png' width=${navw} height=${navh} alt='Back'></a>" if $prev ne "";
37         print "</span>\n";
38         printf "<span class=fwd style='width: ${navw}px; height: ${navh}px'>";
39         printf "<a href='$next'><img src='$theme/next.png' width=${navw} height=${navh} alt='Forward'></a>" if $next ne "";
40         print "</span>\n";
41         printf "<a href='$up'><img src='$theme/back.png' width=${navw} height=${navh} alt='Up'></a>" if $up ne "";
42 }
43
44 sub show_thumb($) {
45         my ($self, $meta, $photo_id, $click_url) = @_;
46         my $theme = $self->theme_dir;
47         my $m = $meta->{photo}->{$photo_id};
48         my $annot = UCW::CGI::html_escape($m->{title});
49         my $tf = $self->get('ThumbFormats')->[0];
50         my ($thumb_w, $thumb_h) = $self->{gal}->thumb_fmt_to_size($tf);
51         my $tm = $meta->{thumb}->{$tf}->{$photo_id} or die "No thumbnails for format $tf found!\n";
52         my $tw = $tm->{w};
53         my $th = $tm->{h};
54         my $thumb = $self->get('ThumbUrlPrefix') . "$tf/$photo_id.jpg";
55         print "<div class=thf><div class=thumb>\n";
56         my $ol = int(($box_w - $tw)/2);
57         my $ot = int(($box_h - $th)/2);
58         my $tit = ($annot ne "") ? " title=\"$annot\"" : "";
59         print "<a href='$click_url'><img src='$thumb' width=$tw height=$th alt='Photo'$tit class=ti style='left: ${ol}px; top: ${ot}px'></a>\n";
60         print "</div></div>\n\n";
61 }
62
63 sub run($$) {
64         my ($class, $gal) = @_;
65         my $self = $class->SUPER::attach($gal);
66         $self->dispatch();
67         return $self;
68 }
69
70 1;