Changeset 16016


Ignore:
Timestamp:
Jun 24, 2012, 9:26:25 PM (12 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.