Changeset 16016


Ignore:
Timestamp:
06/24/12 21:26:25 (7 years ago)
Author:
grum
Message:

feature:2664- compatibility with Piwigo 2.4

Location:
extensions/gally/gally-default
Files:
1 added
43 edited

Legend:

Unmodified
Added
Removed
  • extensions/gally/gally-default/admin/Conf.class.inc.php

    r10937 r16016  
    175175      "menuMSIEMaxWidth" => '', 
    176176      "imageSimulateHighRes" => '', 
    177       "imageScrollMinDeadArea" => '' 
     177      "imageScrollMinDeadArea" => '', 
     178      "manageTips" => '', 
     179      "manageTipsPos" => '', 
     180      "tipsSize" => '', 
     181      "randomPositionBoxX" => '', 
     182      "randomPositionBoxY" => '', 
     183      "metaNumCols" => '', 
     184      "interfaceTimerDelay" => '', 
     185      "imageAutoScroll" => '' 
    178186      //"expandMenu" => '', 
    179187    ); 
  • extensions/gally/gally-default/admin/GallyDefault.class.inc.php

    r10937 r16016  
    2020class GallyDefault 
    2121{ 
    22   const THEME_VERSION = '1.4.1'; 
     22  const THEME_VERSION = '1.5.0'; 
    2323 
    2424  private $directories=Array( 
  • extensions/gally/gally-default/admin/gally_img_high_res.tpl

    r6109 r16016  
    22<br> 
    33<form method="post" action="" class="general"> 
    4  
    5   <fieldset> 
    6     <legend>{'gally_display_high_res_icon'|@translate}</legend> 
    7  
    8     <p class="leftAlign">{'gally_display_high_res_icon_desc'|@translate}</p> 
    9  
    10     <label><input type="radio" name="f_displayHighResIcon" id="idisplayHighResIcon" value="yes" {if $options.displayHighResIcon=="yes"}checked{/if}>&nbsp;{'gally_displayHighResIcon_yes'|@translate}</label><br> 
    11     <label><input type="radio" name="f_displayHighResIcon" id="idisplayHighResIcon" value="no" {if $options.displayHighResIcon=="no"}checked{/if}>&nbsp;{'gally_displayHighResIcon_no'|@translate}</label> 
    12   </fieldset> 
    134 
    145  <fieldset> 
  • extensions/gally/gally-default/conf/default.conf

    r12592 r16016  
    190190 
    191191# -- 1.3.0 -- 
    192 # the 'displayHighResIcon' option can take theses values : 
    193 #   "yes" => display an icon 'view full res' in the toolbar 
    194 #   "no"  => don't display an icon 'view full res' in the toolbar 
    195 displayHighResIcon="yes" 
    196  
    197 # -- 1.3.0 -- 
    198192# the 'highResClickMode' option can take theses values : 
    199193#   "close" => click on the high res picture close the high res picture 
     
    216210manageTipsPos="tipOnBottom" 
    217211 
     212# -- 1.5.0 -- 
     213# the 'tipsSize' option can take any positive integer values. 
     214# This option define the size (Width&Height) of an arrow 
     215tipsSize=12 
     216 
    218217# ------- Menu parameters ------------------------------------------------------ 
    219218 
  • extensions/gally/gally-default/css/theme.css

    r12592 r16016  
    2121  display:inline-block; 
    2222} 
     23 
     24.switchBox { 
     25  padding: 0.5em 5px; 
     26  border-radius: 4px; 
     27  z-index: 100; 
     28  text-align:left; 
     29  display: none; 
     30  position: absolute; 
     31  left: 0; top: 0; /*left, right set through js*/ 
     32} 
     33 
     34.switchBoxTitle { 
     35  padding-bottom:5px; 
     36  margin-bottom:5px; 
     37} 
     38 
     39.relSwitchBox { 
     40  position: relative; 
     41} 
     42 
     43#derivativeSwitchBox a { 
     44  cursor:pointer; 
     45} 
     46 
  • extensions/gally/gally-default/css/thumbnails.css

    r6109 r16016  
    5454  padding:0px; 
    5555  float:left; 
    56   width:240px; 
    57   height:210px; 
    5856} 
    5957 
     
    120118.illustration { 
    121119  float:left; 
    122   width:140px; 
     120  min-width:140px; 
    123121} 
    124122 
    125123.description { 
    126   height:140px; 
     124  min-height:140px; 
    127125  overflow:auto; 
    128126  padding-left:8px; 
  • extensions/gally/gally-default/js/gallyjs-tcp.js

    r12592 r16016  
    136136      $("#additional_infoTOP").css("visibility", "visible"); 
    137137    } 
     138 
     139    $("#icon_derivatives").click(function() 
     140      { 
     141        var elt = $("#derivativeSwitchBox"); 
     142        elt.css("left", 0); 
     143 
     144        $("#sortOrderBox").hide(); 
     145        elt.css("left", Math.min( $(this).position().left + $('#tabRandomButtons').outerWidth(true) - 5, $('#the_page').width() - elt.outerWidth(true) - 5)) 
     146          .css("top", $(this).position().top) 
     147          .toggle(); 
     148          $('#iSimpleTip').css('display', 'none'); // if tip activated, hide it.. 
     149      } 
     150    ); 
     151    $("#derivativeSwitchBox").on("mouseleave click", function() 
     152      { 
     153        $(this).hide(); 
     154      } 
     155    ); 
     156 
     157    $("#icon_sort").click(function() 
     158      { 
     159        var elt = $("#sortOrderBox"); 
     160        elt.css("left", 0); 
     161 
     162        $("#derivativeSwitchBox").hide(); 
     163        elt.css("left", Math.min( $(this).position().left + $('#tabRandomButtons').outerWidth(true) - 5, $('#the_page').width() - elt.outerWidth(true) - 5)) 
     164          .css("top", $(this).position().top) 
     165          .toggle(); 
     166          $('#iSimpleTip').css('display', 'none'); // if tip activated, hide it.. 
     167      } 
     168    ); 
     169    $("#sortOrderBox").on("mouseleave click", function() 
     170      { 
     171        $(this).hide(); 
     172      } 
     173    ); 
     174 
     175    liWidth=$('ul.thumbnails li').outerWidth(); 
     176    thumbListWidth=$('#thumbnails').width(); 
     177    $('div ul.thumbnails').css('padding-left', (thumbListWidth-liWidth*Math.floor(thumbListWidth/liWidth))/2-1); 
    138178  }, 
    139179 
  • extensions/gally/gally-default/js/gallyjs-tpp.js

    r12592 r16016  
    4444      }, 
    4545      container=null, 
     46      initialThumbPos=null, 
    4647 
    4748  /** 
     
    109110                        .bind("mousemove", function () { switchInterface('y', true); } ); 
    110111    } 
    111  
    112  
    113     $("#navThumbPrev").css("top", $("#navThumbPrev").prop("offsetTop")+$("#theHeader").prop("offsetHeight")+$("#theHeaderAlt").prop("offsetHeight")+"px"); 
    114     $("#navThumbNext").css("top", $("#navThumbNext").prop("offsetTop")+$("#theHeader").prop("offsetHeight")+$("#theHeaderAlt").prop("offsetHeight")+"px"); 
    115  
    116     $("#theImage").css("top", $("#theImage").prop("offsetTop")+$("#theHeader").prop("offsetHeight")+$("#theHeaderAlt").prop("offsetHeight")+"px"); 
    117112 
    118113    $("#contentid").attr("rows", options.commentRows); 
     
    166161    ); 
    167162 
     163    $("#icon_derivatives").click(function() 
     164      { 
     165        var elt = $("#derivativeSwitchBox"); 
     166 
     167        elt.css("left", Math.min( $(this).position().left + $('#tabRandomButtons').outerWidth(true), $(window).width() - elt.outerWidth(true) - 5)) 
     168          .css("top", $(this).position().top) 
     169          .toggle(); 
     170          $('#iSimpleTip').css('display', 'none'); // if tip activated, hide it.. 
     171      } 
     172    ); 
     173    $("#derivativeSwitchBox, #privacyLevelBox").on("mouseleave click", function() 
     174      { 
     175        $(this).hide(); 
     176      } 
     177    ); 
     178 
     179    $('#iPrivacyLevelLink').click(function () 
     180      { 
     181        var elt = $("#privacyLevelBox"), 
     182            ePos = $("#privacyLevelLink"); 
     183 
     184        elt.css("left", $(this).position().left) 
     185           .css("top", $(this).position().top) 
     186           .toggle(); 
     187      } 
     188    ); 
     189 
    168190    $(window).resize( function () { initializeImageMode("resize"); } ); 
    169191 
     
    192214    var thumbWidth=0, 
    193215        imgTop=0, 
     216        imgPos='', 
    194217        cssValues = new Object; 
    195218 
     
    272295      if($("#navThumbPrev").length>0) 
    273296      { 
    274         $("#navThumbPrev").css("height", $("#copyright").prop("offsetTop")-$("#navThumbPrev").prop("offsetTop")-options.tabsHidden+"px"); 
    275       } 
    276       if($("#navThumbNext").length>0) 
    277       { 
    278         $("#navThumbNext").css("height", $("#copyright").prop("offsetTop")-$("#navThumbNext").prop("offsetTop")-options.tabsHidden+"px"); 
     297        initialThumbPos=$("#navThumbPrev").position().top; 
     298      } 
     299      else if($("#navThumbNext").length>0) 
     300      { 
     301        initialThumbPos=$("#navThumbNext").position().top; 
     302      } 
     303      else 
     304      { 
     305        initialThumbPos=-1; 
    279306      } 
    280307    } 
     
    311338    } 
    312339 
    313  
    314  
     340    imgTop=initialThumbPos; 
     341    //if position equals -1, mean top calculate it automatically - valid for "#navThumbPrev" & "#navThumbNext" 
     342    if(imgTop==-1) 
     343    { 
     344      imgTop=$("#theImage").prop("offsetTop")+$("#theHeader").prop("offsetHeight")+$("#theHeaderAlt").prop("offsetHeight")+($("#theImgContainer").height()-$("#navThumbPrev").height())/2; 
     345    } 
     346 
     347    $("#navThumbPrev") 
     348        .css("top", imgTop) 
     349        .css("height", $("#copyright").prop("offsetTop")-$("#navThumbPrev").prop("offsetTop")-options.tabsHidden+"px"); 
     350 
     351    $("#navThumbNext") 
     352        .css("top", imgTop) 
     353        .css("height", $("#copyright").prop("offsetTop")-$("#navThumbNext").prop("offsetTop")-options.tabsHidden+"px"); 
     354 
     355 
     356    $("#theImage").css("top", $("#theImage").prop("offsetTop")+$("#theHeader").prop("offsetHeight")+$("#theHeaderAlt").prop("offsetHeight")+"px"); 
    315357 
    316358    simulateHighRes(); 
     
    634676  }; 
    635677 
     678  function changeImgSrc(url,typeSave,typeMap,cookiePath) 
     679  { 
     680    $("#theMainImage") 
     681      .removeAttr("width height") 
     682      .attr("src", url) 
     683      .load(function () 
     684        { 
     685          initializeImageMode("resize"); 
     686        } 
     687      ); 
     688 
     689    $('#derivativeSwitchBox .switchCheck').css('visibility','hidden'); 
     690    $('#derivativeChecked'+typeSave).css('visibility','visible'); 
     691 
     692    document.cookie = 'picture_deriv='+typeSave+';path='+cookiePath; 
     693  } 
     694 
     695  function setPrivacyLevel(rootUrl, id, level) 
     696  { 
     697    var y = new PwgWS(rootUrl); 
     698 
     699    y.callService( 
     700      "pwg.images.setPrivacyLevel", 
     701      {image_id: id, level:level} , 
     702      { 
     703        method: "POST", 
     704        onFailure: function(num, text) { alert(num + " " + text); }, 
     705        onSuccess: function(result) { 
     706          jQuery('#privacyLevelBox .switchCheck').css('visibility','hidden'); 
     707          jQuery('#levelCheck'+level).css('visibility','visible'); 
     708        } 
     709      } 
     710    ); 
     711  } 
    636712 
    637713  this.closeDisplayHigh = function () { closeDisplayHigh(); }; 
     
    641717  this.getTabsProp = function () { return tabs; }; 
    642718  this.openDisplayHigh = function (url) { openDisplayHigh(url); }; 
     719  this.changeImgSrc = function (url,typeSave,typeMap,cookiePath) { changeImgSrc(url,typeSave,typeMap,cookiePath); }; 
     720  this.setPrivacyLevel = function (rootUrl, id, level) { setPrivacyLevel(rootUrl, id, level); }; 
    643721 
    644722  init(); 
  • extensions/gally/gally-default/js/gallyjs-ttm.js

    r8528 r16016  
    5656                  targetPos:'top-middle', 
    5757                  tipPos:'bottom-middle', 
    58                   offsetY:14, 
    59                   arrowHeight:13, 
    60                   arrowWidth:17, 
    61                   drawArrow:true, 
    62                   arrowImgDir:options.themePath 
     58                  offsetY:options.tipsSize, 
     59                  arrowHeight:options.tipsSize, 
     60                  arrowWidth:options.tipsSize, 
     61                  drawArrow:true 
    6362                } 
    6463              ); 
     
    7170                  targetPos:'middle-right', 
    7271                  tipPos:'middle-left', 
    73                   offsetX:12, 
    74                   arrowHeight:17, 
    75                   arrowWidth:12, 
    76                   drawArrow:true, 
    77                   arrowImgDir:options.themePath 
     72                  offsetX:options.tipsSize, 
     73                  arrowHeight:options.tipsSize, 
     74                  arrowWidth:options.tipsSize, 
     75                  drawArrow:true 
    7876                } 
    7977              ); 
     
    8684                  targetPos:'middle-left', 
    8785                  tipPos:'middle-right', 
    88                   offsetX:12, 
    89                   arrowHeight:17, 
    90                   arrowWidth:12, 
    91                   drawArrow:true, 
    92                   arrowImgDir:options.themePath 
     86                  offsetX:options.tipsSize, 
     87                  arrowHeight:options.tipsSize, 
     88                  arrowWidth:options.tipsSize, 
     89                  drawArrow:true 
    9390                } 
    9491              ); 
     
    10198                  targetPos:'bottom-middle', 
    10299                  tipPos:'top-middle', 
    103                   offsetY:12, 
    104                   arrowHeight:12, 
    105                   arrowWidth:17, 
    106                   drawArrow:true, 
    107                   arrowImgDir:options.themePath 
     100                  offsetY:options.tipsSize, 
     101                  arrowHeight:options.tipsSize, 
     102                  arrowWidth:options.tipsSize, 
     103                  drawArrow:true 
    108104                } 
    109105              ); 
  • extensions/gally/gally-default/js/simpleTip.js

    r8528 r16016  
    7070      offsetY:0, 
    7171      classes:'', 
    72       arrowImgDir: '', 
    7372      arrowWidth: 12, 
    7473      arrowHeight: 12 
     
    322321        arrowX=-bwX; 
    323322        arrowY=-items[itemIndex].options.arrowHeight+bwY; 
    324         arrowModel='up'; 
     323        arrowModel='Up'; 
    325324        break; 
    326325 
     
    330329        arrowX=(stWidthI-items[itemIndex].options.arrowWidth)/2; 
    331330        arrowY=-items[itemIndex].options.arrowHeight+bwY; 
    332         arrowModel='up'; 
     331        arrowModel='Up'; 
    333332        break; 
    334333 
     
    338337        arrowX=stWidthI-items[itemIndex].options.arrowWidth+bwX; 
    339338        arrowY=-items[itemIndex].options.arrowHeight+bwY; 
    340         arrowModel='up'; 
     339        arrowModel='Up'; 
    341340        break; 
    342341 
     
    346345        arrowX=-items[itemIndex].options.arrowWidth+bwX; 
    347346        arrowY=(stHeightI-items[itemIndex].options.arrowHeight)/2+bwY; 
    348         arrowModel='left'; 
     347        arrowModel='Left'; 
    349348        break; 
    350349 
     
    359358        arrowX=stWidthI+bwX; 
    360359        arrowY=(stHeightI-items[itemIndex].options.arrowHeight)/2+bwY; 
    361         arrowModel='right'; 
     360        arrowModel='Right'; 
    362361        break; 
    363362 
     
    367366        arrowX=-bwX; 
    368367        arrowY=stHeightI+bwY; 
    369         arrowModel='down'; 
     368        arrowModel='Down'; 
    370369        break; 
    371370 
     
    375374        arrowX=(stWidthI-items[itemIndex].options.arrowWidth)/2+bwX; 
    376375        arrowY=stHeightI+bwY; 
    377         arrowModel='down'; 
     376        arrowModel='Down'; 
    378377        break; 
    379378 
     
    383382        arrowX=stWidthI-items[itemIndex].options.arrowWidth+bwX; 
    384383        arrowY=stHeightI+bwY; 
    385         arrowModel='down'; 
     384        arrowModel='Down'; 
    386385        break; 
    387386    } 
     
    389388    if(items[itemIndex].options.drawArrow & arrowModel!='') 
    390389    { 
     390      switch(arrowModel) 
     391      { 
     392        case 'Up': 
     393          bgp='0px -'+items[itemIndex].options.arrowHeight+'px'; 
     394          break; 
     395        case 'Left': 
     396          bgp='-'+items[itemIndex].options.arrowWidth+'px 0px'; 
     397          break; 
     398        case 'Down': 
     399          bgp='0px 0px'; 
     400          break; 
     401        case 'Right': 
     402          bgp='-'+items[itemIndex].options.arrowHeight+'px -'+items[itemIndex].options.arrowWidth+'px'; 
     403          break; 
     404      } 
    391405      $('#iSimpleTipArrow'+options.name).css( 
    392406        { 
    393407          display: 'block', 
    394           background: 'url("'+items[itemIndex].options.arrowImgDir+'/arrow_'+arrowModel+'.png") no-repeat scroll 0 0 transparent', 
     408          backgroundPosition: bgp, 
    395409          marginLeft: arrowX+'px', 
    396410          marginTop: arrowY+'px', 
     
    434448    if($('#iSimpleTip'+options.name).length==0) 
    435449    { 
    436       text="<div id='iSimpleTip"+options.name+"' style='z-index:15000;display:none;position:absolute;left:0px;top:0px;'><div id='iSimpleTipShadow"+options.name+"' style='position:absolute;width:100%;height:100%;background:#000000;opacity:0.4;filter:alpha(opacity:40);display:block;z-index:-1;margin-left:2px;margin-top:2px;'></div><div id='iSimpleTipArrow"+options.name+"' style='position:absolute;'></div><div id='iSimpleTipContent"+options.name+"'></div></div>"; 
     450      text="<div class='cSimpleTip' id='iSimpleTip"+options.name+"' style='z-index:15000;display:none;position:absolute;left:0px;top:0px;'><div class='cSimpleTipShadow' id='iSimpleTipShadow"+options.name+"'></div><div class='cSimpleTipArrow' id='iSimpleTipArrow"+options.name+"'></div><div class='cSimpleTipContent' id='iSimpleTipContent"+options.name+"'></div></div>"; 
    437451      $('body').append(text); 
    438452    } 
  • extensions/gally/gally-default/language/en_UK/theme.lang.php

    r7329 r16016  
    66$lang['gally_save_local_conf'] = 'Saving settings'; 
    77 
    8 $lang['gally_img_high_res'] = 'Picture/High resolution'; 
    98$lang['gally_img_interface'] = 'Picture/Interface'; 
    109$lang['gally_img_other'] = 'Picture/Other'; 
    1110 
    12 $lang['gally_img_high_res_desc'] = 'This page lets you define the properties of the user interface when viewing an image in high resolution'; 
    1311$lang['gally_img_interface_desc'] = 'This page lets you define the properties of the user interface when viewing an image'; 
    1412$lang['gally_img_other_desc'] = 'This page lets you define various properties of the user interface when viewing an image'; 
    1513 
    1614$lang['gally_default_zoom_size'] = 'Default zoom size'; 
    17 $lang['gally_default_zoom_size_desc'] = 'This option sets the display type used by default when a high definition image is loaded'; 
    1815$lang['gally_defaultZoomSize_full'] = 'Actual size (if image doesn\'t fit on the screen, it\'s possible to scroll horizontally and vertically)'; 
    1916$lang['gally_defaultZoomSize_fit'] = 'The image is resized to be fully displayed on the screen'; 
    2017$lang['gally_display_high_res_icon'] = 'Icon in the toolbar'; 
    21 $lang['gally_display_high_res_icon_desc'] = 'This option, if the image has a version in high resolution, display an icon in the toolbar'; 
    2218$lang['gally_displayHighResIcon_yes'] = 'Show icon'; 
    2319$lang['gally_displayHighResIcon_no'] = 'Do not display the icon'; 
    24 $lang['gally_display_high_res_click_mode'] = 'Action associated with the high resolution image'; 
    25 $lang['gally_display_high_res_click_mode_desc'] = 'This option defines how the interface behaves when you click on the image in high resolution'; 
    2620$lang['gally_highResClickMode_zoom'] = 'Changing the type of zoom (Actual Size / resized)'; 
    27 $lang['gally_highResClickMode_close'] = 'Quit displaying the image in high resolution'; 
    2821 
    2922$lang['gally_interface_on_image'] = 'Display hover'; 
     
    6861$lang['gally_alternate_banner_content'] = 'Alternative banner content:'; 
    6962 
     63// v1.5.0 
     64$lang['gally_img_high_res'] = 'Picture/Lightbox view'; 
     65$lang['gally_img_high_res_desc'] = 'This page lets you define the properties of the user interface when viewing an image in a lightbox'; 
    7066 
     67$lang['gally_default_zoom_size_desc'] = 'This option sets the display type used by default in a lightbox when an image bigger than the screen size is loaded'; 
     68 
     69$lang['gally_display_high_res_click_mode'] = 'Action associated with the lightbox'; 
     70$lang['gally_display_high_res_click_mode_desc'] = 'This option defines how the interface behaves when you click on the image in the lightbox'; 
     71$lang['gally_highResClickMode_close'] = 'Close the lightbox'; 
     72 
     73/* --removed 
     74$lang['gally_display_high_res_icon_desc'] = ''; 
     75*/ 
    7176?> 
  • extensions/gally/gally-default/language/fr_FR/theme.lang.php

    r6752 r16016  
    66$lang['gally_save_local_conf'] = 'Enregistrement de la configuration'; 
    77 
    8 $lang['gally_img_high_res'] = 'Image/Haute résolution'; 
    98$lang['gally_img_interface'] = 'Image/Interface'; 
    109$lang['gally_img_other'] = 'Image/Autres'; 
    1110 
    12 $lang['gally_img_high_res_desc'] = 'Cette page permet de définir les propriétés de l\'interface utilisateur lors de la visualisation d\'une image en haute résolution'; 
    1311$lang['gally_img_interface_desc'] = 'Cette page permet de définir les propriétés de l\'interface utilisateur lors de la visualisation d\'une image'; 
    1412$lang['gally_img_other_desc'] = 'Cette page permet de définir diverses propriétés de l\'interface utilisateur lors de la visualisation d\'une image'; 
    1513 
    1614$lang['gally_default_zoom_size'] = 'Taille du zoom par défaut'; 
    17 $lang['gally_default_zoom_size_desc'] = 'Cette option permet de définir le type d\'affichage utilisé par défaut lorsqu\'une image en haute définition est chargée'; 
    1815$lang['gally_defaultZoomSize_full'] = 'Taille réelle (si l\'image ne tiens pas sur l\'écran, il est possible de la faire défiler en largeur et en hauteur)'; 
    1916$lang['gally_defaultZoomSize_fit'] = 'L\'image est redimensionnée pour être affichée entièrement sur l\'écran'; 
    2017$lang['gally_display_high_res_icon'] = 'Icône dans la barre d\'outil'; 
    21 $lang['gally_display_high_res_icon_desc'] = 'Cette option permet, si l\'image dispose d\'une version en haute résolution, d\'afficher une icône dans la barre d\'outil'; 
    2218$lang['gally_displayHighResIcon_yes'] = 'Afficher l\'icône'; 
    2319$lang['gally_displayHighResIcon_no'] = 'Ne pas afficher l\'icône'; 
    24 $lang['gally_display_high_res_click_mode'] = 'Action associée à l\'image en haute résolution'; 
    25 $lang['gally_display_high_res_click_mode_desc'] = 'Cette option permet de définir comment se comporte l\'interface lorsque que l\'on clique sur l\'image en haute résolution'; 
    2620$lang['gally_highResClickMode_zoom'] = 'Changer le type de zoom (Taille réelle / redimensionné)'; 
    27 $lang['gally_highResClickMode_close'] = 'Quitter l\'affichage de l\'image en haute résolution'; 
    28  
    29 $lang['gally_image_interface_can_switch']='Visibilité permanente de l\'interface'; 
    30 $lang['gally_image_interface_can_switch_desc']='Cette option permet de déterminer si l\'interface est affichée en permanence ou si elle peut être masquée'; 
    31 $lang['gally_image_interface_can_switch_yes']='L\'interface n\'est visible que selon les règles définies'; 
    32 $lang['gally_image_interface_can_switch_no']='L\'interface est visible en permanence'; 
    3321 
    3422$lang['gally_interface_on_image'] = 'Affichage au survol'; 
     
    5442$lang['gally_display_banner_yes'] = 'Afficher la bannière'; 
    5543$lang['gally_display_banner_no'] = 'Ne pas afficher la bannière'; 
    56 $lang['gally_display_banner_alternate'] = 'Afficher une bannière alternative'; 
    57 $lang['gally_alternate_banner_content'] = 'Contenu de la bannière alternative :'; 
     44 
    5845 
    5946$lang['gally_image_auto_scroll'] = 'Gestion des images panoramiques'; 
     
    6653$lang['gally_image_simulate_high_res'] = 'Simuler la présence d\'une image haute résolution pour les images panomariques'; 
    6754 
     55// v1.3.5 
     56$lang['gally_image_interface_can_switch']='Visibilité permanente de l\'interface'; 
     57$lang['gally_image_interface_can_switch_desc']='Cette option permet de déterminer si l\'interface est affichée en permanence ou si elle peut être masquée'; 
     58$lang['gally_image_interface_can_switch_yes']='L\'interface n\'est visible que selon les règles définies'; 
     59$lang['gally_image_interface_can_switch_no']='L\'interface est visible en permanence'; 
     60$lang['gally_display_banner_alternate'] = 'Afficher une bannière alternative'; 
     61$lang['gally_alternate_banner_content'] = 'Contenu de la bannière alternative :'; 
     62 
     63// v1.5.0 
     64$lang['gally_img_high_res'] = 'Image/Affichage lightbox'; 
     65$lang['gally_img_high_res_desc'] = 'Cette page permet de définir les propriétés de l\'interface utilisateur lors de la visualisation d\'une image dans une lightbox'; 
     66 
     67$lang['gally_default_zoom_size_desc'] = 'Cette option permet de définir le type d\'affichage utilisé par défaut dans la lightbox lorsqu\'une image plus grande que l\'écran est affichée'; 
     68 
     69$lang['gally_display_high_res_click_mode'] = 'Action associée à la lightbox'; 
     70$lang['gally_display_high_res_click_mode_desc'] = 'Cette option permet de définir comment se comporte l\'interface lorsque que l\'on clique sur l\'image dans la lightbox'; 
     71$lang['gally_highResClickMode_close'] = 'Fermer la lightbox'; 
     72 
     73/* --removed 
     74$lang['gally_display_high_res_icon_desc'] = ''; 
     75*/ 
     76 
     77 
    6878?> 
  • extensions/gally/gally-default/release_notes.txt

    r12632 r16016  
    158158  |         |            |   . html code in picture nav title 
    159159  |         |            | 
     160  | 1.5.0   | 2012-05-29 | * mantis feature:???? 
     161  |         |            |   . compatibility with piwigo 2.4 
     162  |         |            |   . add GallyTpl class {$gally} var in template 
    160163  |         |            | 
    161164  |         |            | 
  • extensions/gally/gally-default/template/comment_list.tpl

    r12592 r16016  
    66*} 
    77 
    8 <script type="text/javascript"> 
    9 {literal} 
     8{footer_script}{literal} 
    109  function editInside(url, text, imageId, key, index) 
    1110  { 
     
    1817 
    1918  } 
    20 {/literal} 
    21  
    22 </script> 
     19{/literal}{/footer_script} 
    2320 
    2421 
    2522<div id="formEditInside" style="display:none;"> 
    26   <form  method='post' action='' class='filter' id='editComment'> 
    27     <fieldset> 
    28       <legend>{'Edit a comment'|@translate}</legend> 
     23  <form  method='post' action='' id='editComment'> 
     24      {'Edit'|@translate}<br> 
    2925      <textarea name='content' id='contentEditId' rows='5' cols='80'></textarea></label><br> 
    3026      <input type='hidden' name='key' id='feiKey' value=''> 
     27      <input type="hidden" name="pwg_token" id='feiToken' value="{$gally->getToken()}"> 
    3128      <input type='hidden' name='image_id' id='feiImageId' value=''> 
    3229      <input class='submit' type='submit' value='{"Submit"|@translate}'> 
    33     </fieldset> 
    3430  </form> 
    3531</div> 
     
    3935<li> 
    4036  <div class="commentDetail"> 
    41     {if isset($comment.TN_SRC)} 
     37    {if isset($comment.src_image)} 
    4238    <div class="illustration"> 
    4339      <a href="{$comment.U_PICTURE}"> 
    44         <img src="{$comment.TN_SRC}" alt="{$comment.ALT}" /> 
     40        <img src="{$pwg->derivative_url($derivative_params, $comment.src_image)}" alt="{$comment.ALT}"> 
    4541      </a> 
    4642    </div> 
    4743    {/if} 
    4844    <div class="description"> 
    49       {if isset($comment.U_DELETE) or isset($comment.U_VALIDATE) or isset($comment.U_EDIT) } 
     45      {if isset($comment.U_DELETE) or isset($comment.U_VALIDATE) or isset($comment.U_EDIT)} 
    5046      <ul class="actions" style="float:right"> 
    5147        {if isset($comment.U_DELETE)} 
    5248        <li> 
    53           <span class="button id_delete" onclick="document.location='{$comment.U_DELETE}';" title="{'delete this comment'|@translate}"></span> 
     49          <span class="button id_delete" onclick="document.location='{$comment.U_DELETE}';" title="{'Delete'|@translate}"></span> 
    5450        </li> 
    5551        {/if} 
    5652 
    57         {if isset($comment.U_EDIT) and !isset($comment.IN_EDIT)} 
     53        {if isset($comment.U_EDIT)} 
    5854        <li> 
    59           {php} 
    60             /* 
    61               this php code is used to calculate the key need to be allowed to 
    62               edit the comment, and determine the picture number if necessary 
    63               (theses properties are not in the template var because with the 
    64               default template, Piwigo reloads the page for editing an item : 
    65               this template is abble to edit an item without reloading the page) 
    66             */ 
    67             global $conf; 
    68             $comment=$this->get_template_vars('comment'); 
    69             $current=$this->get_template_vars('current'); 
    70             if(!array_key_exists('image_id', $comment)) 
    71             { 
    72               if(isset($current['id'])) 
    73               { 
    74                 $comment['IMAGE_ID']=$current['id']; 
    75               } 
    76               else 
    77               { 
    78                 preg_match('#picture\.php\?/(\d+)/category/#i', $comment['U_PICTURE'], $result); 
    79                 if(isset($result[1])) 
    80                 { 
    81                   $comment['IMAGE_ID']=$result[1]; 
    82                 } 
    83               } 
    84             } 
    85             $now=time(); 
    86             $comment['KEY']=$now.":".hash_hmac('md5', $now.':'.$comment['IMAGE_ID'], $conf['secret_key']); 
    87             $this->assign_by_ref('comment', $comment); 
    88           {/php} 
    89           <span class="button id_edit" onclick="editInside('{$comment.U_EDIT}#edit_comment}', '{$comment.CONTENT|@escape}', {$comment.IMAGE_ID|@default:$current.id}, '{$comment.KEY}', {$smarty.foreach.comment_loop.index});" title="{'edit this comment'|@translate}"></span> 
    90  
     55          <span class="button id_edit" onclick="editInside('{$comment.U_EDIT}#edit_comment', '{$comment.CONTENT|@escape}', {$gally->getCommentImage($comment.ID)}, '{$gally->getCommentKey($comment.ID)}', {$smarty.foreach.comment_loop.index});" title="{'Edit'|@translate}"></span> 
    9156        </li> 
    9257        {/if} 
    93  
    9458        {if isset($comment.U_VALIDATE)} 
    9559        <li> 
    96           <span class="button id_validate" onclick="document.location='{$comment.U_VALIDATE}';" title="{'validate this comment'|@translate}"></span> 
     60          <span class="button id_validate" onclick="document.location='{$comment.U_VALIDATE}';" title="{'Validate'|@translate}"></span> 
    9761        </li> 
    9862        {/if} 
  • extensions/gally/gally-default/template/comments.tpl

    r12592 r16016  
    8282{if isset($comments)} 
    8383<div id="comments"> 
    84   {include file='comment_list.tpl'} 
     84  {include file='comment_list.tpl' comment_derivative_params=$derivative_params} 
    8585</div> 
    8686{/if} 
  • extensions/gally/gally-default/template/config.js.tpl

    r12592 r16016  
    2727  interfaceTimerDelay:{#interfaceTimerDelay#}, 
    2828  defaultZoomSize:"{#defaultZoomSize#}", 
    29   displayHighResIcon:{if #displayHighResIcon#=='yes'}true{else}false{/if}, 
    3029  highResClickMode:"{#highResClickMode#}", 
    3130{/if} {if $BODY_ID=='theCategoryPage' or isset($MENUBAR)} 
     
    3736  manageTips:{if #manageTips#=='yes'}true{else}false{/if}, 
    3837  manageTipsPos:"{#manageTipsPos#}", 
     38  tipsSize:{#tipsSize#}, 
    3939  animateDelay:{#animateDelay#}, 
    4040  themePath:"{$themeconf.icon_dir}" 
  • extensions/gally/gally-default/template/footer.tpl

    r10736 r16016  
    11<!-- **GBL** >FOOTER> --> 
    22<div id="copyright"> 
    3  <a name="EoP"></a> <!-- End of Page --> 
    4  {if isset($debug.TIME) } 
     3 {if isset($debug.TIME)} 
    54 {'Page generated in'|@translate} {$debug.TIME} ({$debug.NB_QUERIES} {'SQL queries in'|@translate} {$debug.SQL_TIME}) - 
    65 {/if} 
    7  
    8  {* Please, do not remove this copyright. If you really want to, 
     6 {*  
     7   Please, do not remove this copyright. If you really want to, 
    98      contact us on http://piwigo.org to find a solution on how 
    109      to show the origin of the script... 
    1110  *} 
    12  
    1311  {'Powered by'|@translate} 
    14   <a href="{$PHPWG_URL}" class="Piwigo"> 
    15   <span class="Piwigo">Piwigo</span></a> 
     12  <a href="{$PHPWG_URL}" class="Piwigo"><span class="Piwigo">Piwigo</span></a> 
    1613  {$VERSION} 
    1714  {if isset($CONTACT_MAIL)} 
     
    1916  <a href="mailto:{$CONTACT_MAIL}?subject={'A comment on your site'|@translate|@escape:url}">{'Webmaster'|@translate}</a> 
    2017  {/if} 
     18  {if isset($TOGGLE_MOBILE_THEME_URL)} 
     19  - {'View in'|@translate} : <a href="{$TOGGLE_MOBILE_THEME_URL}">{'Mobile'|@translate}</a> | <b>{'Desktop'|@translate}</b> 
     20  {/if} 
     21 
     22{get_combined_scripts load='footer'} 
    2123 
    2224{if isset($footer_elements)} 
     
    2527{/foreach} 
    2628{/if} 
    27 </div> <!-- copyright --> 
    28 </div> <!-- the_page --> 
     29</div>{* copyright *} 
     30</div> {* the_page *} 
    2931 
    3032{if isset($debug.QUERIES_LIST)}<div id="debug">{$debug.QUERIES_LIST}</div>{/if} 
    3133 
    32 {get_combined_scripts load='footer'} 
    3334</body> 
    3435<!-- **GBL** <FOOTER< --> 
  • extensions/gally/gally-default/template/header.tpl

    r12592 r16016  
    88  {if isset($meta_ref) } 
    99    {if isset($INFO_AUTHOR)} 
    10       <meta name="author" content="{$INFO_AUTHOR|@replace:'"':' '}"> 
     10      <meta name="author" content="{$INFO_AUTHOR|@strip_tags:false|@replace:'"':' '}"> 
    1111    {/if} 
    1212    {if isset($related_tags)} 
     
    2525    <title>{$PAGE_TITLE} | {$GALLERY_TITLE}</title> 
    2626  {/if} 
    27  
     27 <link rel="shortcut icon" type="image/x-icon" href="{$ROOT_URL}{$themeconf.icon_dir}/favicon.ico"> 
    2828 
    2929  <link rel="start" title="{'Home'|@translate}" href="{$U_HOME}" > 
     
    4343  <link rel="stylesheet" type="text/css" href="{$ROOT_URL}themes/gally-default/css/content.css"> 
    4444 
    45   {combine_script id="jquery" path="themes/default/js/jquery.min.js"} 
    46   {combine_script id="jquery.ui" path="themes/default/js/ui/minified/jquery.ui.core.min.js"} 
    47   {combine_script id="jquery.ui.tabs" path="themes/default/js/ui/minified/jquery.ui.tabs.min.js"} 
    48   {combine_script id="jquery.ui.dialog" path="themes/default/js/ui/minified/jquery.ui.dialog.min.js"} 
    49  
    50  
    51   {php} 
    52     $themes=$this->get_template_vars('themes'); 
    53     foreach($themes as $theme) 
    54     { 
    55       $dir=dirname($_SERVER['SCRIPT_FILENAME'])."/themes/".$theme['id']."/conf/"; 
    56       $dirlocal=dirname($_SERVER['SCRIPT_FILENAME'])."/".PWG_LOCAL_DIR."themes/".$theme['id']."/conf/"; 
    57       $this->assign("default_conf", $dir."default.conf"); 
    58       if(file_exists($dirlocal."local.conf")) 
    59       { 
    60         $this->assign("local_conf", $dirlocal."local.conf"); 
    61       } 
    62       else 
    63       { 
    64         $this->assign("local_conf", ""); 
    65       } 
    66     } 
    67   {/php} 
    68  
    69   {config_load file=$default_conf} 
    70   {if $local_conf!=""} 
    71     {config_load file=$local_conf} 
    72   {/if} 
    73  
    74   {php} 
    75       $this->assign("alternateBannerContent", html_entity_decode($this->get_config_vars('alternateBannerContent'))); 
    76   {/php} 
     45  {combine_script id="jquery" path="themes/default/js/jquery.js"} 
     46  {combine_script id="jquery.ui" path="themes/default/js/ui/jquery.ui.core.js"} 
     47  {combine_script id="jquery.ui.tabs" path="themes/default/js/ui/jquery.ui.tabs.js"} 
     48  {combine_script id="jquery.ui.dialog" path="themes/default/js/ui/jquery.ui.dialog.js"} 
    7749 
    7850  {include file='config.js.tpl'} 
    7951 
    8052  {if #manageTips#=='yes'} 
    81     {combine_script id="gpc.simpleTip" path="themes/gally-default/js/simpleTip.min.js" require="jquery"} 
     53    {combine_script id="gpc.simpleTip" path="themes/gally-default/js/simpleTip.js" require="jquery"} 
    8254    {combine_script id="gallyjs-ttm" path="themes/gally-default/js/gallyjs-ttm.js" require="jquery"} 
    8355  {/if} 
     
    10981{/foreach} 
    11082 
     83{if isset($U_PREFETCH)}<link rel="prefetch" href="{$U_PREFETCH}">{/if} 
     84{if isset($U_CANONICAL)}<link rel="canonical" href="{$U_CANONICAL}">{/if} 
     85 
     86{if not empty($page_refresh)    }<meta http-equiv="refresh" content="{$page_refresh.TIME};url={$page_refresh.U_REFRESH}">{/if} 
     87 
    11188{if not empty($head_elements)} 
    11289  {foreach from=$head_elements item=elt}{$elt} 
     
    11592 
    11693{get_combined_scripts load='header'} 
     94{combine_script id="jquery" load="footer"} 
     95 
    11796</head> 
    11897 
     
    137116<div id="theHeader" style="display:none;"></div> 
    138117<div id="theHeaderAlt"> 
    139   {$alternateBannerContent} 
     118  {$gally->getAlternateBannerContent()} 
    140119</div> 
    141120{else} 
  • extensions/gally/gally-default/template/identification.tpl

    r12592 r16016  
    3131  {/if} 
    3232 
    33 {include file='dialogs.tpl'} 
    34  
     33{include file='infos_errors.tpl'} 
    3534 
    3635<form action="{$F_LOGIN_ACTION}" method="post" name="login_form" class="properties" id="identification"> 
    3736  <fieldset> 
    3837    <legend>{'Connection settings'|@translate}</legend> 
    39  
    40     <input type="hidden" name="redirect" value="{$U_REDIRECT}"> 
    4138 
    4239    <ul> 
     
    4542          <label for="username">{'Username'|@translate}</label> 
    4643        </div> 
    47         <input tabindex="1" class="login" type="text" name="username" id="username" size="25" maxlength="40" /> 
     44        <input tabindex="1" class="login" type="text" name="username" id="username" size="25" maxlength="40"> 
    4845      </li> 
    4946 
     
    5249          <label for="password">{'Password'|@translate}</label> 
    5350        </div> 
    54         <input tabindex="2" class="login" type="password" name="password" id="password" size="25" maxlength="25" /> 
     51        <input tabindex="2" class="login" type="password" name="password" id="password" size="25" maxlength="25"> 
    5552      </li> 
    5653 
     
    6663  </fieldset> 
    6764 
    68   <p><input class="submit" tabindex="4" type="submit" name="login" value="{'Submit'|@translate}"></p> 
     65  <p> 
     66    <input type="hidden" name="redirect" value="{$U_REDIRECT|@urlencode}"> 
     67    <input class="submit" tabindex="4" type="submit" name="login" value="{'Submit'|@translate}"> 
     68  </p> 
    6969 
    7070  <p> 
    7171    {if isset($U_REGISTER) } 
    72     <a id="icon_register2" class="button" href="{$U_REGISTER}" title="{'Register'|@translate}"></a> 
     72    <a href="{$U_REGISTER}" title="{'Register'|@translate}" id="icon_register2" class="button"></a> 
    7373    {/if} 
    74     <a id="icon_lost_password2" class="button" href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}"></a> 
     74    {if isset($U_LOST_PASSWORD)} 
     75    <a href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}" id="icon_lost_password2" class="button"></a> 
     76    {/if} 
    7577  </p> 
    7678 
    7779</form> 
    78  
    79  
    80  
    81  
    8280 
    8381<script type="text/javascript"><!-- 
  • extensions/gally/gally-default/template/index.tpl

    r12592 r16016  
    1515    {/if} 
    1616 
     17      {if !empty($image_orders)} 
     18      <div id="sortOrderBox" class="switchBox switchBoxCat"> 
     19        <div class="switchBoxTitle">{'Sort order'|@translate}</div> 
     20        {foreach from=$image_orders item=image_order name=loop}{if !$smarty.foreach.loop.first}<br>{/if} 
     21        {if $image_order.SELECTED} 
     22        <span>&#x2714; </span>{$image_order.DISPLAY} 
     23        {else} 
     24        <span style="visibility:hidden">&#x2714; </span><a href="{$image_order.URL}" rel="nofollow">{$image_order.DISPLAY}</a> 
     25        {/if} 
     26        {/foreach} 
     27      </div> 
     28      {/if} 
     29 
     30      {if !empty($image_derivatives)} 
     31      <div id="derivativeSwitchBox" class="switchBox switchBoxCat"> 
     32        <div class="switchBoxTitle">{'Photo sizes'|@translate}</div> 
     33        {foreach from=$image_derivatives item=image_derivative name=loop} 
     34        {if !$smarty.foreach.loop.first}<br>{/if} 
     35        {if $image_derivative.SELECTED} 
     36        <span>&#x2714; </span>{$image_derivative.DISPLAY} 
     37        {else} 
     38        <span style="visibility:hidden">&#x2714; </span> 
     39        <a href="{$image_derivative.URL}" rel=nofollow">{$image_derivative.DISPLAY}</a> 
     40        {/if} 
     41        {/foreach} 
     42      </div> 
     43      {/if} 
     44 
    1745      <ul class="categoryActions" id="categoryActionsID"> 
    1846        <li>&nbsp;</li> 
    1947        {if !empty($image_orders) } 
    20         <li class="selector"> 
    21         {'Sort order'|@translate}: 
    22         <select onchange="document.location = this.options[this.selectedIndex].value;"> 
    23           {foreach from=$image_orders item=image_order } 
    24           <option value="{$image_order.URL}"{if $image_order.SELECTED} selected="selected"{/if}>{$image_order.DISPLAY}</option> 
    25           {/foreach} 
    26         </select> 
    27         </li> 
    28         {/if} 
    29  
    30         {if isset($favorite) } 
    31         <li><a id="icon_delall_favorite" class="button" href="{$favorite.U_FAVORITE}" title="{'delete all photos from your favorites'|@translate}"></a></li> 
    32         {/if} 
    33  
    34         {if isset($U_CADDIE) } 
    35         <li><a id="icon_caddie" class="button" href="{$U_CADDIE}" title="{'caddie'|@translate}"></a></li> 
    36         {/if} 
    37  
    38         {if isset($U_EDIT) } 
    39         <li><a id="icon_category_edit" class="button" href="{$U_EDIT}" title="{'edit'|@translate}"></a></li> 
    40         {/if} 
    41  
    42         {if isset($U_SEARCH_RULES) } 
    43         <li><a id="icon_search_rules" class="button" href="{$U_SEARCH_RULES}" style="border:none;" onclick="popuphelp(this.href); return false;" title="{'Search rules'|@translate}" rel="nofollow"></a></li> 
    44         {/if} 
    45  
    46         {if isset($U_SLIDESHOW) } 
    47         <li><a id="icon_start_slideshow" class="button" href="{$U_SLIDESHOW}" title="{'slideshow'|@translate}" rel="nofollow"></a></li> 
    48         {/if} 
    49  
    50         {if isset($U_MODE_FLAT) } 
    51         <li><a id="icon_flat" class="button" href="{$U_MODE_FLAT}" title="{'display all photos in all sub-albums'|@translate}" rel="nofollow"></a></li> 
    52         {/if} 
    53  
    54         {if isset($U_MODE_NORMAL) } 
    55         <li><a id="icon_normal_mode" class="button" href="{$U_MODE_NORMAL}" title="{'return to normal view mode'|@translate}"></a></li> 
    56         {/if} 
    57  
    58         {if isset($U_MODE_POSTED) } 
    59         <li><a id="icon_calendar" class="button" href="{$U_MODE_POSTED}" title="{'display a calendar by posted date'|@translate}" rel="nofollow"></a></li> 
    60         {/if} 
    61  
    62         {if isset($U_MODE_CREATED) } 
    63         <li><a id="icon_calendar_created" class="button" href="{$U_MODE_CREATED}" title="{'display a calendar by creation date'|@translate}" rel="nofollow"></a></li> 
     48        <li><a title="{'Sort order'|@translate}" id="icon_sort" class="button"></a></li> 
     49        {/if} 
     50 
     51        {if !empty($image_derivatives) } 
     52        <li><a title="{'Photo sizes'|@translate}" id="icon_derivatives" class="button"></a></li> 
     53        {/if} 
     54 
     55 
     56        {if isset($favorite)} 
     57        <li><a href="{$favorite.U_FAVORITE}" title="{'delete all photos from your favorites'|@translate}" id="icon_delall_favorite" class="button"></a></li> 
     58        {/if} 
     59 
     60        {if isset($U_CADDIE)} 
     61        <li><a href="{$U_CADDIE}" title="{'Add tocaddie'|@translate}" id="icon_caddie" class="button"></a></li> 
     62        {/if} 
     63 
     64        {if isset($U_EDIT)} 
     65        <li><a href="{$U_EDIT}" title="{'Edit album'|@translate}" id="icon_category_edit" class="button" ></a></li> 
     66        {/if} 
     67 
     68        {if isset($U_SEARCH_RULES)} 
     69        <li><a href="{$U_SEARCH_RULES}" style="border:none;" onclick="popuphelp(this.href); return false;" title="{'Search rules'|@translate}" rel="nofollow" id="icon_search_rules" class="button"></a></li> 
     70        {/if} 
     71 
     72        {if isset($U_SLIDESHOW)} 
     73        <li><a href="{$U_SLIDESHOW}" title="{'slideshow'|@translate}" rel="nofollow" id="icon_start_slideshow" class="button"></a></li> 
     74        {/if} 
     75 
     76        {if isset($U_MODE_FLAT)} 
     77        <li><a href="{$U_MODE_FLAT}" title="{'display all photos in all sub-albums'|@translate}" rel="nofollow" id="icon_flat" class="button"></a></li> 
     78        {/if} 
     79 
     80        {if isset($U_MODE_NORMAL)} 
     81        <li><a href="{$U_MODE_NORMAL}" title="{'return to normal view mode'|@translate}" id="icon_normal_mode" class="button"></a></li> 
     82        {/if} 
     83 
     84        {if isset($U_MODE_POSTED)} 
     85        <li><a href="{$U_MODE_POSTED}" title="{'display a calendar by posted date'|@translate}" rel="nofollow" id="icon_calendar" class="button"></a></li> 
     86        {/if} 
     87 
     88        {if isset($U_MODE_CREATED)} 
     89        <li><a href="{$U_MODE_CREATED}" title="{'display a calendar by creation date'|@translate}" rel="nofollow" id="icon_calendar_created" class="button"></a></li> 
    6490        {/if} 
    6591 
     
    81107<div id="subContent"> 
    82108  <div class="titrePage{if !(isset($chronology_views) or isset($chronology.TITLE))}Empty{/if}" id="titreContent1"> 
    83     {if isset($chronology_views) } 
     109    {if isset($chronology_views)} 
    84110    <div class="calendarViews">{'View'|@translate}: 
    85111      <select onchange="document.location = this.options[this.selectedIndex].value;"> 
     
    91117    {/if} 
    92118 
    93     {if isset($chronology.TITLE) } 
    94     <h2>{$chronology.TITLE}</h2> 
     119    {if isset($chronology.TITLE)} 
     120    <h2 class="calendarTitle">{$chronology.TITLE}</h2> 
    95121    {/if} 
    96122  </div> 
    97123 
     124  {if isset($errors) or not empty($infos)} 
     125  {include file='infos_errors.tpl'} 
     126  {/if} 
    98127  {if !empty($PLUGIN_INDEX_CONTENT_BEGIN)}{$PLUGIN_INDEX_CONTENT_BEGIN}{/if} 
    99128 
    100   {if !empty($category_search_results) } 
     129  {if !empty($category_search_results)} 
    101130  <div style="font-size:16px;text-align:left;margin:10px">{'Album results for'|@translate} <strong>{$QUERY_SEARCH}</strong> : 
    102131    <em><strong> 
     
    109138  {/if} 
    110139 
    111   {if !empty($tag_search_results) } 
     140  {if !empty($tag_search_results)} 
    112141  <div style="font-size:16px;text-align:left;margin:10px">{'Tag results for'|@translate} <strong>{$QUERY_SEARCH}</strong> : 
    113142    <em><strong> 
     
    120149  {/if} 
    121150 
    122   {if isset($FILE_CHRONOLOGY_VIEW) } 
     151  {if isset($FILE_CHRONOLOGY_VIEW)} 
    123152  {include file=$FILE_CHRONOLOGY_VIEW} 
    124153  {/if} 
     
    144173        </div> 
    145174 
    146         {if !empty($CATEGORIES) }<div id="categories">{$CATEGORIES}</div>{/if} 
    147         {if !empty($THUMBNAILS) }<div id="thumbnails">{$THUMBNAILS}</div>{/if} 
     175        {if !empty($CATEGORIES)}<div id="categories">{$CATEGORIES}</div>{/if} 
     176        {if !empty($THUMBNAILS)}<div id="thumbnails">{$THUMBNAILS}</div>{/if} 
    148177 
    149178        <div id="additional_infoBOTTOM"> 
     
    159188  {/if} 
    160189 
    161   {if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} 
    162  
    163 </div> <!-- subContent --> 
     190  {if !empty($navbar)}{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} 
     191 
     192</div>{* subContent *} 
    164193 
    165194 
    166195 
    167196{if !empty($PLUGIN_INDEX_CONTENT_END) }{$PLUGIN_INDEX_CONTENT_END}{/if} 
    168 </div> <!-- content --> 
     197</div> {* content *} 
    169198 
    170199{if !empty($PLUGIN_INDEX_CONTENT_AFTER)}{$PLUGIN_INDEX_CONTENT_AFTER}{/if} 
  • extensions/gally/gally-default/template/mainpage_categories.tpl

    r12594 r16016  
    22 
    33<ul class="thumbnailCategories"> 
    4   {foreach from=$category_thumbnails item=cat name=catloop} 
    5   <li class="odd{if ($smarty.foreach.catloop.iteration-1) % 2 == 0}0{else}1{/if}"> 
    6     <div class="thumbnailCategory"  onclick="window.location='{$cat.URL}';"> 
     4  {foreach from=$category_thumbnails item=cat name=cat_loop} 
     5  <li class="odd{if ($smarty.foreach.cat_loop.iteration-1) % 2 == 0}0{else}1{/if}"> 
     6    <div class="thumbnailCategory"  onclick="window.location='{$cat.URL}';" title="{$cat.NAME|@replace:'"':' '|@strip_tags:false}<br>{'display this album'|@translate}"> 
    77      <div class="illustration"> 
    88 
    9           <img {if isset($cat.EXTRA_CLASS)}class="{$cat.EXTRA_CLASS}"{/if} src="{$cat.TN_SRC}" alt="{$cat.TN_ALT}" title="{$cat.NAME|@replace:'"':' '|@strip_tags:false} - {'display this album'|@translate}"> 
     9          <img {if isset($cat.EXTRA_CLASS)}class="{$cat.EXTRA_CLASS}"{/if} src="{$pwg->derivative_url($derivative_params, $cat.representative.src_image)}" alt="{$cat.TN_ALT}"> 
    1010 
    1111      </div> 
     
    2727        </div> 
    2828      </div> 
     29      <div class='fixHeight'></div> 
    2930    </div> 
    3031  </li> 
  • extensions/gally/gally-default/template/menubar_categories.tpl

    r12592 r16016  
    11<dt> 
    22  {if isset($U_START_FILTER)} 
    3   <a id="icon_start_filter" class="button sTipOnTop" href="{$U_START_FILTER}" title="{'display only recently posted photos'|@translate}" rel="nofollow"></a> 
     3  <a href="{$U_START_FILTER}" title="{'display only recently posted photos'|@translate}" rel="nofollow" id="icon_start_filter" class="button sTipOnTop"></a> 
    44  {/if} 
    55  {if isset($U_STOP_FILTER)} 
    6   <a id="icon_stop_filter" class="button sTipOnTop" href="{$U_STOP_FILTER}" title="{'return to the display of all photos'|@translate}"></a> 
     6  <a href="{$U_STOP_FILTER}" title="{'return to the display of all photos'|@translate}" id="icon_stop_filter" class="button sTipOnTop" ></a> 
    77  {/if} 
    88  <a href="{$block->data.U_CATEGORIES}">{'Albums'|@translate}</a> 
    99</dt> 
    10  
    1110<dd> 
    1211  {assign var='ref_level' value=0} 
     
    1918    {/if} 
    2019      <li {if $cat.SELECTED}class="selected"{/if}> 
    21         <a href="{$cat.URL}" {if $cat.IS_UPPERCAT}rel="up"{/if} title="{$cat.TITLE}">{$cat.NAME}</a> 
    22         {if $cat.count_images > 0} 
    23         <span class="{if $cat.nb_images > 0}menuInfoCat{else}menuInfoCatByChild{/if} sTipOnTop" title="{$cat.TITLE}">[{$cat.count_images}]</span> 
    24         {/if} 
    25         {if !empty($cat.icon_ts)} 
    26         <span class="button {if $cat.icon_ts.IS_CHILD_DATE}id_recent_cat_by_child{else}id_recent_cat{/if}"></span> 
    27         {/if} 
     20        <span title="{$cat.TITLE}" {if $cat.count_categories > 0}class="sTipOnTop"{/if}> 
     21          <a href="{$cat.URL}" {if $cat.IS_UPPERCAT}rel="up"{/if}>{$cat.NAME}</a> 
     22          {if $cat.count_images > 0} 
     23          <span class="{if $cat.nb_images > 0}menuInfoCat{else}menuInfoCatByChild{/if}">[{$cat.count_images}]</span> 
     24          {/if} 
     25          {if !empty($cat.icon_ts)} 
     26          <span class="button {if $cat.icon_ts.IS_CHILD_DATE}id_recent_cat_by_child{else}id_recent_cat{/if}"></span> 
     27          {/if} 
     28        </span> 
    2829    {assign var='ref_level' value=$cat.LEVEL} 
    2930  {/foreach} 
    3031  {'</li></ul>'|@str_repeat:$ref_level} 
    3132 
    32   {if isset($block->data.U_UPLOAD)} 
    33   <ul> 
    34     <li> 
    35       <a href="{$block->data.U_UPLOAD}">{'Upload a picture'|@translate}</a> 
    36     </li> 
    37   </ul> 
    38   {/if} 
    3933  <p class="totalImages">{$pwg->l10n_dec('%d photo', '%d photos', $block->data.NB_PICTURE)}</p> 
    4034</dd> 
    41  
    42  
    43  
    44  
    45  
    46  
    47  
    48  
  • extensions/gally/gally-default/template/menubar_identification.tpl

    r12592 r16016  
    22<dt>{'Identification'|@translate}</dt> 
    33<dd> 
     4{strip} 
    45  {if isset($USERNAME)} 
    5   <p>{'Hello'|@translate}&nbsp;{$USERNAME}&nbsp;!</p> 
     6  <p>{'Hello'|@translate} {$USERNAME} !</p> 
    67  {/if} 
    7  
    88  <ul> 
    99  {if isset($U_REGISTER)} 
    1010  <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow">{'Register'|@translate}</a></li> 
    1111  {/if} 
    12  
    1312  {if isset($U_LOGIN)} 
    1413  <li><a href="{$U_LOGIN}" rel="nofollow">{'Login'|@translate}</a></li> 
    1514  {/if} 
    16  
    1715  {if isset($U_LOGOUT)} 
    1816  <li><a href="{$U_LOGOUT}">{'Logout'|@translate}</a></li> 
    1917  {/if} 
    20  
    2118  {if isset($U_PROFILE)} 
    2219  <li><a href="{$U_PROFILE}" title="{'customize the appareance of the gallery'|@translate}">{'Customize'|@translate}</a></li> 
    2320  {/if} 
    24  
    2521  {if isset($U_ADMIN)} 
    2622  <li><a href="{$U_ADMIN}" title="{'available for administrators only'|@translate}">{'Administration'|@translate}</a></li> 
    2723  {/if} 
    2824  </ul> 
    29  
     25{/strip} 
    3026  {if isset($U_LOGIN)} 
     27{strip} 
    3128  <form method="post" action="{$U_LOGIN}" id="quickconnect"> 
    3229  <fieldset> 
    3330  <legend>{'Quick connect'|@translate}</legend> 
    3431  <div> 
    35   <label for="username">{'Username'|@translate}</label><br/> 
     32  <label for="username">{'Username'|@translate}</label><br> 
    3633  <input type="text" name="username" id="username" value="" style="width:90%"> 
    3734  </div> 
    3835 
    39   <div><label for="password">{'Password'|@translate}</label> 
    40   <br/> 
     36  <div><label for="password">{'Password'|@translate}</label><br> 
    4137  <input type="password" name="password" id="password" style="width:90%"> 
    4238  </div> 
    4339 
    4440  {if $AUTHORIZE_REMEMBERING} 
    45   <div><label for="remember_me"> 
    46   {'Auto login'|@translate} 
     41  <div><label for="remember_me"> {'Auto login'|@translate} 
    4742  <input type="checkbox" name="remember_me" id="remember_me" value="1"> 
    4843  </label></div> 
     
    5045 
    5146  <div id='iValid'> 
    52   <input class="submit" type="submit" name="login" value="{'Submit'|@translate}"> 
     47  <input type="hidden" name="redirect" value="{$smarty.server.REQUEST_URI|@urlencode}"> 
     48  <input type="submit" name="login" value="{'Submit'|@translate}" class="submit"> 
    5349  <ul class="actions"> 
    5450    <li><a id="icon_lost_password3" class="button sTipOnBottom" href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}" rel="nofollow"></a></li> 
     
    6157  </fieldset> 
    6258  </form> 
     59{/strip} 
    6360  {/if} 
    6461</dd> 
    65  
  • extensions/gally/gally-default/template/menubar_links.tpl

    r6109 r16016  
    11<dt>{'Links'|@translate}</dt> 
    22<dd> 
    3   <ul> 
     3  <ul>{strip} 
    44    {foreach from=$block->data item=link} 
    55      <li> 
    6         <a href="{$link.URL}" class="external" 
    7           {if isset($link.new_window) }onclick="window.open(this.href, '{$link.new_window.NAME}','{$link.new_window.FEATURES}'); return false;"{/if} 
    8         > 
     6        <a href="{$link.URL}" class="external"{if isset($link.new_window)} onclick="window.open(this.href, '{$link.new_window.NAME}','{$link.new_window.FEATURES}'); return false;"{/if}> 
    97        {$link.LABEL} 
    108        </a> 
    119      </li> 
    1210    {/foreach} 
    13   </ul> 
     11  {/strip}</ul> 
    1412</dd> 
    15  
  • extensions/gally/gally-default/template/menubar_menu.tpl

    r6109 r16016  
    44    <form action="{$ROOT_URL}qsearch.php" method="get" id="quicksearch" onsubmit="return this.q.value!='' && this.q.value!=qsearch_prompt;"> 
    55      <p style="margin:0;padding:0"{*this <p> is for html validation only - does not affect positioning*}> 
    6         <input type="text" name="q" id="qsearchInput" onfocus="if (value==qsearch_prompt) value='';" onblur="if (value=='') value=qsearch_prompt;" style="width:90%"/> 
     6        <input type="text" name="q" id="qsearchInput" onfocus="if (value==qsearch_prompt) value='';" onblur="if (value=='') value=qsearch_prompt;" style="width:90%"> 
    77      </p> 
    88    </form> 
    99    <script type="text/javascript">var qsearch_prompt="{'Quick search'|@translate|@escape:'javascript'}"; document.getElementById('qsearchInput').value=qsearch_prompt;</script> 
    1010  {/if} 
    11  
    12         <ul> 
    13         {foreach from=$block->data item=link} 
    14                 {if is_array($link)} 
    15                         <li><a href="{$link.URL}" title="{$link.TITLE}" {if isset($link.REL)}{$link.REL}{/if}>{$link.NAME}</a></li> 
    16                 {/if} 
    17         {/foreach} 
    18         </ul> 
     11  <ul>{strip} 
     12    {foreach from=$block->data item=link} 
     13      {if is_array($link)} 
     14        <li><a href="{$link.URL}" title="{$link.TITLE}"{if isset($link.REL)} {$link.REL}{/if}>{$link.NAME}</a></li> 
     15      {/if} 
     16    {/foreach} 
     17  {/strip}</ul> 
    1918</dd> 
    20  
  • extensions/gally/gally-default/template/menubar_specials.tpl

    r6109 r16016  
    11<dt>{'Specials'|@translate}</dt> 
    22<dd> 
    3   <ul> 
     3  <ul>{strip} 
    44    {foreach from=$block->data item=link} 
    5     <li><a href="{$link.URL}" title="{$link.TITLE}" {if isset($link.REL)}{$link.REL}{/if}>{$link.NAME}</a></li> 
     5    <li><a href="{$link.URL}" title="{$link.TITLE}"{if isset($link.REL)} {$link.REL}{/if}>{$link.NAME}</a></li> 
    66    {/foreach} 
    7   </ul> 
     7  {/strip}</ul> 
    88</dd> 
    9  
  • extensions/gally/gally-default/template/menubar_tags.tpl

    r12592 r16016  
    33  <div id="menuTagCloud"> 
    44    {foreach from=$block->data item=tag} 
    5     <span> 
    6       <a href="{$tag.URL}" class="tagLevel{$tag.level} sTipOnTop" title="{'display photos linked to this tag'|@translate}">{$tag.name}</a> 
     5    <span>{strip} 
     6      <a class="tagLevel{$tag.level} sTipOnTop" href="{$tag.URL}" title="{'display photos linked to this tag'|@translate}">{$tag.name}</a> 
    77      {if !empty($tag.U_ADD) } 
    88      <a class="tagaddbutton sTipOnTop" href="{$tag.U_ADD}" 
     
    1212      </a> 
    1313      {/if} 
    14     </span> 
     14    </span>{/strip} 
    1515    {/foreach} 
    1616  </div> 
    1717</dd> 
    18  
  • extensions/gally/gally-default/template/month_calendar.tpl

    r12604 r16016  
    1515  {else} 
    1616    {foreach from=$bar.items item=item} 
    17     <span class="calItem{if !isset($item.URL)}Empty{/if}" {if isset($item.NB_IMAGES)}title="{$pwg->l10n_dec('%d image', '%d images', $item.NB_IMAGES)}"{/if}> 
     17    <span class="calItem{if !isset($item.URL)}Empty{/if}" {if isset($item.NB_IMAGES)}title="{$pwg->l10n_dec('%d photo', '%d photos', $item.NB_IMAGES)}"{/if}> 
    1818    {if isset($item.URL)} 
    1919      <a href="{$item.URL}">{$item.LABEL}</a> 
     
    2323    </span> 
    2424    {/foreach} 
    25  
    2625  {/if} 
    2726  </div> 
     
    6059  </thead> 
    6160  {html_head} {*add the style to html head for strict standard compliance*} 
    62   <style type="text/css"> 
    63   TABLE.calMonth TBODY TD, TABLE.calMonth TBODY TD DIV.calImg {ldelim} 
    64     width:{$chronology_calendar.month_view.CELL_WIDTH}px;height:{$chronology_calendar.month_view.CELL_HEIGHT}px; 
    65   } 
    66   </style> 
     61 
    6762  {/html_head} 
    6863  {foreach from=$chronology_calendar.month_view.weeks item=week} 
     
    7368        <td class="calDayCellFull"> 
    7469          <div class="calBackDate">{$day.DAY}</div><div class="calForeDate">{$day.DAY}</div> 
    75           <div class="calImg sTipOnRight" title="{$pwg->l10n_dec('%d image','%d images', $day.NB_ELEMENTS)}" > 
     70          <div class="calImg sTipOnRight" title="{$pwg->l10n_dec('%d photo','%d photos', $day.NB_ELEMENTS)}" > 
    7671            <a href="{$day.U_IMG_LINK}"> 
    7772                <img style="{$day.IMAGE_STYLE}" src="{$day.IMAGE}" alt="{$day.IMAGE_ALT}" /> 
  • extensions/gally/gally-default/template/nbm.tpl

    r12592 r16016  
    2525 
    2626 
    27 {include file='dialogs.tpl'} 
     27{include file='infos_errors.tpl'} 
    2828 
    2929</div> 
  • extensions/gally/gally-default/template/password.tpl

    r12592 r16016  
    1111  </div> 
    1212 
    13 {include file='dialogs.tpl'} 
    14  
     13{include file='infos_errors.tpl'} 
    1514 
    1615{if $action != 'none'} 
    1716  <form id="lostPassword" action="{$form_action}?action={$action}{if isset($key)}&amp;key={$key}{/if}" method="post"> 
    18  
    1917    <input type="hidden" name="pwg_token" value="{$PWG_TOKEN}"> 
    2018 
     
    3028      </p> 
    3129 
    32       <p class="bottomButtons"> 
    33         <input type="submit" name="submit" value="{'Change my password'|@translate}"> 
    34       </p> 
    35  
     30      <p class="bottomButtons"><input type="submit" name="submit" value="{'Change my password'|@translate}"></p> 
    3631    {elseif $action == 'reset'} 
    3732 
     
    5449      </p> 
    5550 
    56       <p class="bottomButtons"> 
    57         <input type="submit" name="submit" value="{'Submit'|@translate}"> 
    58       </p> 
    59  
     51      <p class="bottomButtons"><input type="submit" name="submit" value="{'Submit'|@translate}"></p> 
    6052    {/if} 
    6153 
     
    7971    {/literal} 
    8072  {/if} 
    81  
    8273  </script> 
    8374</div> <!-- content --> 
    84  
    85  
    8675<!-- **GBL** <PASSWORD< --> 
  • extensions/gally/gally-default/template/picture.tpl

    r12604 r16016  
    11<!-- **GBL** >PICTURE> --> 
    22 
    3 {include file='dialogs.tpl'} 
     3{include file='infos_errors.tpl'} 
    44 
    55<div id="content" {if isset($MENUBAR)}class="pictureContent"{/if}> 
     
    1111      <div id="theImgHighZoomButton" class="fit" onclick="gallyPP.switchZoomHigh();"></div> 
    1212      <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}> 
     13        <img id="theImgHigh" src="" style="display:none;" alt="{$ALT_IMG}"> 
    1714      </div> 
    1815    </div> 
    1916  </div> 
    20  
    2117 
    2218{if isset($MENUBAR)} 
     
    3733{/if} 
    3834 
     35 
     36 
    3937    <div class="browsePath"> 
    4038      <h2> 
     
    4442    <div class="imageNumber">{$PHOTO}</div> 
    4543    <h2>&nbsp;</h2> 
    46   </div> <!-- imageHeaderBar --> 
     44  </div>  
    4745 
    4846  {if !empty($PLUGIN_PICTURE_BEFORE)}{$PLUGIN_PICTURE_BEFORE}{/if} 
    4947 
     48  {if $DISPLAY_NAV_THUMB} 
     49    {if isset($previous) } 
     50    <div id="navThumbPrev"> 
     51      <table id="navThumbPrevContainer" class="uiImg"><tr><td> 
     52        <div class="navThumbPrevBg">&nbsp;</div> 
     53        <div class="navThumbPrevContent"> 
     54          <a class="navThumb" id="thumbPrev" href="{$previous.U_IMG}" title="{'Previous'|@translate} : {$previous.TITLE}" rel="prev"> 
     55            <img src="{$previous.derivatives.square->get_url()}" class="thumbLink" id="linkPrev" alt="{$previous.TITLE}"> 
     56          </a> 
     57        </div> 
     58      </td></tr></table> 
     59    </div> <!-- navThumbPrev --> 
     60    {/if} 
     61 
     62    {if isset($next) } 
     63    <div id="navThumbNext"> 
     64      <table id="navThumbNextContainer" class="uiImg"><tr><td> 
     65        <div class="navThumbNextBg">&nbsp;</div> 
     66        <div class="navThumbNextContent"> 
     67          <a class="navThumb" id="thumbNext" href="{$next.U_IMG}" title="{'Next'|@translate} : {$next.TITLE}" rel="next"> 
     68            <img src="{$next.derivatives.square->get_url()}" class="thumbLink" id="linkNext" alt="{$next.TITLE}"> 
     69          </a> 
     70        </div> 
     71      </td></tr></table> 
     72    </div> <!-- navThumbNext --> 
     73    {/if} 
     74  {/if} 
     75 
    5076  <div id="imageToolBar"> 
    51     <div id="imageToolBarContainer" class="uiImg"> 
     77        <div id="imageToolBarContainer" class="uiImg"> 
    5278        <div class="imageToolBarBg">&nbsp;</div> 
    5379 
     80        {if count($current.unique_derivatives)>1} 
     81        <div id="derivativeSwitchBox" class="switchBox"> 
     82        <div class="switchBoxTitle">{'Photo sizes'|@translate}</div> 
     83        {foreach from=$current.unique_derivatives item=derivative key=derivative_type} 
     84        <span class="switchCheck" id="derivativeChecked{$derivative_type}"{if $derivative->get_type() ne $current.selected_derivative->get_type()} style="visibility:hidden"{/if}>&#x2714; </span> 
     85        <a onclick="gallyPP.changeImgSrc('{$derivative->get_url()|@escape:javascript}','{$derivative_type}','{$derivative->get_type()}', '{$COOKIE_PATH}')"> 
     86          {$derivative->get_type()|@translate}<span class="derivativeSizeDetails"> ({$derivative->get_size_hr()})</span> 
     87        </a><br> 
     88        {/foreach} 
     89        {if isset($U_ORIGINAL)} 
     90        <span class="switchCheck" style="visibility:hidden">&#x2714; </span><a onclick="gallyPP.openDisplayHigh('{$U_ORIGINAL}');">{'Original'|@translate}</a> 
     91        {/if} 
     92        </div> 
     93        {/if} 
     94 
    5495        <div class="randomButtons"> 
    55           {if isset($U_SLIDESHOW_START) } 
    56             <a id="icon_start_slideshow" class="button" href="{$U_SLIDESHOW_START}" title="{'Play of slideshow'|@translate}" rel="nofollow"></a> 
    57           {/if} 
    58           {if isset($U_SLIDESHOW_STOP) } 
    59             <a id="icon_stop_slideshow" class="button" href="{$U_SLIDESHOW_STOP}" title="{'Pause of slideshow'|@translate}" rel="nofollow"></a> 
    60           {/if} 
     96 
     97          {if count($current.unique_derivatives)>1} 
     98            <a id="icon_derivatives" title="{'Photo sizes'|@translate}" rel="nofollow" class="button" ></a> 
     99          {/if} 
     100 
     101          {if isset($U_SLIDESHOW_START)} 
     102            <a href="{$U_SLIDESHOW_START}" title="{'slideshow'|@translate}" rel="nofollow" id="icon_start_slideshow" class="button" ></a> 
     103          {/if} 
     104 
    61105          {if isset($U_METADATA)} 
    62             <a id="icon_metadata" class="button" href="{$U_METADATA}" title="{'Show file metadata'|@translate}" rel="nofollow"></a> 
    63           {/if} 
    64  
    65           {if #displayHighResIcon#=="yes" and isset($high) } 
    66             <a id="icon_high_res" class="button pointer" onclick="gallyPP.openDisplayHigh('{$high.U_HIGH}');" title="" rel="nofollow" ></a> 
    67           {/if} 
    68  
    69           {if isset($current.U_DOWNLOAD) } 
    70             <a id="icon_save" class="button" href="{$current.U_DOWNLOAD}" title="{'download this file'|@translate}"></a> 
     106            <a href="{$U_METADATA}" title="{'Show file metadata'|@translate}" rel="nofollow" id="icon_metadata" class="button" ></a> 
     107          {/if} 
     108 
     109          {if isset($current.U_DOWNLOAD)} 
     110            <a href="{$current.U_DOWNLOAD}" title="{'Download this file'|@translate}" id="icon_save" class="button" ></a> 
    71111          {/if} 
    72112 
    73113          {if isset($PLUGIN_PICTURE_ACTIONS)}{$PLUGIN_PICTURE_ACTIONS}{/if} 
    74114 
    75  
    76           {if isset($favorite) } 
    77             <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> 
    78           {/if} 
    79           {if !empty($U_SET_AS_REPRESENTATIVE) } 
    80             <a id="icon_representative" class="button" href="{$U_SET_AS_REPRESENTATIVE}" title="{'set as album representative'|@translate}"></a> 
    81           {/if} 
    82           {if isset($U_ADMIN) } 
    83             <a id="icon_preferences" class="button" href="{$U_ADMIN}" title="{'Modify information'|@translate}"></a> 
     115          {if isset($favorite)} 
     116            <a 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}" id="icon_{if $favorite.IS_FAVORITE}del_{/if}favorite" class="button"></a> 
     117          {/if} 
     118          {if isset($U_SET_AS_REPRESENTATIVE)} 
     119            <a href="{$U_SET_AS_REPRESENTATIVE}" title="{'set as album representative'|@translate}" id="icon_representative" class="button" ></a> 
     120          {/if} 
     121          {if isset($U_ADMIN)} 
     122            <a href="{$U_ADMIN}" title="{'Modify information'|@translate}" id="icon_preferences" class="button"></a> 
    84123          {/if} 
    85124          {if isset($U_CADDIE) }{*caddie management BEGIN*} 
    86           <script type="text/javascript"> 
    87           {literal} 
    88           function addToCadie(aElement, rootUrl, id) 
     125          {footer_script} 
     126          {literal}function addToCadie(aElement, rootUrl, id) 
    89127          { 
    90128            if (aElement.disabled) return; 
    91129            aElement.disabled=true; 
    92130            var y = new PwgWS(rootUrl); 
    93  
    94131            y.callService( 
    95132              "pwg.caddie.add", {image_id: id} , 
     
    100137            ); 
    101138          }{/literal} 
    102           </script> 
    103           <a id="icon_caddie" class="button" onclick="addToCadie(this, '{$ROOT_URL|@escape:'javascript'}', {$current.id}); return false;" title="{'add to caddie'|@translate}"></a> 
    104           {/if} 
    105           <script type="text/javascript"> 
    106             $('div.randomButtons a.button').addClass('sTipOnRight'); 
    107           </script> 
     139          {/footer_script} 
     140          <a onclick="addToCadie(this, '{$ROOT_URL|@escape:'javascript'}', {$current.id}); return false;" title="{'Add to caddie'|@translate}" id="icon_caddie" class="button"></a> 
     141          {/if}{*caddie management END*} 
     142          {footer_script} 
     143            $('div.randomButtons a.button').addClass('sTipOnTop'); 
     144          {/footer_script} 
    108145        </div> 
    109146 
    110147        {include file='picture_nav_buttons.tpl'|@get_extent:'picture_nav_buttons'} 
    111148 
    112         {if $SHOW_PICTURE_NAME_ON_TITLE } 
    113         <div><h2>{$current.TITLE}</h2></div> 
    114         {/if} 
    115  
    116149    </div> 
    117   </div> <!-- imageToolBar --> 
    118  
    119   {if $DISPLAY_NAV_THUMB} 
    120     {if isset($previous) } 
    121     <div id="navThumbPrev"> 
    122       <table id="navThumbPrevContainer" class="uiImg"><tr><td> 
    123         <div class="navThumbPrevBg">&nbsp;</div> 
    124         <div class="navThumbPrevContent"> 
    125           <a class="navThumb" id="thumbPrev" href="{$previous.U_IMG}" title="{'Previous'|@translate} : {$previous.TITLE}" rel="prev"> 
    126             <img src="{$previous.THUMB_SRC}" class="thumbLink" id="linkPrev" alt="{$previous.TITLE}"> 
    127           </a> 
    128         </div> 
    129       </td></tr></table> 
    130     </div> <!-- navThumbPrev --> 
    131     {/if} 
    132  
    133     {if isset($next) } 
    134     <div id="navThumbNext"> 
    135       <table id="navThumbNextContainer" class="uiImg"><tr><td> 
    136         <div class="navThumbNextBg">&nbsp;</div> 
    137         <div class="navThumbNextContent"> 
    138           <a class="navThumb" id="thumbNext" href="{$next.U_IMG}" title="{'Next'|@translate} : {$next.TITLE}" rel="next"> 
    139             <img src="{$next.THUMB_SRC}" class="thumbLink" id="linkNext" alt="{$next.TITLE}"> 
    140           </a> 
    141         </div> 
    142       </td></tr></table> 
    143     </div> <!-- navThumbNext --> 
    144     {/if} 
    145   {/if} 
     150  </div>{*<!-- imageToolBar -->*} 
    146151 
    147152  <div id="theImage"> 
     
    153158    <p>&nbsp;</p> 
    154159    {/if} 
    155  
    156     {if isset($U_SLIDESHOW_STOP) } 
     160    {if isset($U_SLIDESHOW_STOP)} 
    157161    <p> 
    158162      [ <a href="{$U_SLIDESHOW_STOP}">{'stop the slideshow'|@translate}</a> ] 
     
    201205            <tr  class="emptyrow" style="line-height:0px;"> 
    202206              <td colspan="2">&nbsp;</td> 
    203               <td width="10px">&nbsp;</td> 
    204               <td width="12%">&nbsp;</td> 
    205               <td width="18%">&nbsp;</td> 
    206               <td width="10px">&nbsp;</td> 
    207               <td width="12%">&nbsp;</td> 
    208               <td width="18%">&nbsp;</td> 
     207              <td class='cTitle'>&nbsp;</td> 
     208              <td class='cNfo' >&nbsp;</td> 
     209              <td class='cTitle'>&nbsp;</td> 
     210              <td class='cNfo' >&nbsp;</td> 
    209211            </tr> 
    210212 
    211213            {if $display_info.author or $display_info.created_on or $display_info.posted_on} 
    212214            <tr> 
    213               {assign var='colspan' value=8} 
     215              {assign var='colspan' value=6} 
    214216              {if $display_info.author} 
    215                 {assign var='colspan' value=`$colspan-3`} 
     217                {assign var='colspan' value=`$colspan-2`} 
    216218                <td class="label">{'Author'|@translate}</td> 
    217219                <td class="value" style="min-width:214px;">{if isset($INFO_AUTHOR)}{$INFO_AUTHOR}{else}{'N/A'|@translate}{/if}</td> 
    218                 <td>&nbsp;</td> 
    219220              {/if} 
    220221 
    221222              {if $display_info.created_on} 
    222                 {assign var='colspan' value=`$colspan-3`} 
     223                {assign var='colspan' value=`$colspan-2`} 
    223224                <td class="label">{'Created on'|@translate}</td> 
    224225                <td class="value">{if isset($INFO_CREATION_DATE)}{$INFO_CREATION_DATE}{else}{'N/A'|@translate}{/if}</td> 
    225                 <td>&nbsp;</td> 
    226226              {/if} 
    227227 
     
    241241            {if $display_info.dimensions or $display_info.file or $display_info.filesize} 
    242242            <tr> 
    243               {assign var='colspan' value=8} 
     243              {assign var='colspan' value=6} 
    244244 
    245245              {if $display_info.dimensions} 
    246                 {assign var='colspan' value=`$colspan-3`} 
     246                {assign var='colspan' value=`$colspan-2`} 
    247247                <td class="label">{'Dimensions'|@translate}</td> 
    248248                <td class="value">{if isset($INFO_DIMENSIONS)}{$INFO_DIMENSIONS|@replace:"*":"x"}{else}{'N/A'|@translate}{/if}</td> 
    249                 <td>&nbsp;</td> 
    250249              {/if} 
    251250 
    252251              {if $display_info.file} 
    253                 {assign var='colspan' value=`$colspan-3`} 
     252                {assign var='colspan' value=`$colspan-2`} 
    254253                <td class="label">{'File'|@translate}</td> 
    255254                <td class="value">{$INFO_FILE}</td> 
    256                 <td>&nbsp;</td> 
    257255              {/if} 
    258256 
     
    270268 
    271269            {if isset($related_tags) and $display_info.tags} 
    272               <tr class="emptyrow"><td colspan="8">&nbsp;</td></tr> 
     270              <tr class="emptyrow"><td colspan="6">&nbsp;</td></tr> 
    273271              <tr id="infoTags"> 
    274272                <td class="label">{'Tags'|@translate}</td> 
    275                 <td colspan="7" class="value"> 
     273                <td colspan="5" class="value"> 
    276274                    {foreach from=$related_tags item=tag name=tag_loop}{if !$smarty.foreach.tag_loop.first}, {/if} 
    277275                    <a href="{$tag.URL}">{$tag.name}</a>{/foreach} 
     
    281279 
    282280            {if isset($related_categories) and $display_info.categories} 
    283               <tr class="emptyrow"><td colspan="8">&nbsp;</td></tr> 
     281              <tr class="emptyrow"><td colspan="6">&nbsp;</td></tr> 
    284282              <tr id="infoCats"> 
    285283                <td class="label">{'Albums'|@translate}</td> 
    286                 <td colspan="7" class="value"> 
     284                <td colspan="5" class="value"> 
    287285                  {foreach from=$related_categories item=cat name=tag_loop}{if !$smarty.foreach.tag_loop.first},&nbsp;{/if} 
    288286                  {$cat} 
     
    291289              </tr> 
    292290            {/if} 
    293  
    294291            {if $display_info.visits} 
    295               <tr class="emptyrow"><td colspan="8">&nbsp;</td><tr> 
     292              <tr class="emptyrow"><td colspan="6">&nbsp;</td><tr> 
    296293              <tr> 
    297294                <td class="label">{'Visits'|@translate}</td> 
    298                 <td colspan="7" class="value">{$INFO_VISITS}</td> 
     295                <td {if !($display_info.privacy_level and isset($available_permission_levels))}colspan="5"{/if} class="value">{$INFO_VISITS}</td> 
     296 
     297                  {if $display_info.privacy_level and isset($available_permission_levels)} 
     298                      <td colspan="4" class="label"><a id="iPrivacyLevelLink">{'Who can see this photo?'|@translate}</a> 
     299 
     300                        <div id="privacyLevelBox" class="switchBox"> 
     301                          {foreach from=$available_permission_levels item=label key=level} 
     302                          <span id="levelCheck{$level}" class="switchCheck" {if $level != $current.level} style="visibility:hidden"{/if}>&#x2714; </span> 
     303                          <a id="switchLevel{$level}" onclick="gallyPP.setPrivacyLevel('{$ROOT_URL}', {$current.id}, {$level})">{$label}</a><br> 
     304                          {/foreach} 
     305                        </div> 
     306                     </td> 
     307                  {/if} 
     308 
    299309              </tr> 
    300310            {/if} 
     
    315325                  <td colspan="2">&nbsp;</td> 
    316326                {/if} 
    317                 <td>&nbsp;</td> 
    318327 
    319328                {if isset($rating)} 
    320                   <td class="label" colspan="5"> 
     329                  <td class="label" colspan="4"> 
    321330                    <span id="updateRate">{if isset($rating.USER_RATE)}{'Update your rating'|@translate}{else}{'Rate this photo'|@translate}{/if}</span> 
    322331 
     
    355364                  </td> 
    356365                {else} 
    357                   <td colspan="5">&nbsp;</td> 
     366                  <td colspan="4">&nbsp;</td> 
    358367                {/if} 
    359               </tr> 
    360             {/if} 
    361  
    362           {if isset($available_permission_levels) and $display_info.privacy_level} 
    363             <tr> 
    364               <td class="label">{'Who can see this photo?'|@translate}:</td> 
    365               <td colspan="4" class="value"> 
    366                 <script type="text/javascript"> 
    367                 {literal}function setPrivacyLevel(selectElement, rootUrl, id, level) 
    368                 { 
    369                 selectElement.disabled = true; 
    370                 var y = new PwgWS(rootUrl); 
    371                 y.callService( 
    372                   "pwg.images.setPrivacyLevel", {image_id: id, level:level} , 
    373                   { 
    374                     method: "POST", 
    375                     onFailure: function(num, text) { selectElement.disabled = false; alert(num + " " + text); }, 
    376                     onSuccess: function(result) { selectElement.disabled = false; } 
    377                   } 
    378                   ); 
    379                 }{/literal} 
    380                 </script> 
    381                 <select onchange="setPrivacyLevel(this, '{$ROOT_URL|@escape:'javascript'}', {$current.id}, this.options[selectedIndex].value)"> 
    382                   {foreach from=$available_permission_levels item=label key=level} 
    383                   <option label="{$label}" value="{$level}"{if $level == $current.level} selected="selected"{/if}>{$label}</option> 
    384                   {/foreach} 
    385                 </select> 
    386               </td> 
    387368            </tr> 
    388369          {/if} 
     
    437418          {/if} 
    438419            <h4>{'Add a comment'|@translate}</h4> 
    439             <form  method="post" action="{$comment_add.F_ACTION}" class="filter" id="addComment"> 
     420            <form method="post" action="{$comment_add.F_ACTION}" class="filter" id="addComment"> 
    440421              <table> 
    441422                {if $comment_add.SHOW_AUTHOR} 
     
    450431                <tr> 
    451432                  <td {if $comment_add.SHOW_AUTHOR}colspan="2"{/if}> 
    452                     <input type="hidden" name="key" value="{$comment_add.KEY}" /> 
    453                     <input class="submit" type="submit" value="{'Submit'|@translate}"/> 
     433                    <input type="hidden" name="key" value="{$comment_add.KEY}"> 
     434                    <input class="submit" type="submit" value="{'Submit'|@translate}"> 
    454435                  </td> 
    455436                </tr> 
  • extensions/gally/gally-default/template/picture_content.tpl

    r12592 r16016  
    11<!-- **GBL** >PICTURE_CONTENT> --> 
    22 
    3   <div id="theImgContainer" {if isset($high) }onclick="gallyPP.openDisplayHigh('{$high.U_HIGH}');" class="pointer"{/if}> 
    4     <img id="theMainImage" src="{$SRC_IMG}" style="width:{$WIDTH_IMG}px;height:{$HEIGHT_IMG}px;" alt="{$ALT_IMG}" 
     3  <div id="theImgContainer" {if isset($U_ORIGINAL)}onclick="gallyPP.openDisplayHigh('{$U_ORIGINAL}');" class="sTipOnTop {if !isset($U_SLIDESHOW_STOP)}pointer{/if}"{else}class="sTipOnTop"{/if} 
    54      {if isset($COMMENT_IMG)} 
    6         title="{$COMMENT_IMG|@strip_tags:false|@replace:'"':' '}" {else} title="{$current.TITLE|@replace:'"':' '} - {$ALT_IMG}" 
     5        title="{$COMMENT_IMG|@replace:'"':'&quot;'}" {else} title="{$current.TITLE|@replace:'"':'&quot;'} - {$ALT_IMG}" 
    76      {/if}> 
     7    <img src="{$current.selected_derivative->get_url()}" {$current.selected_derivative->get_size_htm()} 
     8         alt="{$ALT_IMG}" id="theMainImage" usemap="#map{$current.selected_derivative->get_type()}"> 
    89  </div> 
    910 
  • extensions/gally/gally-default/template/picture_nav_buttons.tpl

    r12632 r16016  
    22{if $DISPLAY_NAV_BUTTONS or isset($slideshow)} 
    33 
    4   {if isset($last)} 
    5     <a id="icon_last" class="navButton" href="{$last.U_IMG}" 
    6        title="{$last.TITLE}" 
    7        rel="last"></a> 
    8   {else} 
    9     <a id="icon_last_unactive" class="navButton"></a> 
    10   {/if} 
    11  
    12   {if isset($next)} 
    13     <a id="icon_right" class="navButton" href="{$next.U_IMG}" 
    14        title="{$next.TITLE}" 
     4{strip}{if isset($next)} 
     5    <a href="{$next.U_IMG}" 
     6       title="{'Next'|@translate} : {$next.TITLE}" 
     7       id="icon_right" class="navButton"  
    158       rel="next"></a> 
    169  {else} 
    1710    <a id="icon_right_unactive" class="navButton"></a> 
    18   {/if} 
     11  {/if}{/strip} 
    1912 
    20   {if isset($slideshow.U_START_PLAY)} 
    21     <a id="icon_play" class="navButton" href="{$slideshow.U_START_PLAY}" title="{'Play of slideshow'|@translate}"></a> 
    22   {/if} 
     13{strip}{if isset($slideshow.U_START_PLAY)} 
     14    <a href="{$slideshow.U_START_PLAY}" title="{'Play of slideshow'|@translate}" id="icon_play" class="navButton" ></a> 
     15  {/if}{/strip} 
    2316 
    24   {if isset($slideshow.U_STOP_PLAY)} 
    25     <a id="icon_pause" class="navButton" href="{$slideshow.U_STOP_PLAY}" title="{'Pause of slideshow'|@translate}"></a> 
    26   {/if} 
     17{strip}{if isset($slideshow.U_STOP_PLAY)} 
     18    <a href="{$slideshow.U_STOP_PLAY}" title="{'Pause of slideshow'|@translate}" id="icon_pause" class="navButton" ></a> 
     19  {/if}{/strip} 
    2720 
    28   {if isset($U_UP) and !isset($slideshow)} 
    29     <a id="icon_up" class="navButton" href="{$U_UP}" title="{'Thumbnails'|@translate}" rel="up"></a> 
    30   {/if} 
     21{strip}{if isset($U_UP) and !isset($slideshow)} 
     22    <a href="{$U_UP}" title="{'Thumbnails'|@translate}" rel="up" id="icon_up" class="navButton"></a> 
     23  {/if}{/strip} 
    3124 
    32   {if isset($previous)} 
    33     <a id="icon_left" class="navButton" href="{$previous.U_IMG}" 
    34        title="{$previous.TITLE}" 
     25{strip}{if isset($previous)} 
     26    <a href="{$previous.U_IMG}"  
     27       title="{'Previous'|@translate} : {$previous.TITLE}" 
     28       id="icon_left" class="navButton" 
    3529       rel="prev"></a> 
    3630  {else} 
    3731    <a id="icon_left_unactive" class="navButton"></a> 
    38   {/if} 
    39  
    40   {if isset($first)} 
    41     <a id="icon_first" class="navButton" href="{$first.U_IMG}" 
    42        title="{$first.TITLE}" 
    43        rel="first"></a> 
    44   {else} 
    45     <a id="icon_first_unactive" class="navButton"></a> 
    46   {/if} 
    47  
     32  {/if}{/strip} 
    4833 
    4934  {if isset($slideshow.U_START_REPEAT)} 
    50     <a id="icon_start_repeat" class="navButton" href="{$slideshow.U_START_REPEAT}" title="{'Repeat the slideshow'|@translate}"></a> 
     35    <a href="{$slideshow.U_START_REPEAT}" title="{'Repeat the slideshow'|@translate}" id="icon_start_repeat" class="navButton" ></a> 
    5136  {/if} 
    5237 
    5338  {if isset($slideshow.U_STOP_REPEAT)} 
    54     <a id="icon_stop_repeat" class="navButton" href="{$slideshow.U_STOP_REPEAT}" title="{'Not repeat the slideshow'|@translate}"></a> 
     39    <a href="{$slideshow.U_STOP_REPEAT}" title="{'Not repeat the slideshow'|@translate}" id="icon_stop_repeat" class="navButton" ></a> 
    5540  {/if} 
    5641 
    5742  {if isset($slideshow)} 
    5843    {if isset($slideshow.U_DEC_PERIOD)} 
    59       <a id="icon_dec_period" class="navButton" href="{$slideshow.U_DEC_PERIOD}" title="{'Accelerate diaporama speed'|@translate}"></a> 
     44      <a href="{$slideshow.U_DEC_PERIOD}" title="{'Accelerate diaporama speed'|@translate}" id="icon_dec_period" class="navButton"></a> 
    6045    {else} 
    6146      <a id="icon_dec_period_unactive" class="navButton" ></a> 
     
    6348 
    6449    {if isset($slideshow.U_INC_PERIOD)} 
    65       <a id="icon_inc_period" class="navButton" href="{$slideshow.U_INC_PERIOD}" title="{'Reduce diaporama speed'|@translate}"></a> 
     50      <a href="{$slideshow.U_INC_PERIOD}" title="{'Reduce diaporama speed'|@translate}" id="icon_inc_period" class="navButton" ></a> 
    6651    {else} 
    6752      <a id="icon_inc_period_unactive" class="navButton"></a> 
     
    7055{/if} 
    7156</div> 
    72  
    73 <script type="text/javascript">// <![CDATA[ 
    74 {literal} 
    75 function keyboardNavigation(e) 
    76 { 
    77   if(!e) e=window.event; 
     57{strip} 
     58{footer_script} 
     59document.onkeydown = function(e){ldelim} 
     60        e=e||window.event; 
    7861  if (e.altKey) return true; 
    79   var target = e.target || e.srcElement; 
    80   if (target && target.type) return true; //an input editable element 
    81   var keyCode=e.keyCode || e.which; 
    82   var docElem = document.documentElement; 
    83   switch(keyCode) { 
    84 {/literal} 
     62        var target=e.target||e.srcElement; 
     63        if (target && target.type) return true;{* an input editable element *} 
     64        var keyCode=e.keyCode||e.which, docElem=document.documentElement, url; 
     65        switch(keyCode){ldelim} 
    8566{if isset($next)} 
    86   case 63235: case 39: if (e.ctrlKey || docElem.scrollLeft==docElem.scrollWidth-docElem.clientWidth ){ldelim}window.location="{$next.U_IMG}".replace( "&amp;", "&" ); return false; } break; 
     67        case 63235: case 39: if (e.ctrlKey || docElem.scrollLeft==docElem.scrollWidth-docElem.clientWidth)url="{$next.U_IMG}"; break; 
    8768{/if} 
    8869{if isset($previous)} 
    89   case 63234: case 37: if (e.ctrlKey || docElem.scrollLeft==0){ldelim}window.location="{$previous.U_IMG|@escape:jasvascript}".replace("&amp;","&"); return false; } break; 
     70        case 63234: case 37: if (e.ctrlKey || docElem.scrollLeft==0)url="{$previous.U_IMG}"; break; 
    9071{/if} 
    9172{if isset($first)} 
    92   /*Home*/case 36: if (e.ctrlKey){ldelim}window.location="{$first.U_IMG|@escape:jasvascript}".replace("&amp;","&"); return false; } break; 
     73        {* Home *}case 36: if (e.ctrlKey)url="{$first.U_IMG}"; break; 
    9374{/if} 
    9475{if isset($last)} 
    95   /*End*/case 35: if (e.ctrlKey){ldelim}window.location="{$last.U_IMG|@escape:jasvascript}".replace("&amp;","&"); return false; } break; 
     76        {* End *}case 35: if (e.ctrlKey)url="{$last.U_IMG}"; break; 
    9677{/if} 
    9778{if isset($U_UP) and !isset($slideshow)} 
    98   /*Up*/case 38: if (e.ctrlKey){ldelim}window.location="{$U_UP|@escape:jasvascript}".replace("&amp;","&"); return false; } break; 
     79        {* Up *}case 38: if (e.ctrlKey)url="{$U_UP}"; break; 
    9980{/if} 
    100  
    10181{if isset($slideshow.U_START_PLAY)} 
    102   /*Pause*/case 32: {ldelim}window.location="{$slideshow.U_START_PLAY|@escape:jasvascript}".replace("&amp;","&"); return false; } break; 
     82        {* Pause *}case 32: url="{$slideshow.U_START_PLAY}"; break; 
    10383{/if} 
    10484{if isset($slideshow.U_STOP_PLAY)} 
    105   /*Play*/case 32: {ldelim}window.location="{$slideshow.U_STOP_PLAY|@escape:jasvascript}".replace("&amp;","&"); return false; } break; 
     85        {* Play *}case 32: url="{$slideshow.U_STOP_PLAY}"; break; 
    10686{/if} 
    10787  } 
     88  if (url) {ldelim}window.location=url.replace("&amp;","&"); return false;} 
    10889  return true; 
    10990} 
    110 document.onkeydown=keyboardNavigation; 
    111 // ]]></script> 
     91{/footer_script} 
     92{/strip} 
  • extensions/gally/gally-default/template/profile.tpl

    r12592 r16016  
    33<div id="content" class="content"> 
    44 
    5 {include file='dialogs.tpl'} 
     5{include file='infos_errors.tpl'} 
    66 
    77  <div class="titrePage" id='titrePageID'> 
  • extensions/gally/gally-default/template/profile_content.tpl

    r12592 r16016  
    44  <fieldset> 
    55    <legend>{'Registration'|@translate}</legend> 
    6     <input type="hidden" name="redirect" value="{$REDIRECT}" /> 
     6    <input type="hidden" name="redirect" value="{$REDIRECT}"> 
    77    <ul> 
    88      <li> 
     
    1717        <input type="text" name="mail_address" id="mail_address" value="{$EMAIL}" size=35> 
    1818      </li> 
    19 {if not $IN_ADMIN} {* admins do not need old password*} 
    2019      <li> 
    2120        <div class="property"> 
     
    2423        <input type="password" name="password" id="password" value=""> 
    2524      </li> 
    26 {/if} 
    2725      <li> 
    2826        <div class="property"> 
     
    3735        <input type="password" name="passwordConf" id="passwordConf" value=""> 
    3836      </li> 
     37{/if} 
    3938    </ul> 
    40 {/if} 
    4139  </fieldset> 
    4240 
     
    5048          <label for="nb_image_page">{'Number of photos per page'|@translate}</label> 
    5149        </div> 
    52         <input type="text" size="3" maxlength="2" name="nb_image_page" id="nb_image_page" value="{$NB_IMAGE_PAGE}"> 
     50        <input type="text" size="4" maxlength="3" name="nb_image_page" id="nb_image_page" value="{$NB_IMAGE_PAGE}"> 
    5351      </li> 
    5452      <li> 
     
    7472        {html_radios name='expand' options=$radio_options selected=$EXPAND} 
    7573      </li> 
     74    {if $ACTIVATE_COMMENTS} 
    7675      <li> 
    7776        <div class="property">{'Show number of comments'|@translate}</div> 
    7877        {html_radios name='show_nb_comments' options=$radio_options selected=$NB_COMMENTS} 
    7978      </li> 
     79    {/if} 
    8080      <li> 
    8181        <div class="property">{'Show number of hits'|@translate}</div> 
    8282        {html_radios name='show_nb_hits' options=$radio_options selected=$NB_HITS} 
    83       </li> 
    84       <li> 
    85         <div class="property"> 
    86           <label for="maxwidth">{'Maximum photo width'|@translate}</label> 
    87         </div> 
    88         <input type="text" size="4" maxlength="4" name="maxwidth" id="maxwidth" value="{$MAXWIDTH}"> 
    89       </li> 
    90       <li> 
    91         <div class="property"> 
    92           <label for="maxheight">{'Maximum photo height'|@translate}</label> 
    93         </div> 
    94         <input type="text" size="4" maxlength="4" name="maxheight" id="maxheight" value="{$MAXHEIGHT}"> 
    9583      </li> 
    9684    </ul> 
     
    10896 
    10997</form> 
    110  
    111  
    11298<!-- **GBL** <PROFILE_CONTENT< --> 
  • extensions/gally/gally-default/template/redirect.tpl

    r6109 r16016  
    11<!-- **GBL** >REDIRECT> --> 
    2 <p>{$REDIRECT_MSG}</p> 
    3 <p><a href="{$page_refresh.U_REFRESH}">{'Click here if your browser does not automatically forward you'|@translate}</a></p> 
     2<div> 
     3  {$REDIRECT_MSG} 
     4</div> 
     5 
     6<p> 
     7  <a href="{$page_refresh.U_REFRESH}">{'Click here if your browser does not automatically forward you'|@translate}</a></p> 
    48<!-- **GBL** <REDIRECT< --> 
  • extensions/gally/gally-default/template/register.tpl

    r12632 r16016  
    2929  {/if} 
    3030 
    31 {include file='dialogs.tpl'} 
     31{include file='infos_errors.tpl'} 
    3232 
    3333<form method="post" action="{$F_ACTION}" class="properties" name="register_form" id="register"> 
     
    5858          <label for="mail_address">{'Email address'|@translate}</label> 
    5959        </div> 
    60         <input type="text" name="mail_address" id="mail_address" value="{$F_EMAIL}" size=35>{if $obligatory_user_mail_address}<span class="mandatorystar">*</span>{else}({'useful when password forgotten'|@translate}){/if} 
    61  
     60        <input type="text" name="mail_address" id="mail_address" value="{$F_EMAIL}" size=35> 
     61         {if $obligatory_user_mail_address}<span class="mandatorystar">*</span> 
     62         {else} 
     63         ({'useful when password forgotten'|@translate}) 
     64         {/if} 
     65      </li> 
     66      <li> 
     67        <div class="property"> 
     68          <label for="send_password_by_mail">{'Send my connection settings by email'|@translate}</label> 
     69        </div> 
     70        <input type="checkbox" name="send_password_by_mail" id="send_password_by_mail" value="1" checked="checked"> 
    6271      </li> 
    6372    </ul> 
     
    6675 
    6776  <p class="bottomButtons"> 
     77    <input type="hidden" name="key" value="{$F_KEY}" > 
    6878    <input class="submit" type="submit" name="submit" value="{'Register'|@translate}"> 
    6979    <input class="submit" type="reset" value="{'Reset'|@translate}"> 
     
    7686</form> 
    7787 
    78  
    79  
    80  
    81  
    8288<script type="text/javascript"><!-- 
    8389document.register_form.login.focus(); 
     
    8692</div> <!-- content --> 
    8793</div> <!-- registerPage --> 
    88  
    89  
    9094<!-- **GBL** <REGISTER< --> 
  • extensions/gally/gally-default/template/search.tpl

    r12592 r16016  
    2828  {/if} 
    2929 
    30 {include file='dialogs.tpl'} 
     30{include file='infos_errors.tpl'} 
    3131 
    3232<form class="filter" method="post" name="search" action="{$F_SEARCH_ACTION}"> 
     
    3434  <legend>{'Filter'|@translate}</legend> 
    3535  <label>{'Search for words'|@translate} 
    36     <input type="text" style="width: 300px" name="search_allwords" size="30"  /> 
     36    <input type="text" style="width: 300px" name="search_allwords" size="30"> 
    3737  </label> 
    3838  <ul> 
    3939    <li><label> 
    40       <input type="radio" name="mode" value="AND" checked="checked" />{'Search for all terms'|@translate} 
     40      <input type="radio" name="mode" value="AND" checked="checked">{'Search for all terms'|@translate} 
    4141    </label></li> 
    4242    <li><label> 
    43       <input type="radio" name="mode" value="OR" />{'Search for any terms'|@translate} 
     43      <input type="radio" name="mode" value="OR">{'Search for any term'|@translate} 
    4444    </label></li> 
    4545  </ul> 
    4646  <label>{'Search for Author'|@translate} 
    47     <input type="text" style="width: 300px" name="search_author" size="30"  /> 
     47    <input type="text" style="width: 300px" name="search_author" size="30"> 
    4848  </label> 
    4949</fieldset> 
     
    5353  <legend>{'Search tags'|@translate}</legend> 
    5454  {$TAG_SELECTION} 
    55   <label><span><input type="radio" name="tag_mode" value="AND" checked="checked" /> {'All tags'|@translate}</span></label> 
    56   <label><span><input type="radio" name="tag_mode" value="OR" /> {'Any tag'|@translate}</span></label> 
     55  <label><span><input type="radio" name="tag_mode" value="AND" checked="checked"> {'All tags'|@translate}</span></label> 
     56  <label><span><input type="radio" name="tag_mode" value="OR"> {'Any tag'|@translate}</span></label> 
    5757</fieldset> 
    5858{/if} 
    5959 
    6060<fieldset> 
    61   <legend>{'Search by Date'|@translate}</legend> 
     61  <legend>{'Search by date'|@translate}</legend> 
    6262  <ul> 
    6363    <li><label>{'Kind of date'|@translate}</label></li> 
    6464    <li><label> 
    65       <input type="radio" name="date_type" value="date_creation" checked="checked" />{'Creation date'|@translate} 
     65      <input type="radio" name="date_type" value="date_creation" checked="checked">{'Creation date'|@translate} 
    6666    </label></li> 
    6767    <li><label> 
    68       <input type="radio" name="date_type" value="date_available" />{'Post date'|@translate} 
     68      <input type="radio" name="date_type" value="date_available">{'Post date'|@translate} 
    6969    </label></li> 
    7070  </ul> 
     
    7272    <li><label>{'Date'|@translate}</label></li> 
    7373    <li> 
    74       <select name="start_day"> 
     74      <select id="start_day" name="start_day"> 
    7575          <option value="0">--</option> 
    7676        {section name=day start=1 loop=32} 
     
    7878        {/section} 
    7979      </select> 
    80       <select name="start_month"> 
     80      <select id="start_month" name="start_month"> 
    8181        {html_options options=$month_list selected=$START_MONTH_SELECTED} 
    8282      </select> 
    83       <input name="start_year" type="text" size="4" maxlength="4" > 
     83      <input id="start_year" name="start_year" type="text" size="4" maxlength="4" > 
    8484      <input id="start_linked_date" name="start_linked_date" type="hidden" size="10" disabled="disabled"> 
    8585    </li> 
    8686    <li> 
    87       <a href="#" onClick="document.search.start_day.value={$smarty.now|date_format:"%d"};document.search.start_month.value={$smarty.now|date_format:"%m"};document.search.start_year.value={$smarty.now|date_format:"%Y"};return false;">{'today'|@translate}</a> 
     87      <a class="date_today" href="#" onClick="document.search.start_day.value={$smarty.now|date_format:"%d"};document.search.start_month.value={$smarty.now|date_format:"%m"};document.search.start_year.value={$smarty.now|date_format:"%Y"};return false;">{'today'|@translate}</a> 
    8888    </li> 
    8989  </ul> 
     
    100100        {html_options options=$month_list selected=$END_MONTH_SELECTED} 
    101101      </select> 
    102       <input name="end_year" type="text" size="4" maxlength="4" > 
     102      <input id="end_year" name="end_year" type="text" size="4" maxlength="4" > 
    103103      <input id="end_linked_date" name="end_linked_date" type="hidden" size="10" disabled="disabled"> 
    104104    </li> 
    105105    <li> 
    106       <a href="#" onClick="document.search.end_day.value={$smarty.now|date_format:"%d"};document.search.end_month.value={$smarty.now|date_format:"%m"};document.search.end_year.value={$smarty.now|date_format:"%Y"};return false;">{'today'|@translate}</a> 
     106      <a class="date_today" href="#" onClick="document.search.end_day.value={$smarty.now|date_format:"%d"};document.search.end_month.value={$smarty.now|date_format:"%m"};document.search.end_year.value={$smarty.now|date_format:"%Y"};return false;">{'today'|@translate}</a> 
    107107    </li> 
    108108  </ul> 
     
    110110 
    111111<fieldset> 
    112   <legend>{'Search Options'|@translate}</legend> 
    113   <label>{'Search in albums'|@translate}<br/> 
     112  <legend>{'Search in albums'|@translate}</legend> 
     113  <label>{'Albums'|@translate} 
    114114    <select class="categoryList" name="cat[]" multiple="multiple" > 
    115115      {html_options options=$category_options selected=$category_options_selected} 
     
    119119    <li><label>{'Search in sub-albums'|@translate}</label></li> 
    120120    <li><label> 
    121       <input type="radio" name="subcats-included" value="1" checked="checked" />{'Yes'|@translate} 
     121      <input type="radio" name="subcats-included" value="1" checked="checked">{'Yes'|@translate} 
    122122    </label></li> 
    123123    <li><label> 
    124       <input type="radio" name="subcats-included" value="0" />{'No'|@translate} 
     124      <input type="radio" name="subcats-included" value="0">{'No'|@translate} 
    125125    </label></li> 
    126126  </ul> 
    127127</fieldset> 
    128128<p> 
    129   <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" /> 
    130   <input class="submit" type="reset" value="{'Reset'|@translate}" /> 
     129  <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}"> 
     130  <input class="submit" type="reset" value="{'Reset'|@translate}"> 
    131131</p> 
    132132</form> 
  • extensions/gally/gally-default/template/search_rules.tpl

    r11024 r16016  
    44<ul class="categoryActions"> 
    55  <li> 
    6     <a id="icon_exit" class="button" href="#" onclick="window.close();" title="{'Close this window'|@translate}">       
     6    <a href="#" onclick="window.close();" title="{'Close this window'|@translate}" id="icon_exit" class="button">       
    77    </a> 
    88  </li> 
     
    1111<h2>{'Search rules'|@translate}</h2> 
    1212 
    13 {if isset($INTRODUCTION) } 
     13{if isset($INTRODUCTION)} 
    1414<p>{$INTRODUCTION}</p> 
    1515{/if} 
     
    1717<ul> 
    1818 
    19   {if isset($search_words) } 
     19  {if isset($search_words)} 
    2020  {foreach from=$search_words item=v} 
    2121  <li>{$v}</li> 
     
    2525  {if isset($SEARCH_TAGS_MODE) } 
    2626  <li> 
    27     <p>{if 'AND'==$SEARCH_TAGS_MODE}{'At least one tag must match'|@translate}{else}{'At least one tag must match'|@translate}{/if}</p> 
     27    <p>{if 'AND'==$SEARCH_TAGS_MODE}{'All tags'|@translate}{else}{'Any tag'|@translate}{/if}</p> 
    2828    <ul> 
    2929      {foreach from=$search_tags item=v} 
     
    3434  {/if} 
    3535 
    36   {if isset($DATE_CREATION) } 
     36  {if isset($DATE_CREATION)} 
    3737  <li>{$DATE_CREATION}</li> 
    3838  {/if} 
    3939 
    40   {if isset($DATE_AVAILABLE) } 
     40  {if isset($DATE_AVAILABLE)} 
    4141  <li>{$DATE_AVAILABLE}</li> 
    4242  {/if} 
    4343 
    44   {if isset($search_categories) } 
     44  {if isset($search_categories)} 
    4545  <li> 
    4646    <p>{'Albums'|@translate}</p> 
     
    5656</ul> 
    5757 
     58<p> 
     59    <a href="#" onclick="window.close();">{'Close this window'|@translate}</a> 
     60</p> 
     61 
    5862</div> <!-- content --> 
    5963 
  • extensions/gally/gally-default/template/slideshow.tpl

    r6109 r16016  
    77      [ <a href="{$U_SLIDESHOW_STOP}">{'stop the slideshow'|@translate}</a> ] 
    88      {/if} 
    9       {if $SHOW_PICTURE_NAME_ON_TITLE } 
     9      {* if $SHOW_PICTURE_NAME_ON_TITLE *} 
    1010        <span class="showtitle">{$current.TITLE}</span> 
    11       {/if} 
     11      {* /if *} 
    1212    </div> 
    1313    <div class="imageNumber">{$PHOTO}</div> 
  • extensions/gally/gally-default/template/tags.tpl

    r12632 r16016  
    1717    <ul class="categoryActions"> 
    1818{if $display_mode == 'letters'} 
    19       <li><a id="icon_cloud" class="button" href="{$U_CLOUD}" title="{'cloud'|@translate}"></a></li> 
     19      <li><a href="{$U_CLOUD}" title="{'cloud'|@translate}" id="icon_cloud" class="button"></a></li> 
    2020{/if} 
    2121 
    2222{if $display_mode == 'cloud'} 
    23       <li><a id="icon_tag_letters" class="button" href="{$U_LETTERS}" title="{'letters'|@translate}"></a></li> 
     23      <li><a href="{$U_LETTERS}" title="{'letters'|@translate}" id="icon_tag_letters" class="button"></a></li> 
    2424{/if} 
    2525 
    26       <li><a id="icon_home" class="button" href="{$U_HOME}" title="{'return to homepage'|@translate}"></a></li> 
     26      <li><a id="icon_home" class="button" href="{$U_HOME}" title="{'Home'|@translate}"></a></li> 
    2727    </ul> 
    2828    <h2>{'Tags'|@translate}</h2> 
    2929  </div> 
    3030 
     31{include file='infos_errors.tpl'} 
    3132 
    3233  {if #menuAnimated# != "noswitch" and isset($MENUBAR)} 
     
    3839  <div id="fullTagCloud"> 
    3940    {foreach from=$tags item=tag} 
    40     <span><a href="{$tag.URL}" class="tagLevel{$tag.level}" title="{$tag.counter}">{$tag.name}</a></span> 
     41    <span><a href="{$tag.URL}" class="tagLevel{$tag.level}" title="{$pwg->l10n_dec('%d photo', '%d photos', $tag.counter)}<br>{'display photos linked to this tag'|@translate}">{$tag.name}</a></span> 
    4142    {/foreach} 
    4243  </div> 
     
    5354      {foreach from=$letter.tags item=tag} 
    5455      <tr class="tagLine"> 
    55         <td><a href="{$tag.URL}"  title="{$tag.name}">{$tag.name}</a></td> 
     56        <td><a href="{$tag.URL}" title="{'display photos linked to this tag'|@translate}" class="sTipOnTop">{$tag.name}</a></td> 
    5657        <td class="nbEntries">{$pwg->l10n_dec('%d photo', '%d photos', $tag.counter)}</td> 
    5758      </tr> 
  • extensions/gally/gally-default/template/thumbnails.tpl

    r12592 r16016  
    11<!-- **GBL** >THUMBNAILS> --> 
    22{if !empty($thumbnails)} 
     3{* get thumbnails loader manager from piwigo default's theme *} 
     4{combine_script id='jquery.ajaxmanager' path='themes/default/js/plugins/jquery.ajaxmanager.js' load='footer'} 
     5{combine_script id='thumbnails.loader' path='themes/default/js/thumbnails.loader.js' require='jquery.ajaxmanager' load='footer'} 
     6{html_style} 
     7.content ul.thumbnails table.wrap1 tr.imgRow td, .wrap2 
     8{ldelim} 
     9  width:{$derivative_params->max_width()+20}px; 
     10  height:{$derivative_params->max_height()+20}px; 
     11} 
     12{/html_style} 
     13 
    314<ul class="thumbnails"> 
    415{foreach from=$thumbnails item=thumbnail} 
     16{assign var=derivative value=$pwg->derivative($derivative_params, $thumbnail.src_image)} 
    517  <li> 
    618    <table class="wrap1"> 
    7       <tr> 
     19      <tr class="imgRow"> 
    820        <td> 
    9           <span class="wrap2"> 
    1021          <a href="{$thumbnail.URL}"> 
     22          <span class="wrap2 sTipOnTop" 
     23                  {if isset($thumbnail.NB_COMMENTS) or isset($thumbnail.NB_HITS) } 
     24                  title="{if isset($thumbnail.NB_COMMENTS)}<span class='{if 0==$thumbnail.NB_COMMENTS}zero {/if}nb-comments'>{$pwg->l10n_dec('%d comment', '%d comments',$thumbnail.NB_COMMENTS)}</span>{/if} 
     25                         {if isset($thumbnail.NB_HITS)}<span class='{if 0==$thumbnail.NB_HITS}zero {/if}nb-hits'>{$pwg->l10n_dec('%d hit', '%d hits',$thumbnail.NB_HITS)}</span>{/if}" 
     26                  {/if}> 
    1127            <img {if isset($thumbnail.LONGDESC) and $thumbnail.LONGDESC!=""}longdesc="{$thumbnail.LONGDESC}"{/if} 
    1228                  class="thumbnail {if isset($thumbnail.EXTRA_CLASS)}{$thumbnail.EXTRA_CLASS}{/if}" 
    13                   src="{$thumbnail.TN_SRC}" 
    14                   alt="{$thumbnail.TN_ALT}" 
    15                   title="{$thumbnail.TN_TITLE}" /> 
     29                  {if !$derivative->is_cached()}data-{/if}src="{$derivative->get_url()}" 
     30                  alt="{$thumbnail.TN_ALT}"/> 
     31          </span> 
    1632          </a> 
    17           </span> 
    1833        </td> 
    1934      </tr> 
    20       <tr> 
     35      <tr class="nfoRow"> 
    2136        <td> 
    2237          {if $SHOW_THUMBNAIL_CAPTION } 
     
    2843            {if !empty($thumbnail.NAME)}{$thumbnail.NAME}{/if} 
    2944 
    30  
    31             {if isset($thumbnail.NB_COMMENTS)} 
    32             <span class="{if 0==$thumbnail.NB_COMMENTS}zero {/if}nb-comments"> 
    33             <br /> 
    34             {$pwg->l10n_dec('%d comment', '%d comments',$thumbnail.NB_COMMENTS)} 
    35             </span> 
    36             {/if} 
    37  
    38             {if isset($thumbnail.NB_HITS)} 
    39             <span class="{if 0==$thumbnail.NB_HITS}zero {/if}nb-hits"> 
    40             <br /> 
    41             {$pwg->l10n_dec('%d hit', '%d hits',$thumbnail.NB_HITS)} 
    42             </span> 
    43             {/if} 
    4445            </span> 
    4546          {/if} 
  • extensions/gally/gally-default/themeconf.inc.php

    r12632 r16016  
    22/* 
    33Theme Name: Gally 
    4 Version: 1.4.5 
     4Version: 1.5.0 
    55Description: Parent theme for all the Gally themes 
    66Theme URI: http://piwigo.org/ext/extension_view.php?eid=382 
     
    1313  'icon_dir' => 'themes/gally-default/icon', 
    1414  'mime_icon_dir' => 'themes/gally-default/icon/mimetypes/', 
    15   'activable' => false, 
     15  'activable' => false 
    1616); 
     17 
     18 
     19if(!defined('IN_ADMIN')) add_event_handler('init', 'initTemplateVar'); 
     20 
     21/** 
     22 * GallyTpl class is used to initialise some templates variable and provide some 
     23 * usefull function in template 
     24 */ 
     25class GallyTpl 
     26{ 
     27  private $comment=array( 
     28            'id' => null 
     29          ); 
     30 
     31  public function __construct() 
     32  { 
     33    global $template, $themeconf; 
     34 
     35    $this->loadConfDirectories(); 
     36    $this->loadThemeJS(); 
     37 
     38    $template->assign('gally', $this); 
     39  } 
     40 
     41  public function getToken() 
     42  { 
     43    return(get_pwg_token()); 
     44  } 
     45 
     46  public function getCommentKey($id) 
     47  { 
     48    if($this->loadComment($id)) 
     49    { 
     50      return(get_ephemeral_key(2, $this->comment['image_id'])); 
     51    } 
     52    return(''); 
     53  } 
     54 
     55  public function getCommentImage($id) 
     56  { 
     57    if($this->loadComment($id)) 
     58    { 
     59      return($this->comment['image_id']); 
     60    } 
     61    return(''); 
     62  } 
     63 
     64  public function getAlternateBannerContent() 
     65  { 
     66    global $template; 
     67 
     68    return(html_entity_decode($template->smarty->get_config_vars('alternateBannerContent'))); 
     69  } 
     70 
     71  public function getRandomBox($value) 
     72  { 
     73    global $template; 
     74 
     75    if(is_numeric($value)) return(rand(-$value, $value)); 
     76 
     77    $v=$template->smarty->get_config_vars($value); 
     78    return(rand(-$v, $v)); 
     79  } 
     80 
     81  /** 
     82   * 
     83   */ 
     84  private function loadThemeJS() 
     85  { 
     86    global $template; 
     87 
     88    $currentTheme=$template->get_template_vars('themeconf'); 
     89    $file="themes/".$currentTheme['id']."/js/theme.js"; 
     90 
     91    if(file_exists(dirname($_SERVER['SCRIPT_FILENAME']).'/'.$file)) 
     92    { 
     93      $template->scriptLoader->add($currentTheme['id'].'.theme.js', 'header', array('jquery'), $file, 0); 
     94    } 
     95  } 
     96 
     97  /** 
     98   * load conf directories in smarty variables 
     99   *  {$default_conf} 
     100   *  {$local_conf} 
     101   */ 
     102  private function loadConfDirectories() 
     103  { 
     104    global $template; 
     105 
     106    $themes=$template->get_template_vars('themes'); 
     107    foreach($themes as $theme) 
     108    { 
     109      $dir=dirname($_SERVER['SCRIPT_FILENAME'])."/themes/".$theme['id']."/conf/"; 
     110      $dirlocal=dirname($_SERVER['SCRIPT_FILENAME'])."/".PWG_LOCAL_DIR."themes/".$theme['id']."/conf/"; 
     111 
     112      if(file_exists($dir."local.conf")) $template->smarty->config_load($dir."default.conf"); 
     113      if(file_exists($dirlocal."local.conf")) $template->smarty->config_load($dirlocal."local.conf"); 
     114    } 
     115  } 
     116 
     117  /** 
     118   * load comment properties 
     119   *  result is stored in $this->comment 
     120   * 
     121   * @param Integer $id: comment id 
     122   */ 
     123  private function loadComment($id) 
     124  { 
     125    if($id==null or $id=='') return(false); 
     126    if($id==$this->comment['id']) return(true); 
     127 
     128    $sql="SELECT image_id FROM ".COMMENTS_TABLE." WHERE id=$id"; 
     129    $result=pwg_query($sql); 
     130    if($result) 
     131    { 
     132      while($row=pwg_db_fetch_assoc($result)) 
     133      { 
     134        $this->comment=array( 
     135          'id' => $id, 
     136          'image_id' => $row['image_id'] 
     137        ); 
     138        return(true); 
     139      } 
     140    } 
     141    return(false); 
     142  } 
     143} 
     144 
     145 
     146 
     147function initTemplateVar() 
     148{ 
     149  $gallyVar=new GallyTpl(); 
     150} 
     151 
    17152?> 
Note: See TracChangeset for help on using the changeset viewer.