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

Last change on this file since 8528 was 8528, checked in by grum, 13 years ago

Release 1.4.0
Rewrite some JS
fix bug bug:1983

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