source: extensions/stripped/template/picture.tpl @ 31389

Last change on this file since 31389 was 31389, checked in by plg, 8 years ago

compatibility with formats in Piwigo 2.8

File size: 16.5 KB
Line 
1{combine_script id='core.switchbox' load='async' require='jquery' path='themes/default/js/switchbox.js'}
2
3{assign var=derivative value=$pwg->derivative($stripped.imageSize, $current.src_image)}
4{assign var='size' value=$derivative->get_size()}
5{literal}
6<script type="text/javascript">
7var image_w = {/literal}{$size[0]}{literal}
8var image_h = {/literal}{$size[1]}{literal}
9</script>
10{/literal}
11
12{include file='infos_errors.tpl'}
13
14<div class="titrePage" id="imageHeaderBar">
15        <div class="browsePath">
16                {$SECTION_TITLE}
17                {if ($stripped.showTitleOnBrowsePath)}{$LEVEL_SEPARATOR}{$current.TITLE}{/if}
18        </div>
19    <ul class="randomButtons">
20                <li id="imageToolBar">
21                        {include file='picture_nav_buttons.tpl'|@get_extent:'picture_nav_buttons'}
22                </li>
23                {strip}{if isset($U_SLIDESHOW_START) }
24                        <li><a href="{$U_SLIDESHOW_START}" title="{'slideshow'|@translate}" rel="nofollow">{'slideshow'|@translate}</a></li>
25                {/if}{/strip}
26        {strip}{if isset($U_PHOTO_ADMIN) }
27                        <li><a href="{$U_PHOTO_ADMIN}" title="{'Modify information'|@translate}">{'edit'|@translate}</a></li>
28        {/if}{/strip}
29                {strip}{if isset($U_CADDIE)}
30                        <li><a href="{$U_CADDIE}" onclick="addToCadie(this, '{$ROOT_URL}', {$current.id}); return false;" title="{'add to caddie'|@translate}" rel="nofollow">{'caddie'|@translate}</a></li>
31        {/if}{/strip}
32                {strip}{if isset($favorite) }
33                        <li><a href="{$favorite.U_FAVORITE}" title="{$favorite.FAVORITE_HINT}">{'Favorites'|@translate}</a></li>
34        {/if}{/strip}
35        {strip}{if !empty($U_SET_AS_REPRESENTATIVE) }
36                        <li><a href="{$U_SET_AS_REPRESENTATIVE}" title="{'set as album representative'|@translate}">{'representative'|@translate}</a></li>
37        {/if}{/strip}
38                {strip}{if isset($current.U_DOWNLOAD)}
39                        <li><a id="downloadSwitchLink" href="{$current.U_DOWNLOAD}" title="{'download this file'|@translate}">{'Download'|@translate}</a></li>
40                {/if}{/strip}
41
42{if !empty($current.formats)}
43{footer_script require='jquery'}{literal}
44jQuery().ready(function() {
45  jQuery("#downloadSwitchLink").removeAttr("href");
46 
47  (window.SwitchBox=window.SwitchBox||[]).push("#downloadSwitchLink", "#downloadSwitchBox");
48});
49{/literal}{/footer_script}
50 
51<div id="downloadSwitchBox" class="switchBox">
52  <div class="switchBoxTitle">{'Download'|translate} - {'Formats'|translate}</div>
53  <ul>
54  {foreach from=$current.formats item=format}
55    <li><a href="{$format.download_url}" rel="nofollow">{$format.label}<span class="downloadformatDetails"> ({$format.filesize})</span></a></li>
56  {/foreach}
57  </ul>
58</div>
59{/if} {* has formats *}
60
61                {strip}{if isset($PLUGIN_PICTURE_ACTIONS)}
62                        <li class="plugin_buttons plugin_buttons_group1">{$PLUGIN_PICTURE_ACTIONS}</li>
63                {/if}
64    {/strip}
65    {if isset($PLUGIN_PICTURE_BUTTONS)}{foreach from=$PLUGIN_PICTURE_BUTTONS item=button}<li class="plugin_buttons plugin_buttons_group1">{$button}</li>{/foreach}{/if}
66                {strip}{if isset($U_CADDIE)}{*caddie management BEGIN*}
67                        {footer_script}
68                                {literal}
69                                        function addToCadie(aElement, rootUrl, id)
70                                        {
71                                                if (aElement.disabled) return;
72                                                aElement.disabled=true;
73                                                var y = new PwgWS(rootUrl);
74                                                y.callService(
75                                                        "pwg.caddie.add", {image_id: id} ,
76                                                        {
77                                                                onFailure: function(num, text) { alert(num + " " + text); document.location=aElement.href; },
78                                                                onSuccess: function(result) { aElement.disabled = false; }
79                                                        }
80                                                );
81                                        }
82                                {/literal}
83                        {/footer_script}
84                {/if}{/strip}
85                <li class="plugin_buttons plugin_buttons_group2">{*caddie management END*}</li>
86    </ul>
87                {if ($GMaps_loaded)}<div id="text_gmaps" style="display:none">{'GMap'|@translate}</div>{/if}
88        <div style="clear:both;"></div>
89</div> <!-- imageHeaderBar -->
90
91{if !empty($PLUGIN_PICTURE_BEFORE)}{$PLUGIN_PICTURE_BEFORE}{/if}
92<div id="content">
93        <div class="hideTabsZone hideTabs">&nbsp;</div>
94
95 <!-- Image HD -->
96  <div id="theImageHigh" style="display:none;">
97    <div id="theImgHighBg"></div>
98    <div id="theImgHighContainer">
99      <div id="theImgHighCloseButton" onclick="closeDisplayHigh();"></div>
100      <div id="theImgHighZoomButton" class="fit" onclick="switchZoomHigh();"></div>
101      <div id="theImgHighContainer2">
102        <img id="theImgHigh" src="" style="display:none;" alt="{$ALT_IMG}">
103      </div>
104    </div>
105  </div>
106
107        {assign var='display_description_tab' value=false}
108        {if (($stripped.imageCaption != 'description') && isset($COMMENT_IMG))}
109                {assign var='display_description_tab' value=true}
110        {/if}
111
112        {assign var='showTitle' value=false}
113        {if isset($COMMENT_IMG) and $stripped.imageCaption == 'description'}
114                {assign var='showTitle' value=true}
115        {/if}
116        {if isset($current.TITLE) and $stripped.imageCaption == 'title'}
117                {assign var='showTitle' value=true}
118        {/if}
119
120<div id="theImageAndTitle">
121        <div id="theImageBox" >
122                <div class="hideTabsZone hideTabs">&nbsp;</div>
123                {if (isset($previous) && $stripped.navArrows) }
124                        <a href="{$previous.U_IMG}" id="imgprev">&nbsp;</a>
125                {/if}
126                <div id="theImage">
127                        {$ELEMENT_CONTENT}
128                </div>
129                {if (isset($next) && $stripped.navArrows)}
130                        <a href="{$next.U_IMG}" id="imgnext">&nbsp;</a>
131                {/if}
132        </div>
133        {if $showTitle }
134                <div id="imageTitleContainer"><div id="imageTitle">
135                        {if ($stripped.imageCaption == 'description' )}
136                                {$COMMENT_IMG}
137                        {/if}
138                        {if ($stripped.imageCaption == 'title' )}
139                                {$current.TITLE}
140                        {/if}
141                </div></div>
142        {/if}
143 </div> <!-- theImage -->
144 <div style="clear: both;"></div>
145
146        <div id="tabZone">
147
148                {assign var='display_info_panel' value=false}
149                {assign var='display_count' value='0'}
150                {if $display_info.author}{assign var='display_count' value=$display_count+1}{/if}
151                {if $display_info.created_on}{assign var='display_count' value=$display_count+1}{/if}
152                {if $display_info.posted_on}{assign var='display_count' value=$display_count+1}{/if}
153                {if $display_info.dimensions}{assign var='display_count' value=$display_count+1}{/if}
154                {if $display_info.file}{assign var='display_count' value=$display_count+1}{/if}
155                {if $display_info.filesize}{assign var='display_count' value=$display_count+1}{/if}
156                {if $display_info.categories}{assign var='display_count' value=$display_count+1}{/if}
157                {if $display_info.visits}{assign var='display_count' value=$display_count+1}{/if}
158                {if $display_info.rating_score and isset($rate_summary) }{assign var='display_count' value=$display_count+1}{/if}
159                {if isset($rating)}{assign var='display_count' value=$display_count+1}{/if}
160                {if $display_info.privacy_level and isset($available_permission_levels) }{assign var='display_count' value=$display_count+1}{/if}
161                {if (($display_count > 0) && ((isset($U_ADMIN)) || ($stripped.infoTabAdminOnly == false)))}
162                        {assign var='display_info_panel' value=true}
163                {/if}
164                <div id="tabTitleBar">
165                        <ul id="tabTitles">
166                                {if $display_description_tab}
167                                        <li id="tabTcaption" class="tabTitle" name="caption">{'Description'|@translate}</li>
168                                {/if}
169                                {if ($display_info.tags && (isset($related_tags) || ($usertags)))}
170                                        <li id="tabTtags" class="tabTitle" name="tags">{'Tags'|@translate}</li>
171                                {/if}
172                                {if isset($metadata)}
173                                        {foreach from=$metadata item=meta key=id}
174                                                <li id="tabTmeta{$id}" class="tabTitle" name="meta{$id}">{$meta.TITLE}</li>
175                                        {/foreach}
176                                {/if}
177                                {if $display_info_panel}
178                                        <li id="tabTinfo" class="tabTitle" name="info">{'Information'|@translate}</li>
179                                {/if}
180                                {if (isset($COMMENT_COUNT) and ($COMMENT_COUNT>0)) or isset($comment_add) }
181                                        <li id="tabTcomments" class="tabTitle" title="{'Add a comment'|@translate}" name="comments">{$COMMENT_COUNT|translate_dec:'%d comment':'%d comments'}</li>
182                                {/if}
183                        </ul>
184                </div>
185                <div id="tabs">
186                        {if $display_description_tab}
187                                <div id="Tcaption" class="tabBlock"><div class="tabBlockContent">
188                                        {$COMMENT_IMG}
189                                </div></div>
190                        {/if}
191                        {if ($display_info.tags && (isset($related_tags) || ($usertags)))}
192                                <div id="Ttags" class="tabBlock"><div class="tabBlockContent">
193                                {if ($usertags)}<table id="TagsTable"><tr id="Tags" ><td class="label"></td><td class="value">{/if}
194                                {foreach from=$related_tags item=tag name=tag_loop}{if !$smarty.foreach.tag_loop.first}, {/if}
195                                        <a href="{$tag.URL}">{$tag.name}</a>
196                                {/foreach}
197                                {if ($usertags)}</td></tr></table>{/if}
198                                </div></div>
199                        {/if}
200                        {if isset($metadata)}
201                                {foreach from=$metadata item=meta key=id}
202                                        <div id="Tmeta{$id}" class="tabBlock"><div class="tabBlockContent">
203                                                {if count($meta.lines)>0 and !array_key_exists('<!--rawContent-->', $meta.lines)}
204                                                        <table id="table_meta{$id}" class="infoTable2">
205                                                                {foreach from=$meta.lines item=value key=label}
206                                                                          <tr>
207                                                                                <td class="label">{$label|@translate}</td>
208                                                                                <td class="value">{$value}</td>
209                                                                          </tr>
210                                                                {/foreach}
211                                                        </table>
212                                                {else}
213                                                          {assign var='empty' value='<!--rawContent-->'}
214                                                          {$meta.lines.$empty}
215                                                {/if}
216                                        </div></div>
217                                {/foreach}
218                        {/if}
219                        {if $display_info_panel}
220                                <div id="Tinfo" class="tabBlock"><div class="tabBlockContent">
221                               
222<dl id="standard" class="imageInfoTable">
223{strip}
224        {if $display_info.author and isset($INFO_AUTHOR)}
225        <div id="Author" class="imageInfo">
226                <dt>{'Author'|@translate}</dt>
227                <dd>{$INFO_AUTHOR}</dd>
228        </div>
229        {/if}
230        {if $display_info.created_on and isset($INFO_CREATION_DATE)}
231        <div id="datecreate" class="imageInfo">
232                <dt>{'Created on'|@translate}</dt>
233                <dd>{$INFO_CREATION_DATE}</dd>
234        </div>
235        {/if}
236        {if $display_info.posted_on}
237        <div id="datepost" class="imageInfo">
238                <dt>{'Posted on'|@translate}</dt>
239                <dd>{$INFO_POSTED_DATE}</dd>
240        </div>
241        {/if}
242        {if $display_info.dimensions and isset($INFO_DIMENSIONS)}
243        <div id="Dimensions" class="imageInfo">
244                <dt>{'Dimensions'|@translate}</dt>
245                <dd>{$INFO_DIMENSIONS}</dd>
246        </div>
247        {/if}
248        {if $display_info.file}
249        <div id="File" class="imageInfo">
250                <dt>{'File'|@translate}</dt>
251                <dd>{$INFO_FILE}</dd>
252        </div>
253        {/if}
254        {if $display_info.filesize and isset($INFO_FILESIZE)}
255        <div id="Filesize" class="imageInfo">
256                <dt>{'Filesize'|@translate}</dt>
257                <dd>{$INFO_FILESIZE}</dd>
258        </div>
259        {/if}
260        {if $display_info.tags and isset($related_tags)}
261        <div id="Tags" class="imageInfo">
262                <dt>{'Tags'|@translate}</dt>
263                <dd>
264                {foreach from=$related_tags item=tag name=tag_loop}{if !$smarty.foreach.tag_loop.first}, {/if}<a href="{$tag.URL}">{$tag.name}</a>{/foreach}
265                </dd>
266        </div>
267        {/if}
268        {if $display_info.categories and isset($related_categories)}
269        <div id="Categories" class="imageInfo">
270                <dt>{'Albums'|@translate}</dt>
271                <dd>
272                        <ul>
273                                {foreach from=$related_categories item=cat}
274                                <li>{$cat}</li>
275                                {/foreach}
276                        </ul>
277                </dd>
278        </div>
279        {/if}
280        {if $display_info.visits}
281        <div id="Visits" class="imageInfo">
282                <dt>{'Visits'|@translate}</dt>
283                <dd>{$INFO_VISITS}</dd>
284        </div>
285        {/if}
286{if $display_info.rating_score and isset($rate_summary)}
287        <div id="Average" class="imageInfo">
288                <dt>{'Rating score'|@translate}</dt>
289                <dd>
290                {if $rate_summary.count}
291                        <span id="ratingScore">{$rate_summary.score}</span> <span id="ratingCount">({$rate_summary.count|@translate_dec:'%d rate':'%d rates'})</span>
292                {else}
293                        <span id="ratingScore">{'no rate'|@translate}</span> <span id="ratingCount"></span>
294                {/if}
295                </dd>
296        </div>
297{/if}
298{if isset($rating)}
299        <div id="rating" class="imageInfo">
300                <dt>
301                        <span id="updateRate">{if isset($rating.USER_RATE)}{'Update your rating'|@translate}{else}{'Rate this photo'|@translate}{/if}</span>
302                </dt>
303                <dd>
304                                                                        <form action="{$rating.F_ACTION}" method="post" id="rateForm" style="margin:0;">
305                                                                                <div>
306                                                                                        {foreach from=$rating.marks item=mark name=rate_loop}
307                                                                                                {if isset($rating.USER_RATE) && $mark==$rating.USER_RATE}
308                                                                                                        <input type="button" name="rate" value="{$mark}" class="rateButtonSelected" title="{$mark}">
309                                                                                                {else}
310                                                                                                        <input type="submit" name="rate" value="{$mark}" class="rateButton" title="{$mark}">
311                                                                                                {/if}
312                                                                                        {/foreach}
313                                                                                        {strip}{combine_script id='core.scripts' load='async' path='themes/default/js/scripts.js'}
314                                                                                        {combine_script id='rating' load='async' require='core.scripts' path='themes/default/js/rating.js'}
315                                                                                        {footer_script}
316                                                                                                var _pwgRatingAutoQueue = _pwgRatingAutoQueue||[];
317                                                                                                _pwgRatingAutoQueue.push( {ldelim}rootUrl: '{$ROOT_URL}', image_id: {$current.id},
318                                                                                                        updateRateText: "{'Update your rating'|@translate|@escape:'javascript'}", updateRateElement: document.getElementById("updateRate"),
319                                                                                                        ratingSummaryText: "{'%.2f (rated %d times)'|@translate|@escape:'javascript'}", ratingSummaryElement: document.getElementById("ratingSummary"){rdelim} );
320                                                                                        {/footer_script}
321                                                                                        {/strip}
322                                                                                </div>
323                                                                        </form>
324                </dd>
325        </div>
326{/if}
327{/strip}
328</dl>
329                               
330                                        <table id="standard" class="infoTable">
331                                                {if $display_info.privacy_level and isset($available_permission_levels)}
332                                                        <tr id="Privacy">
333                                                                <td class="label">{'Who can see this photo?'|@translate}</td>
334                                                                <td class="value">
335                                                                        {combine_script id='core.scripts' load='async' path='themes/default/js/scripts.js'}
336                                                                        {footer_script}
337                                                                                {literal}function setPrivacyLevel(selectElement, rootUrl, id, level)
338                                                                                {
339                                                                                        selectElement.disabled = true;
340                                                                                        var y = new PwgWS(rootUrl);
341                                                                                        y.callService(
342                                                                                        "pwg.images.setPrivacyLevel", {image_id: id, level:level} ,
343                                                                                        {
344                                                                                                method: "POST",
345                                                                                                onFailure: function(num, text) { selectElement.disabled = false; alert(num + " " + text); },
346                                                                                                onSuccess: function(result) { selectElement.disabled = false; }
347                                                                                        }
348                                                                                );
349                                                                                }{/literal}
350                                                                        {/footer_script}
351                                                                        <select onchange="setPrivacyLevel(this, '{$ROOT_URL}', {$current.id}, this.options[selectedIndex].value)">
352                                                                                {foreach from=$available_permission_levels item=label key=level}
353                                                                                        <option label="{$label}" value="{$level}"{if $level == $current.level} selected="selected"{/if}>{$label}</option>
354                                                                                {/foreach}
355                                                                        </select>
356                                                                </td>
357                                                        </tr>
358                                                {/if}
359                                        </table>
360                                </div></div>
361                        {/if}
362                        {if (isset($COMMENT_COUNT) and ($COMMENT_COUNT>0)) or isset($comment_add) }
363                                <div id="Tcomments" class="tabBlock"><div id="theComments" class="tabBlockContent">
364                                        <div id="theCommentsBlock">
365                                                {if !empty($COMMENT_NAV_BAR)}
366                                                        <div class="navigationBar">{$COMMENT_NAV_BAR}</div>
367                                                {/if}
368                                                {if isset($comment_add)}
369                                                        <div id="commentAdd">
370                                                                <h4>{'Add a comment'|@translate}</h4>
371                                                                <form  method="post" action="{$comment_add.F_ACTION}" class="filter" id="addComment" >
372                  {if $comment_add.SHOW_AUTHOR}
373                    <p><label for="author">{'Author'|@translate}{if $comment_add.AUTHOR_MANDATORY} ({'mandatory'|@translate}){/if} :</label></p>
374                    <p><input type="text" name="author" id="author" value="{$comment_add.AUTHOR}"></p>
375                  {/if}
376                  {if $comment_add.SHOW_EMAIL}
377                    <p><label for="email">{'Email'|@translate}{if $comment_add.EMAIL_MANDATORY} ({'mandatory'|@translate}){/if} :</label></p>
378                    <p><input type="text" name="email" id="email" value="{$comment_add.EMAIL}"></p>
379                  {/if}
380                  <p><label for="website_url">{'Website'|@translate} :</label></p>
381                  <p><input type="text" name="website_url" id="website_url" value="{$comment_add.WEBSITE_URL}"></p>
382                  <p><label for="contentid">{'Comment'|@translate} ({'mandatory'|@translate}) :</label></p>
383                  <p><textarea name="content" id="contentid" rows="5" cols="50">{$comment_add.CONTENT}</textarea></p>
384                  <p><input type="hidden" name="key" value="{$comment_add.KEY}">
385                    <input class="submit" type="submit" value="{'Submit'|@translate}"></p>
386                </form>
387                                                        </div>
388                                                {/if}
389                                                {if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if}
390                                                {if isset($comments)}
391                                                        <div id="commentList">
392                                                                {include file='comment_list.tpl'}
393                                                        </div>
394                                                {/if}
395                                                <div style="clear: both;"></div>
396                                        </div>
397                                </div></div>
398                        {/if}
399                </div>
400        </div>
401    <div style="clear: both;"></div>
402</div>
403{if isset($stripped.imagePreload)}
404<div id="image_urls" style="display:none;">
405        {foreach from=$U_IMGNEXT item=u_img key=id}
406                {if isset($u_img)}<div class="next{$id} preload">{$u_img}</div>{/if}
407        {/foreach}
408</div>
409{/if}
410{if !empty($PLUGIN_PICTURE_AFTER)}{$PLUGIN_PICTURE_AFTER}{/if}
Note: See TracBrowser for help on using the repository browser.