source: extensions/gally/gally-default/template/picture.tpl @ 12594

Last change on this file since 12594 was 12594, checked in by grum, 12 years ago

feature:2499 - compatibility with Piwigo 2.3
fix score rating bug

  • Property svn:executable set to *
File size: 18.6 KB
Line 
1<!-- **GBL** >PICTURE> -->
2
3    {if isset($MENUBAR) and #menuAnimated# == "noswitch"}
4      <div class="titrePage" id='titrePageID'>
5        {$MENUBAR}
6      </div>
7    {/if}
8
9
10
11
12{include file='dialogs.tpl'}
13
14<div id="content" {if isset($MENUBAR)}class="pictureContent"{/if}>
15
16  <div id="theImageHigh" style="display:none;">
17    <div id="theImgHighBg"></div>
18    <div id="theImgHighContainer">
19      <div id="theImgHighCloseButton" onclick="gallyPP.closeDisplayHigh();"></div>
20      <div id="theImgHighZoomButton" class="fit" onclick="gallyPP.switchZoomHigh();"></div>
21      <div id="theImgHighContainer2">
22        <img id="theImgHigh" src="" style="display:none;" alt="{$ALT_IMG}"
23          {if isset($COMMENT_IMG)}
24            title="{$COMMENT_IMG|@strip_tags:false|@replace:'"':' '}" {else} title="{$current.TITLE|@replace:'"':' '} - {$ALT_IMG}"
25          {/if}>
26      </div>
27    </div>
28  </div>
29
30  <div id="imageHeaderBar">
31
32    {if isset($MENUBAR) and #menuAnimated# != "noswitch"}
33      <div class="titrePage" id='titrePageID'>
34        <div id="menuswitcher">
35          <a id="icon_menu" class="button" onclick="gallyCP.switchmenu('', '{$ROOT_URL}{$themeconf.icon_dir}/');">&nbsp;
36          </a>
37        </div>
38      </div>
39      {$MENUBAR}
40    {/if}
41
42    <div class="browsePath">
43      <h2>
44      [ {$SECTION_TITLE}{$LEVEL_SEPARATOR}{$current.TITLE} ]
45      </h2>
46    </div>
47    <div class="imageNumber">{$PHOTO}</div>
48    <h2>&nbsp;</h2>
49  </div> <!-- imageHeaderBar -->
50
51  {if !empty($PLUGIN_PICTURE_BEFORE)}{$PLUGIN_PICTURE_BEFORE}{/if}
52  <div id="imageToolBar">
53    <div id="imageToolBarContainer" class="uiImg">
54        <div class="imageToolBarBg">&nbsp;</div>
55
56        <div class="randomButtons">
57          {if isset($U_SLIDESHOW_START) }
58            <a id="icon_start_slideshow" class="button" href="{$U_SLIDESHOW_START}" title="{'Play of slideshow'|@translate}" rel="nofollow"></a>
59          {/if}
60          {if isset($U_SLIDESHOW_STOP) }
61            <a id="icon_stop_slideshow" class="button" href="{$U_SLIDESHOW_STOP}" title="{'Pause of slideshow'|@translate}" rel="nofollow"></a>
62          {/if}
63          {if isset($U_METADATA)}
64            <a id="icon_metadata" class="button" href="{$U_METADATA}" title="{'Show file metadata'|@translate}" rel="nofollow"></a>
65          {/if}
66
67          {if #displayHighResIcon#=="yes" and isset($high) }
68            <a id="icon_high_res" class="button pointer" onclick="gallyPP.openDisplayHigh('{$high.U_HIGH}');" title="" rel="nofollow" ></a>
69          {/if}
70
71          {if isset($current.U_DOWNLOAD) }
72            <a id="icon_save" class="button" href="{$current.U_DOWNLOAD}" title="{'download this file'|@translate}"></a>
73          {/if}
74
75          {if isset($PLUGIN_PICTURE_ACTIONS)}{$PLUGIN_PICTURE_ACTIONS}{/if}
76
77
78          {if isset($favorite) }
79            <a id="icon_{if $favorite.IS_FAVORITE}del_{/if}favorite" class="button" href="{$favorite.U_FAVORITE}" title="{if $favorite.IS_FAVORITE}{'delete this photo from your favorites'|@translate}{else}{'add this photo to your favorites'|@translate}{/if}"></a>
80          {/if}
81          {if !empty($U_SET_AS_REPRESENTATIVE) }
82            <a id="icon_representative" class="button" href="{$U_SET_AS_REPRESENTATIVE}" title="{'set as album representative'|@translate}"></a>
83          {/if}
84          {if isset($U_ADMIN) }
85            <a id="icon_preferences" class="button" href="{$U_ADMIN}" title="{'Modify information'|@translate}"></a>
86          {/if}
87          {if isset($U_CADDIE) }{*caddie management BEGIN*}
88          <script type="text/javascript">
89          {literal}
90          function addToCadie(aElement, rootUrl, id)
91          {
92            if (aElement.disabled) return;
93            aElement.disabled=true;
94            var y = new PwgWS(rootUrl);
95
96            y.callService(
97              "pwg.caddie.add", {image_id: id} ,
98              {
99                onFailure: function(num, text) { alert(num + " " + text); document.location=aElement.href; },
100                onSuccess: function(result) { aElement.disabled = false; }
101              }
102            );
103          }{/literal}
104          </script>
105          <a id="icon_caddie" class="button" onclick="addToCadie(this, '{$ROOT_URL|@escape:'javascript'}', {$current.id}); return false;" title="{'add to caddie'|@translate}"></a>
106          {/if}
107          <script type="text/javascript">
108            $('div.randomButtons a.button').addClass('sTipOnRight');
109          </script>
110        </div>
111
112        {include file='picture_nav_buttons.tpl'|@get_extent:'picture_nav_buttons'}
113
114        {if $SHOW_PICTURE_NAME_ON_TITLE }
115        <div><h2>{$current.TITLE}</h2></div>
116        {/if}
117
118    </div>
119  </div> <!-- imageToolBar -->
120
121  {if $DISPLAY_NAV_THUMB}
122    {if isset($previous) }
123    <div id="navThumbPrev">
124      <table id="navThumbPrevContainer" class="uiImg"><tr><td>
125        <div class="navThumbPrevBg">&nbsp;</div>
126        <div class="navThumbPrevContent">
127          <a class="navThumb" id="thumbPrev" href="{$previous.U_IMG}" title="{'Previous'|@translate} : {$previous.TITLE}" rel="prev">
128            <img src="{$previous.THUMB_SRC}" class="thumbLink" id="linkPrev" alt="{$previous.TITLE}">
129          </a>
130        </div>
131      </td></tr></table>
132    </div> <!-- navThumbPrev -->
133    {/if}
134
135    {if isset($next) }
136    <div id="navThumbNext">
137      <table id="navThumbNextContainer" class="uiImg"><tr><td>
138        <div class="navThumbNextBg">&nbsp;</div>
139        <div class="navThumbNextContent">
140          <a class="navThumb" id="thumbNext" href="{$next.U_IMG}" title="{'Next'|@translate} : {$next.TITLE}" rel="next">
141            <img src="{$next.THUMB_SRC}" class="thumbLink" id="linkNext" alt="{$next.TITLE}">
142          </a>
143        </div>
144      </td></tr></table>
145    </div> <!-- navThumbNext -->
146    {/if}
147  {/if}
148
149  <div id="theImage">
150    {$ELEMENT_CONTENT}
151
152    {if isset($COMMENT_IMG)}
153    <p class="imageComment">{$COMMENT_IMG}</p>
154    {else}
155    <p>&nbsp;</p>
156    {/if}
157
158    {if isset($U_SLIDESHOW_STOP) }
159    <p>
160      [ <a href="{$U_SLIDESHOW_STOP}">{'stop the slideshow'|@translate}</a> ]
161    </p>
162    {/if}
163  </div> <!-- theImage -->
164
165  <div id="theTabsContainer">
166  <div id="theTabs" class="uiImg">
167    {assign var='display_info_panel' value=false}
168    {foreach from=$display_info item=displayitem}
169      {if $displayitem}
170        {assign var='display_info_panel' value=true}
171      {/if}
172    {/foreach}
173
174    <ul id="theTabsheets">
175      {if $display_info_panel}
176        <li class="tab" id="tabImageInfos"><a href="#imageInfos">{'Informations'|@translate}</a></li>
177      {/if}
178
179      {if isset($metadata)}
180        {foreach from=$metadata item=meta key=id}
181          <li class="tab" id="tabImageMeta{$id}"><a href="#imageMeta{$id}">{$meta.TITLE|@translate}</a></li>
182        {/foreach}
183      {/if}
184
185      {if (isset($COMMENT_COUNT) and ($COMMENT_COUNT>0)) or isset($comment_add) }
186        <li class="tab" id="tabTheComment">
187          <a href="#theComments">{$pwg->l10n_dec('%d comment', '%d comments',$COMMENT_COUNT)}</a>
188        </li>
189      {/if}
190
191    </ul>
192
193    <div id="theTabsBg"></div>
194
195
196
197    {if $display_info_panel}
198      <div id="imageInfos" class="tabPanel">
199        <div id="imageInfosContainer">
200        <div class="imageInfosBg">&nbsp;</div>
201
202          <table class="infoTable">
203            <tr  class="emptyrow" style="line-height:0px;">
204              <td colspan="2">&nbsp;</td>
205              <td width="10px">&nbsp;</td>
206              <td width="12%">&nbsp;</td>
207              <td width="18%">&nbsp;</td>
208              <td width="10px">&nbsp;</td>
209              <td width="12%">&nbsp;</td>
210              <td width="18%">&nbsp;</td>
211            </tr>
212
213            {if $display_info.author or $display_info.created_on or $display_info.posted_on}
214            <tr>
215              {assign var='colspan' value=8}
216              {if $display_info.author}
217                {assign var='colspan' value=`$colspan-3`}
218                <td class="label">{'Author'|@translate}</td>
219                <td class="value" style="min-width:214px;">{if isset($INFO_AUTHOR)}{$INFO_AUTHOR}{else}{'N/A'|@translate}{/if}</td>
220                <td>&nbsp;</td>
221              {/if}
222
223              {if $display_info.created_on}
224                {assign var='colspan' value=`$colspan-3`}
225                <td class="label">{'Created on'|@translate}</td>
226                <td class="value">{if isset($INFO_CREATION_DATE)}{$INFO_CREATION_DATE}{else}{'N/A'|@translate}{/if}</td>
227                <td>&nbsp;</td>
228              {/if}
229
230              {if $display_info.posted_on}
231                {assign var='colspan' value=`$colspan-2`}
232                <td class="label">{'Posted on'|@translate}</td>
233                <td class="value">{$INFO_POSTED_DATE}</td>
234              {/if}
235
236              {if $colspan!=0}
237                <td colspan="{$colspan}">&nbsp;</td>
238              {/if}
239
240            </tr>
241            {/if}
242
243            {if $display_info.dimensions or $display_info.file or $display_info.filesize}
244            <tr>
245              {assign var='colspan' value=8}
246
247              {if $display_info.dimensions}
248                {assign var='colspan' value=`$colspan-3`}
249                <td class="label">{'Dimensions'|@translate}</td>
250                <td class="value">{if isset($INFO_DIMENSIONS)}{$INFO_DIMENSIONS|@replace:"*":"x"}{else}{'N/A'|@translate}{/if}</td>
251                <td>&nbsp;</td>
252              {/if}
253
254              {if $display_info.file}
255                {assign var='colspan' value=`$colspan-3`}
256                <td class="label">{'File'|@translate}</td>
257                <td class="value">{$INFO_FILE}</td>
258                <td>&nbsp;</td>
259              {/if}
260
261              {if $display_info.filesize}
262                {assign var='colspan' value=`$colspan-2`}
263                <td class="label">{'Filesize'|@translate}</td>
264                <td class="value">{if isset($INFO_FILESIZE)}{$INFO_FILESIZE}{else}{'N/A'|@translate}{/if}</td>
265              {/if}
266
267              {if $colspan!=0}
268                <td colspan="{$colspan}">&nbsp;</td>
269              {/if}
270            </tr>
271            {/if}
272
273            {if isset($related_tags) and $display_info.tags}
274              <tr class="emptyrow"><td colspan="8">&nbsp;</td></tr>
275              <tr id="infoTags">
276                <td class="label">{'Tags'|@translate}</td>
277                <td colspan="7" class="value">
278                    {foreach from=$related_tags item=tag name=tag_loop}{if !$smarty.foreach.tag_loop.first}, {/if}
279                    <a href="{$tag.URL}">{$tag.name}</a>{/foreach}
280                </td>
281              </tr>
282            {/if}
283
284            {if isset($related_categories) and $display_info.categories}
285              <tr class="emptyrow"><td colspan="8">&nbsp;</td></tr>
286              <tr id="infoCats">
287                <td class="label">{'Albums'|@translate}</td>
288                <td colspan="7" class="value">
289                  {foreach from=$related_categories item=cat name=tag_loop}{if !$smarty.foreach.tag_loop.first},&nbsp;{/if}
290                  {$cat}
291                  {/foreach}
292                </td>
293              </tr>
294            {/if}
295
296            {if $display_info.visits}
297              <tr class="emptyrow"><td colspan="8">&nbsp;</td><tr>
298              <tr>
299                <td class="label">{'Visits'|@translate}</td>
300                <td colspan="7" class="value">{$INFO_VISITS}</td>
301              </tr>
302            {/if}
303
304            {if (isset($rate_summary) or isset($rating)) and  $display_info.rating_score}
305              <tr id="rating">
306                {if isset($rate_summary)}
307                  <td class="label">{'Rating score'|@translate}</td>
308                  <td class="value">
309                  {if $rate_summary.count}
310                    <span id="ratingScore">{$rate_summary.score}</span>
311                    <span id="ratingCount">({assign var='rate_text' value='%d rates'|@translate}{$pwg->sprintf($rate_text, $rate_summary.count)})</span>
312                  {else}
313                    <span id="ratingScore">{'no rate'|@translate}</span> <span id="ratingCount"></span>
314                  {/if}
315                  </td>
316                {else}
317                  <td colspan="2">&nbsp;</td>
318                {/if}
319                <td>&nbsp;</td>
320
321                {if isset($rating)}
322                  <td class="label" colspan="5">
323                    <span id="updateRate">{if isset($rating.USER_RATE)}{'Update your rating'|@translate}{else}{'Rate this photo'|@translate}{/if}</span>
324
325                    <form action="{$rating.F_ACTION}" method="post" id="rateForm" style="margin:0;">
326                      <div>&nbsp;
327                      {foreach from=$rating.marks item=mark name=rate_loop}
328                        {if !$smarty.foreach.rate_loop.first} | {/if}
329
330                        {if isset($rating.USER_RATE) && $mark==$rating.USER_RATE}
331                          <input type="button" name="rate" value="{$mark}" class="rateButtonSelected" title="{$mark}" />
332                        {else}
333                          <input type="submit" name="rate" value="{$mark}" class="rateButton" title="{$mark}" />
334                        {/if}
335
336                      {/foreach}
337
338                      {combine_script id='core.scripts' load='async' path='themes/default/js/scripts.js'}
339                      {combine_script id='rating' load='async' require='core.scripts' path='themes/default/js/rating.js'}
340
341
342                      {footer_script}
343                        var _pwgRatingAutoQueue = _pwgRatingAutoQueue||[];
344                        _pwgRatingAutoQueue.push( {ldelim}rootUrl: '{$ROOT_URL}', image_id: {$current.id},
345                          onSuccess : function(rating) {ldelim}
346                            var e = document.getElementById("updateRate");
347                            if (e) e.innerHTML = "{'Update your rating'|@translate|@escape:'javascript'}";
348                            e = document.getElementById("ratingScore");
349                            if (e) e.innerHTML = rating.score;
350                            e = document.getElementById("ratingCount");
351                            if (e) e.innerHTML = "({'%d rates'|@translate|@escape:'javascript'})".replace( "%d", rating.count);
352                          {rdelim}{rdelim} );
353                      {/footer_script}
354
355                      </div>
356                    </form>
357                  </td>
358                {else}
359                  <td colspan="5">&nbsp;</td>
360                {/if}
361              </tr>
362            {/if}
363
364          {if isset($available_permission_levels) and $display_info.privacy_level}
365            <tr>
366              <td class="label">{'Who can see this photo?'|@translate}:</td>
367              <td colspan="4" class="value">
368                <script type="text/javascript">
369                {literal}function setPrivacyLevel(selectElement, rootUrl, id, level)
370                {
371                selectElement.disabled = true;
372                var y = new PwgWS(rootUrl);
373                y.callService(
374                  "pwg.images.setPrivacyLevel", {image_id: id, level:level} ,
375                  {
376                    method: "POST",
377                    onFailure: function(num, text) { selectElement.disabled = false; alert(num + " " + text); },
378                    onSuccess: function(result) { selectElement.disabled = false; }
379                  }
380                  );
381                }{/literal}
382                </script>
383                <select onchange="setPrivacyLevel(this, '{$ROOT_URL|@escape:'javascript'}', {$current.id}, this.options[selectedIndex].value)">
384                  {foreach from=$available_permission_levels item=label key=level}
385                  <option label="{$label}" value="{$level}"{if $level == $current.level} selected="selected"{/if}>{$label}</option>
386                  {/foreach}
387                </select>
388              </td>
389            </tr>
390          {/if}
391
392          </table>
393
394        </div>
395      </div> <!-- imageInfos -->
396    {/if}
397
398    {if isset($metadata)}
399    {foreach from=$metadata item=meta key=id}
400    <div id="imageMeta{$id}" class="imageMeta tabPanel">
401      <div id="imageMetaContainer{$id}">
402        <div class="imageMetaBg">&nbsp;</div>
403
404        {if count($meta.lines)>0 and !array_key_exists('<!--rawContent-->', $meta.lines)}
405          <table id="displaymeta{$id}" class="displaymeta infoTable">
406            {foreach from=$meta.lines item=value key=label name=metaloop}
407              {if ($smarty.foreach.metaloop.iteration-1) % #metaNumCols# == 0}
408                {if !$smarty.foreach.metaloop.first}</tr>{/if}
409                {if !$smarty.foreach.metaloop.last}<tr>{/if}
410              {/if}
411              <td class="label">{$label|@translate}</td>
412              <td class="value">{$value}</td>
413            {/foreach}
414          </table>
415        {else}
416          {assign var='empty' value='<!--rawContent-->'}
417          {$meta.lines.$empty}
418        {/if}
419      </div>
420    </div> <!-- imageMeta -->
421    {/foreach}
422    {/if}
423
424
425    {if (isset($COMMENT_COUNT) and ($COMMENT_COUNT>0)) or isset($comment_add) }
426    <div id="theComments" class="tabPanel">
427      <div id='theCommentBG'>&nbsp;</div>
428
429      {if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if}
430
431      {if isset($comment_add) or isset($comments)}
432      <table id="theCommentContainer">
433        <tr style="vertical-align:top;">
434          {if isset($comment_add)}
435          {if isset($comments)}
436          <td width="50%">
437          {else}
438          <td>
439          {/if}
440            <h4>{'Add a comment'|@translate}</h4>
441            <form  method="post" action="{$comment_add.F_ACTION}" class="filter" id="addComment">
442              <table>
443                {if $comment_add.SHOW_AUTHOR}
444                <tr>
445                  <td>{'Author'|@translate}</td>
446                  <td><input type="text" name="author"></td>
447                </tr>
448                {/if}
449                <tr>
450                  <td {if $comment_add.SHOW_AUTHOR}colspan="2"{/if}><textarea name="content" id="contentid" rows="7" cols="80">{$comment_add.CONTENT}</textarea></td>
451                </tr>
452                <tr>
453                  <td {if $comment_add.SHOW_AUTHOR}colspan="2"{/if}>
454                    <input type="hidden" name="key" value="{$comment_add.KEY}" />
455                    <input class="submit" type="submit" value="{'Submit'|@translate}"/>
456                  </td>
457                </tr>
458              </table>
459            </form>
460          </td>
461          {/if}
462
463          {if isset($comments)}
464          {if isset($comment_add)}
465          <td width="50%">
466          {else}
467          <td>
468          {/if}
469            <div id="theCommentList">
470              {include file='comment_list.tpl' comment_separator=true}
471            </div>
472          </td>
473          {/if}
474
475        </tr>
476      </table>
477      {/if}
478    </div>
479    {/if} {*comments*}
480
481  </div><!-- theTabs -->
482  </div>
483
484  {if !empty($PLUGIN_PICTURE_AFTER)}{$PLUGIN_PICTURE_AFTER}{/if}
485
486</div>
487
488<!-- **GBL** <PICTURE< -->
489
Note: See TracBrowser for help on using the repository browser.