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

Last change on this file since 32017 was 32017, checked in by plg, 5 years ago

compliance with recommendation for Piwigo 2.10

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