]> git.decadent.org.uk Git - memories.git/blob - templates/photo/view
...which makes room for a view count. References #4.
[memories.git] / templates / photo / view
1 [% INCLUDE header %]
2 [% SET tab = request.params.active || "comment" %]
3 [% SET url = base _ "/photo/view/" _ photo.id; %]
4 <table width="100%">
5     <tr valign="top">
6     <td width="70%">
7     [% IF prev %]
8         <small><a href="[%base%]/photo/view/[%prev.id%]">&lt;&lt; [% prev %]</a></small>
9     [% END %]
10 <h1>[% photo.title %]</h1>
11     [% IF next %]
12         <small><a href="[%base%]/photo/view/[%next.id%]"> [% next %] &gt;&gt;</a></small>
13     [% END %]
14 [% IF request.user == photo.uploader %]
15     <p><a href="[%base%]/photo/delete/[%photo.id%]">Delete this
16     photo</a></p>
17     <form action="[%base%]/photo/do_edit/[%photo.id%]">
18         <input name="title" value="[%photo.title |html%]">
19         <input type="submit" name="Rename" value="Rename">
20     </form>
21 [% END %]
22 </td>
23 <td align="right">
24 [% IF photo.albums %]
25 In albums:
26 [% FOR album = photo.albums; %]
27 <a href="[%base%]/album/view/[%album.id%]">[%album.name%]</a> ([%album.photos.size%])
28 [% ";" UNLESS album == photo.albums.last %]
29 [% END %]
30 <br>
31 [% END %]
32 <small>
33 <i>Photo shot on [% photo.shot.ymd %] </i> <br>
34 Uploaded by <a href="[%base%]/user/view/[%photo.uploader.id%]"> [%
35 photo.uploader %] </a>
36 </small> <br>
37 [% photo.hit_count %] view[%IF photo.hit_count > 1%]s[%END%]
38 </td>
39 </tr>
40 </table>
41
42 <div class="tagbrowse smaller">
43 [% SET tagset = {}; FOR tag = photo.tags;
44     SET name = tag.name; tagset.$name = tag.taggings.size;
45   END;
46   SET sorted = tagset.nsort.reverse;
47 %]
48 [% SET counter = 0;
49   FOR tag = sorted;
50     counter = counter + 1;
51     IF tagset.$tag > 1; 
52         "<a href=\""; base;"/tag/view/";tag | html | uri;"\">";
53         tag;
54         "</a>&nbsp;(";
55         tagset.$tag; ")";
56     ELSE; 
57         tag; 
58         IF counter > 20; "..."; LAST; END;
59     END;
60     ", " UNLESS tag == sorted.last;
61 END %]
62 </div>
63
64 <div class="photoview">
65     [% SET sizes = request.config.sizes %]
66     [% IF request.params.exists("scale") %]
67         [% SET size =  request.params.scale  %]
68     [% ELSIF request.session.scale %]
69         [% SET size =  request.session.scale  %]
70     [% ELSE; SET size =  1; END; %]
71     <img src="[% photo.sized_url(size) %]">
72     <p> (Original size [%photo.dimensions %]) </p>
73     <p>
74     Size: 
75     [% SET i = 0; WHILE i < sizes.size %]
76         [% IF photo.is_bigger(sizes.$i);  %]
77             [% IF i == size %]
78                 [% sizes.$i %]
79             [% ELSIF sizes.$i == "full" %]
80                 <a href="[%photo.path("url")%]">full</a>
81             [% ELSE %]
82                 <a href="[%url%]?scale=[% i %]&active=[%tab%]">[% sizes.$i %]</a>
83             [% END %]
84         [% END; %] 
85     [% SET i = i + 1 %]
86     [% END %]
87     </p>
88     [%# Now put it back in the session %]
89     [% SET request.session.scale = size %]
90 </div>
91
92 [% IF photo.description OR photo.copyright OR photo.license %]
93 <div class="photodesc"> 
94     [% photo.description | html %] 
95     [% IF photo.copyright %] <div class="photorights"> [% photo.copyright | html %] </div> [% END %]
96     [% IF photo.license %] <div class="photolicense"> [% photo.license | html %] </div> [% END %]
97 </div>
98 [% END %]
99
100 <script>
101 function select_tab(name) {
102     document.getElementsByClassName("active").each(function (x) { x.removeClassName("active")});
103     new Ajax.Updater("content","[%base%]/photo/"+name+"/[%photo.id%]",
104       { method: "get" }
105     )
106     $(name).addClassName("active");
107 }
108 </script>
109 [% MACRO do_tab(tabname, label) BLOCK; %]
110 <li>
111     <a [% IF tab == tabname %] class="active" [% END %] id="[%tabname%]" href="javascript:select_tab('[%tabname%]')">
112     [%label%]</a>
113 </li>
114 [% END %]
115
116 <ul id="tabmenu">
117     [%do_tab("comment", "Comments") %]
118     [%do_tab("exif", "Photo info") %]
119     [%do_tab("tagedit", "Edit tags") %]
120     [%do_tab("similar", "Similar photos") %]
121 </ul>
122 <div id="content">
123 [% INCLUDE comment %]
124 </div>
125 [%
126 INCLUDE footer;
127 %]