Ignore:
Timestamp:
Jan 4, 2014, 4:13:08 PM (10 years ago)
Author:
mistic100
Message:

update for Piwigo 2.6

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/SmartAlbums/admin/template/album.tpl

    r19722 r26442  
    1 {combine_css path=$SMART_PATH|@cat:"admin/template/style.css"}
    2 {combine_script id='sprintf' load='footer' path=$SMART_PATH|@cat:"admin/template/sprintf.js"}
     1{combine_css path=$SMART_PATH|cat:'admin/template/style.css'}
    32{include file='include/datepicker.inc.tpl'}
     3{combine_script id='common' load='footer' path='admin/themes/default/js/common.js'}
     4
     5{combine_css path='themes/default/js/plugins/jquery.tokeninput.css'}
    46{combine_script id='jquery.tokeninput' load='footer' require='jquery' path='themes/default/js/plugins/jquery.tokeninput.js'}
    5 {combine_css path="themes/default/js/plugins/chosen.css"}
     7
     8{combine_css path='themes/default/js/plugins/chosen.css'}
    69{combine_script id='jquery.chosen' load='footer' path='themes/default/js/plugins/chosen.jquery.min.js'}
    7 {combine_css path="themes/default/js/ui/theme/jquery.ui.slider.css"}
     10
     11{combine_css path='themes/default/js/ui/theme/jquery.ui.slider.css'}
    812{combine_script id='jquery.ui.slider' require='jquery.ui' load='footer' path='themes/default/js/ui/minified/jquery.ui.slider.min.js'}
    913
    10 {footer_script}{literal}
    11 var count=0;
    12 var limit_count=0;
    13 var level_count=0;
    14 
    15 // MAIN EVENT HANDLERS
    16 $('#addFilter').change(function() {
    17   add_filter($(this).attr('value'));
    18   $(this).attr('value', '-1');
    19 });
    20  
    21 $('#removeFilters').click(function() {
    22   $('#filtersList li').each(function() {
    23     $(this).remove();
     14{*combine_script id='smartalbums.filters' require='common,datepicker.js,jquery.tokeninput,jquery.chosen,jquery.ui.slider'
     15  path=$SMART_PATH|cat:'admin/template/filters.js' load='footer' template=true*}
     16
     17{footer_script require='jquery'}
     18var addFilter = (function($){
     19  var count=0,
     20      limit_count=0,
     21      level_count=0;
     22
     23  // MAIN EVENT HANDLERS
     24  $('#addFilter').change(function() {
     25    if ($(this).val() != -1) {
     26      add_filter($(this).val());
     27      $(this).val(-1);
     28    }
    2429  });
    25  
    26   limit_level=0;
    27   level_count=0;
    28   return false;
    29 });
    30 
    31 $('input[name="is_smart"]').change(function() {
    32   $('#SmartAlbum_options').toggle();
    33   $('input[name="countImages"]').toggle();
    34   $('.count_images_wrapper').toggle();
    35 });
    36 
    37 $('input[name="countImages"]').click(function() {
    38   countImages($("#smart"));
    39   return false;
    40 });
    41 
    42 
    43 // ADD FILTER FUNCTIONS
    44 function add_filter(type, cond, value) {
    45   count++;
    46  
    47   content = $("#filtersRepo #filter_"+type).html().replace(/iiii/g, count);
    48   $block = $(content);
    49   $("#filtersList").append($block);
    50  
    51   if (cond) {
    52     select_cond($block, type, cond);
    53   }
    54  
    55   if (value) {
    56     if (type == "tags") {
    57       $block.find(".filter-value .tagSelect").html(value);
    58     }
    59     else if (type == "album") {
    60       select_options($block, value);
    61     }
    62     else if (type == "level") {
    63       select_options($block, value);
    64     }
    65     else if (type != "dimensions") {
    66       $block.find(".filter-value input").val(value);
    67     }
    68   }
    69  
    70   init_jquery_handlers($block);
    71  
    72   if (type == "dimensions") {
    73     select_dimensions($block, cond, value);
    74   }
    75  
    76   if (type == 'limit') {
    77     limit_count=1;
    78     $("#addFilter option[value='limit']").attr('disabled','disabled');
    79   }
    80   else if (type == 'level') {
    81     level_count=1;
    82     $("#addFilter option[value='level']").attr('disabled','disabled');
    83   }
    84 }
    85 
    86 function select_cond($block, type, cond) {
    87   $block.find(".filter-cond option").removeAttr('selected');
    88   $block.find(".filter-cond option[value='"+cond+"']").attr('selected', 'selected');
    89 }
    90 
    91 function select_dimensions($block, cond, value) {
    92   if (!cond) cond = 'width';
    93  
    94   $block.find(".filter-value span:not(.filter_dimension_info)").hide();
    95   $block.find(".filter-value .dimension_"+cond).show();
    96  
    97   if (value) {
    98     values = value.split(',');
    99   }
    100   else {
    101     values = $block.find(".filter_dimension_"+cond+"_slider").slider("values");
    102   }
    103   $block.find(".filter_dimension_"+cond+"_slider").slider("values", values);
    104 }
    105 
    106 function select_options($block, value) { 
    107   values = value.split(',');
    108   for (j in values) {
    109     $block.find(".filter-value option[value='"+ values[j] +"']").attr('selected', 'selected');
    110   }
    111 }
    112 
    113 
    114 // DECLARE JQUERY PLUGINS AND VERSATILE HANDLERS
    115 function init_jquery_handlers($block) {
    116   // remove filter
    117   $block.find(".removeFilter").click(function() {
    118     type = $(this).next("input").val();
     30
     31  $('#removeFilters').click(function() {
     32    $('#filtersList li').each(function() {
     33      $(this).remove();
     34    });
     35
     36    limit_level=0;
     37    level_count=0;
     38    return false;
     39  });
     40
     41  $('input[name="is_smart"]').change(function() {
     42    $('#SmartAlbum_options').toggle();
     43    $('input[name="countImages"]').toggle();
     44    $('.count_images_wrapper').toggle();
     45  });
     46
     47  $('input[name="countImages"]').click(function() {
     48    countImages($("#smart"));
     49    return false;
     50  });
     51
     52
     53  // ADD FILTER FUNCTIONS
     54  function add_filter(type, cond, value) {
     55    count++;
     56
     57    var content = $("#filtersRepo #filter_"+type).html().replace(/iiii/g, count);
     58    $block = $($.parseHTML(content)).appendTo("#filtersList");
     59
     60    if (cond) {
     61      select_cond($block, type, cond);
     62    }
     63
     64    if (value) {
     65      if (type == "tags") {
     66        $block.find(".filter-value .tagSelect").html(value);
     67      }
     68      else if (type == "album") {
     69        select_options($block, value);
     70      }
     71      else if (type == "level") {
     72        select_options($block, value);
     73      }
     74      else if (type != "dimensions") {
     75        $block.find(".filter-value input").val(value);
     76      }
     77    }
     78
     79    init_jquery_handlers($block);
     80
     81    if (type == "dimensions") {
     82      select_dimensions($block, cond, value);
     83    }
     84
    11985    if (type == 'limit') {
    12086      limit_count=1;
    121       $("#addFilter option[value='limit']").removeAttr('disabled');
     87      $("#addFilter option[value='limit']").attr('disabled','disabled');
    12288    }
    12389    else if (type == 'level') {
    12490      level_count=1;
    125       $("#addFilter option[value='level']").removeAttr('disabled');
    126     }
    127    
    128     $(this).parents('li').remove();
    129     return false;
    130   });
    131 
    132   // date filter
    133   if ($block.hasClass('filter_date')) {
    134     $block.find("input[type='text']").each(function() {
    135       $(this).datepicker({dateFormat:'yy-mm-dd', firstDay:1});
     91      $("#addFilter option[value='level']").attr('disabled','disabled');
     92    }
     93  }
     94
     95  function select_cond($block, type, cond) {
     96    $block.find(".filter-cond option").removeAttr('selected');
     97    $block.find(".filter-cond option[value='"+cond+"']").attr('selected', 'selected');
     98  }
     99
     100  function select_dimensions($block, cond, value) {
     101    console.log($block, cond, value);
     102    cond = cond || 'width';
     103
     104    $block.find(">.filter-value>span").hide();
     105    $block.find(".dimension_"+cond).show();
     106
     107    if (value) {
     108      values = value.split(',');
     109    }
     110    else {
     111      values = $block.find(".filter_dimension_"+cond+"_slider").slider("values");
     112    }
     113    $block.find(".filter_dimension_"+cond+"_slider").slider("values", values);
     114  }
     115
     116  function select_options($block, value) {
     117    values = value.split(',');
     118    for (j in values) {
     119      $block.find(".filter-value option[value='"+ values[j] +"']").attr('selected', 'selected');
     120    }
     121  }
     122
     123
     124  // DECLARE JQUERY PLUGINS AND VERSATILE HANDLERS
     125  function init_jquery_handlers($block) {
     126    // remove filter
     127    $block.find(".removeFilter").click(function() {
     128      type = $(this).next("input").val();
     129      if (type == 'limit') {
     130        limit_count=1;
     131        $("#addFilter option[value='limit']").removeAttr('disabled');
     132      }
     133      else if (type == 'level') {
     134        level_count=1;
     135        $("#addFilter option[value='level']").removeAttr('disabled');
     136      }
     137
     138      $(this).parents('li').remove();
     139      return false;
    136140    });
    137   }
    138 
    139   // tags filter
    140   if ($block.hasClass('filter_tags')) {
    141     $block.find(".tagSelect").tokenInput(
    142     {/literal}
    143       [{foreach from=$all_tags item=tag name=tags}{ldelim}"name":"{$tag.name|@escape:'javascript'}","id":"{$tag.id}"{rdelim}{if !$smarty.foreach.tags.last},{/if}{/foreach}],
    144       {ldelim}
    145         hintText: '{'Type in a search term'|@translate}',
    146         noResultsText: '{'No results'|@translate}',
    147         searchingText: '{'Searching...'|@translate}',
    148         animateDropdown: false,
    149         preventDuplicates: true,
    150         allowCreation: false
    151     {literal}
    152     });
    153   }
    154  
    155   // album filter
    156   if ($block.hasClass('filter_album')) {
    157     $block.find(".albumSelect").chosen();
    158   }
    159  
    160   // dimension filter
    161   if ($block.hasClass('filter_dimensions')) {
    162     $block.find(".filter-cond select").change(function() {
    163       select_dimensions($block, $(this).attr("value"));
    164     });
    165     {/literal}
    166    
    167     $block.find(".filter_dimension_width_slider").slider({ldelim}
    168       range: true,
    169       min: {$dimensions.bounds.min_width},
    170       max: {$dimensions.bounds.max_width},
    171       values: [{$dimensions.bounds.min_width}, {$dimensions.bounds.max_width}],
    172       slide: function(event, ui) {ldelim}
    173         change_dimension_info($block, ui.values, "{'between %d and %d pixels'|@translate}");
    174       },
    175       change: function(event, ui) {ldelim}
    176         change_dimension_info($block, ui.values, "{'between %d and %d pixels'|@translate}");
    177       }
    178     });
    179    
    180     $block.find(".filter_dimension_height_slider").slider({ldelim}
    181       range: true,
    182       min: {$dimensions.bounds.min_height},
    183       max: {$dimensions.bounds.max_height},
    184       values: [{$dimensions.bounds.min_height}, {$dimensions.bounds.max_height}],
    185       slide: function(event, ui) {ldelim}
    186         change_dimension_info($block, ui.values, "{'between %d and %d pixels'|@translate}");
    187       },
    188       change: function(event, ui) {ldelim}
    189         change_dimension_info($block, ui.values, "{'between %d and %d pixels'|@translate}");
    190       }
    191     });
    192    
    193     $block.find(".filter_dimension_ratio_slider").slider({ldelim}
    194       range: true,
    195       step: 0.01,
    196       min: {$dimensions.bounds.min_ratio},
    197       max: {$dimensions.bounds.max_ratio},
    198       values: [{$dimensions.bounds.min_ratio}, {$dimensions.bounds.max_ratio}],
    199       slide: function(event, ui) {ldelim}
    200         change_dimension_info($block, ui.values, "{'between %.2f and %.2f'|@translate}");
    201       },
    202       change: function(event, ui) {ldelim}
    203         change_dimension_info($block, ui.values, "{'between %.2f and %.2f'|@translate}");
    204       }
    205     });
    206     {literal}
    207    
    208     $block.find("a.dimensions-choice").click(function() {
    209       $block.find(".filter_dimension_"+ $(this).data("type") +"_slider").slider("values",
    210         [$(this).data("min"), $(this).data("max")]
     141
     142    // date filter
     143    if ($block.hasClass('filter_date')) {
     144      $block.find("input[type='text']").each(function() {
     145        $(this).datepicker({
     146          dateFormat:'yy-mm-dd',
     147          firstDay:1
     148        });
     149      });
     150    }
     151
     152    // tags filter
     153    if ($block.hasClass('filter_tags')) {
     154      $block.find(".tagSelect").tokenInput(
     155        [{foreach from=$all_tags item=tag name=tags}{ name:"{$tag.name|escape:javascript}", id:"{$tag.id}" }{if !$smarty.foreach.tags.last},{/if}{/foreach}],
     156        {
     157          hintText: '{'Type in a search term'|translate}',
     158          noResultsText: '{'No results'|translate}',
     159          searchingText: '{'Searching...'|translate}',
     160          animateDropdown: false,
     161          preventDuplicates: true,
     162          allowFreeTagging: false
     163        }
    211164      );
    212     });
    213   }
    214 }
    215 
    216 
    217 // GENERAL FUNCTIONS
    218 function change_dimension_info($block, values, text) {
    219   $block.find("input[name$='[value][min]']").val(values[0]);
    220   $block.find("input[name$='[value][max]']").val(values[1]);
    221   $block.find(".filter_dimension_info").html(sprintf(text, values[0], values[1]));
    222 }
    223 
    224 function countImages(form) {
    225 {/literal}
    226   jQuery.post("{$COUNT_SCRIPT_URL}", 'cat_id={$CAT_ID}&'+form.serialize(),
    227 {literal}
    228     function success(data) {
    229       jQuery('.count_images_wrapper').html(data);
    230     }
    231   );
    232 }
    233 
    234 function doBlink(obj,start,finish) {
    235   jQuery(obj).fadeOut(400).fadeIn(400);
    236   if(start!=finish) {
    237     doBlink(obj,start+1,finish);
    238   } else {
    239     jQuery(obj).fadeOut(400);
    240   }
    241 }
    242 {/literal}
    243 
    244 {if isset($new_smart)}doBlink('.new_smart', 0, 3);{/if}
     165    }
     166
     167    // album filter
     168    if ($block.hasClass('filter_album')) {
     169      $block.find(".albumSelect").chosen();
     170    }
     171
     172    // dimension filter
     173    if ($block.hasClass('filter_dimensions')) {
     174      $block.find(".filter-cond select").change(function() {
     175        select_dimensions($block, $(this).val());
     176      });
     177
     178      $block.find(".filter_dimension_width_slider").slider({
     179        range: true,
     180        min: {$dimensions.bounds.min_width},
     181        max: {$dimensions.bounds.max_width},
     182        values: [{$dimensions.bounds.min_width}, {$dimensions.bounds.max_width}],
     183        slide: function(event, ui) {
     184          change_dimension_info($block, ui.values, "{'between %d and %d pixels'|translate}");
     185        },
     186        change: function(event, ui) {
     187          change_dimension_info($block, ui.values, "{'between %d and %d pixels'|translate}");
     188        }
     189      });
     190
     191      $block.find(".filter_dimension_height_slider").slider({
     192        range: true,
     193        min: {$dimensions.bounds.min_height},
     194        max: {$dimensions.bounds.max_height},
     195        values: [{$dimensions.bounds.min_height}, {$dimensions.bounds.max_height}],
     196        slide: function(event, ui) {
     197          change_dimension_info($block, ui.values, "{'between %d and %d pixels'|translate}");
     198        },
     199        change: function(event, ui) {
     200          change_dimension_info($block, ui.values, "{'between %d and %d pixels'|translate}");
     201        }
     202      });
     203
     204      $block.find(".filter_dimension_ratio_slider").slider({
     205        range: true,
     206        step: 0.01,
     207        min: {$dimensions.bounds.min_ratio},
     208        max: {$dimensions.bounds.max_ratio},
     209        values: [{$dimensions.bounds.min_ratio}, {$dimensions.bounds.max_ratio}],
     210        slide: function(event, ui) {
     211          change_dimension_info($block, ui.values, "{'between %.2f and %.2f'|translate}");
     212        },
     213        change: function(event, ui) {
     214          change_dimension_info($block, ui.values, "{'between %.2f and %.2f'|translate}");
     215        }
     216      });
     217
     218      $block.find("a.dimensions-choice").click(function() {
     219        $block.find(".filter_dimension_"+ $(this).data("type") +"_slider").slider("values",
     220          [$(this).data("min"), $(this).data("max")]
     221        );
     222      });
     223    }
     224  }
     225
     226
     227  // GENERAL FUNCTIONS
     228  function change_dimension_info($block, values, text) {
     229    $block.find("input[name$='[value][min]']").val(values[0]);
     230    $block.find("input[name$='[value][max]']").val(values[1]);
     231    $block.find(".filter_dimension_info").html(sprintf(text, values[0], values[1]));
     232  }
     233
     234  function countImages(form) {
     235    jQuery.post("{$COUNT_SCRIPT_URL}", 'cat_id={$CAT_ID}&'+form.serialize(),
     236      function success(data) {
     237        jQuery('.count_images_wrapper').html(data);
     238      }
     239    );
     240  }
     241
     242
     243  {if isset($new_smart)}
     244  function doBlink(obj,start,finish) {
     245    jQuery(obj).fadeOut(400).fadeIn(400);
     246    if(start!=finish) {
     247      doBlink(obj,start+1,finish);
     248    }
     249    else {
     250      jQuery(obj).fadeOut(400);
     251    }
     252  }
     253
     254  doBlink('.new_smart', 0, 3);
     255  {/if}
     256
     257  return add_filter; // expose add_filter method
     258}(jQuery));
    245259{/footer_script}
    246260
    247261
    248262<div class="titrePage">
    249   <h2><span style="letter-spacing:0">{$CATEGORIES_NAV}</span> &#8250; {'Edit album'|@translate} [SmartAlbum]</h2>
     263  <h2><span style="letter-spacing:0">{$CATEGORIES_NAV}</span> &#8250; {'Edit album'|translate} [SmartAlbum]</h2>
    250264</div>
    251265
    252266<noscript>
    253 <div class="errors"><ul><li>JavaScript required!</li></ul></div>
     267  <div class="errors"><ul><li>JavaScript required!</li></ul></div>
    254268</noscript>
    255269
    256270<div id="batchManagerGlobal">
    257271<form action="{$F_ACTION}" method="POST" id="smart">
    258   <p style="text-align:left;"><label><input type="checkbox" name="is_smart" {if isset($filters) OR isset($new_smart)}checked="checked"{/if}/> {'This album is a SmartAlbum'|@translate}</label></p>
     272  <p style="text-align:left;"><label><input type="checkbox" name="is_smart" {if isset($filters) OR isset($new_smart)}checked="checked"{/if}/> {'This album is a SmartAlbum'|translate}</label></p>
    259273
    260274  <fieldset id="SmartAlbum_options" style="margin-top:1em;{if !isset($filters) AND !isset($new_smart)}display:none;{/if}">
    261     <legend>{'Filters'|@translate}</legend>
    262      
     275    <legend>{'Filters'|translate}</legend>
     276
    263277    <ul id="filtersList">
    264278    {foreach from=$filters item=filter}{strip}
     
    268282        {assign var='value' value=$filter.value}
    269283      {/if}
    270      
     284
    271285      {if $filter.type == 'limit'}
    272286        {footer_script}
     
    280294        {/footer_script}
    281295      {/if}
    282      
    283       {footer_script}add_filter('{$filter.type}', '{$filter.cond}', '{$value|escape:javascript}');{/footer_script}
     296
     297      {footer_script}addFilter('{$filter.type}', '{$filter.cond}', '{$value|escape:javascript}');{/footer_script}
    284298    {/strip}{/foreach}
    285299    </ul>
    286    
     300
    287301    <div>
    288       <b>{'Mode'|@translate} :</b>
     302      <b>{'Mode'|translate} :</b>
    289303      <label><input type="radio" name="filters[0][value]" value="and" {if $filter_mode=='and'}checked="checked"{/if}> AND</label>
    290304      <label><input type="radio" name="filters[0][value]" value="or" {if $filter_mode=='or'}checked="checked"{/if}> OR</label>
     
    292306      <input type="hidden" name="filters[0][cond]" value="mode">
    293307    </div>
    294    
     308
    295309    <p class="actionButtons">
    296310      <select id="addFilter">
    297         <option value="-1">{'Add a filter'|@translate}</option>
     311        <option value="-1">{'Add a filter'|translate}</option>
    298312        <option disabled="disabled">------------------</option>
    299         <option value="tags">{'Tags'|@translate}</option>
    300         <option value="date">{'Date'|@translate}</option>
    301         <option value="name">{'Photo name'|@translate}</option>
    302         <option value="album">{'Album'|@translate}</option>
    303         <option value="dimensions">{'Dimensions'|@translate}</option>
    304         <option value="author">{'Author'|@translate}</option>
    305         <option value="hit">{'Hits'|@translate}</option>
    306         <option value="rating_score">{'Rating score'|@translate}</option>
    307         <option value="level">{'Privacy level'|@translate}</option>
    308         <option value="limit">{'Max. number of photos'|@translate}</option>
    309       </select>
    310       <a id="removeFilters">{'Remove all filters'|@translate}</a>
    311       {if isset($new_smart)}<span class="new_smart">{'Add filters here'|@translate}</span>{/if}
     313        <option value="tags">{'Tags'|translate}</option>
     314        <option value="date">{'Date'|translate}</option>
     315        <option value="name">{'Photo name'|translate}</option>
     316        <option value="album">{'Album'|translate}</option>
     317        <option value="dimensions">{'Dimensions'|translate}</option>
     318        <option value="author">{'Author'|translate}</option>
     319        <option value="hit">{'Hits'|translate}</option>
     320        <option value="rating_score">{'Rating score'|translate}</option>
     321        <option value="level">{'Privacy level'|translate}</option>
     322        <option value="limit">{'Max. number of photos'|translate}</option>
     323      </select>
     324      <a id="removeFilters">{'Remove all filters'|translate}</a>
     325      {if isset($new_smart)}<span class="new_smart">{'Add filters here'|translate}</span>{/if}
    312326    </p>
    313327  </fieldset>
    314  
     328
    315329  <p class="actionButtons" id="applyFilterBlock">
    316     <input class="submit" type="submit" value="{'Submit'|@translate}" name="submitFilters"/>
    317     <input class="submit" type="submit" value="{'Count'|@translate}" name="countImages" {if !isset($filters) AND !isset($new_smart)}style="display:none;"{/if}/>
     330    <input class="submit" type="submit" value="{'Submit'|translate}" name="submitFilters"/>
     331    <input class="submit" type="submit" value="{'Count'|translate}" name="countImages" {if !isset($filters) AND !isset($new_smart)}style="display:none;"{/if}/>
    318332    <span class="count_images_wrapper" {if !isset($filters) AND !isset($new_smart)}style="display:none;"{/if}><span class="count_image">{$IMAGE_COUNT}</span></span>
    319333  </p>
     
    327341  <li id="filter_iiii" class="filter_tags">
    328342    <span class="filter-title">
    329       <a href="#" class="removeFilter" title="{'remove this filter'|@translate}"><span>[x]</span></a>
     343      <a href="#" class="removeFilter" title="{'remove this filter'|translate}"><span>[x]</span></a>
    330344      <input type="hidden" name="filters[iiii][type]" value="tags"/>
    331345      {$options.tags.name}
    332346    </span>
    333    
     347
    334348    <span class="filter-cond">
    335349      <select name="filters[iiii][cond]">
     
    337351      </select>
    338352    </span>
    339    
     353
    340354    <span class="filter-value">
    341355      <select name="filters[iiii][value]" class="tagSelect">
     
    344358  </li>
    345359  </div>
    346  
     360
    347361  <!-- date -->
    348362  <div id="filter_date">
    349363  <li id="filter_iiii" class="filter_date">
    350364    <span class="filter-title">
    351       <a href="#" class="removeFilter" title="{'remove this filter'|@translate}"><span>[x]</span></a>
     365      <a href="#" class="removeFilter" title="{'remove this filter'|translate}"><span>[x]</span></a>
    352366      <input type="hidden" name="filters[iiii][type]" value="date"/>
    353367      {$options.date.name}
    354368    </span>
    355    
     369
    356370    <span class="filter-cond">
    357371      <select name="filters[iiii][cond]">
     
    359373      </select>
    360374    </span>
    361    
     375
    362376    <span class="filter-value">
    363377      <input type="text" name="filters[iiii][value]" size="30"/>
     
    365379  </li>
    366380  </div>
    367  
     381
    368382  <!-- name -->
    369383  <div id="filter_name">
    370384  <li id="filter_iiii" class="filter_name">
    371385    <span class="filter-title">
    372       <a href="#" class="removeFilter" title="{'remove this filter'|@translate}"><span>[x]</span></a>
     386      <a href="#" class="removeFilter" title="{'remove this filter'|translate}"><span>[x]</span></a>
    373387      <input type="hidden" name="filters[iiii][type]" value="name"/>
    374388      {$options.name.name}
    375389    </span>
    376    
     390
    377391    <span class="filter-cond">
    378392      <select name="filters[iiii][cond]">
     
    380394      </select>
    381395    </span>
    382    
     396
    383397    <span class="filter-value">
    384398      <input type="text" name="filters[iiii][value]" size="30"/>
     
    386400  </li>
    387401  </div>
    388  
     402
    389403  <!-- album -->
    390404  <div id="filter_album">
    391405  <li id="filter_iiii" class="filter_album">
    392406    <span class="filter-title">
    393       <a href="#" class="removeFilter" title="{'remove this filter'|@translate}"><span>[x]</span></a>
     407      <a href="#" class="removeFilter" title="{'remove this filter'|translate}"><span>[x]</span></a>
    394408      <input type="hidden" name="filters[iiii][type]" value="album"/>
    395409      {$options.album.name}
    396410    </span>
    397    
     411
    398412    <span class="filter-cond">
    399413      <select name="filters[iiii][cond]">
     
    401415      </select>
    402416    </span>
    403    
    404     <span class="filter-value">
    405       <select name="filters[iiii][value][]" class="albumSelect" multiple="multiple" data-placeholder="{'Select albums...'|@translate}">
     417
     418    <span class="filter-value">
     419      <select name="filters[iiii][value][]" class="albumSelect" multiple="multiple" data-placeholder="{'Select albums...'|translate}">
    406420        {html_options options=$all_albums}
    407421      </select>
     
    409423  </li>
    410424  </div>
    411  
     425
    412426  <!-- dimensions -->
    413427  <div id="filter_dimensions">
    414428  <li id="filter_iiii" class="filter_dimensions">
    415429    <span class="filter-title">
    416       <a href="#" class="removeFilter" title="{'remove this filter'|@translate}"><span>[x]</span></a>
     430      <a href="#" class="removeFilter" title="{'remove this filter'|translate}"><span>[x]</span></a>
    417431      <input type="hidden" name="filters[iiii][type]" value="dimensions"/>
    418432      {$options.dimensions.name}
     
    427441    <span class="filter-value">
    428442      <span class="dimension_width">
    429       <span class="filter_dimension_info"></span>
    430         | <a class="dimensions-choice" data-type="width" data-min="{$dimensions.bounds.min_width}" data-max="{$dimensions.bounds.max_width}">{'Reset'|@translate}</a>
    431         <div class="filter_dimension_width_slider"></div>
     443        <span class="filter_dimension_info"></span>
     444          | <a class="dimensions-choice" data-type="width" data-min="{$dimensions.bounds.min_width}" data-max="{$dimensions.bounds.max_width}">{'Reset'|translate}</a>
     445          <div class="filter_dimension_width_slider"></div>
    432446      </span>
    433447
    434       <span class="filter-value dimension_height">
    435       <span class="filter_dimension_info"></span>
    436         | <a class="dimensions-choice" data-type="height" data-min="{$dimensions.bounds.min_height}" data-max="{$dimensions.bounds.max_height}">{'Reset'|@translate}</a>
    437         <div class="filter_dimension_height_slider"></div>
     448      <span class="dimension_height">
     449        <span class="filter_dimension_info"></span>
     450          | <a class="dimensions-choice" data-type="height" data-min="{$dimensions.bounds.min_height}" data-max="{$dimensions.bounds.max_height}">{'Reset'|translate}</a>
     451          <div class="filter_dimension_height_slider"></div>
    438452      </span>
    439453
    440       <span class="filter-value dimension_ratio">
    441       <span class="filter_dimension_info"></span>
    442 {if isset($dimensions.ratio_portrait)}
    443         | <a class="dimensions-choice" data-type="ratio" data-min="{$dimensions.ratio_portrait.min}" data-max="{$dimensions.ratio_portrait.max}">{'Portrait'|@translate}</a>
    444 {/if}
    445 {if isset($dimensions.ratio_square)}
    446         | <a class="dimensions-choice" data-type="ratio" data-min="{$dimensions.ratio_square.min}" data-max="{$dimensions.ratio_square.max}">{'square'|@translate}</a>
    447 {/if}
    448 {if isset($dimensions.ratio_landscape)}
    449         | <a class="dimensions-choice" data-type="ratio" data-min="{$dimensions.ratio_landscape.min}" data-max="{$dimensions.ratio_landscape.max}">{'Landscape'|@translate}</a>
    450 {/if}
    451 {if isset($dimensions.ratio_panorama)}
    452         | <a class="dimensions-choice" data-type="ratio" data-min="{$dimensions.ratio_panorama.min}" data-max="{$dimensions.ratio_panorama.max}">{'Panorama'|@translate}</a>
    453 {/if}
    454         | <a class="dimensions-choice" data-type="ratio" data-min="{$dimensions.bounds.min_ratio}" data-max="{$dimensions.bounds.max_ratio}">{'Reset'|@translate}</a>
    455         <div class="filter_dimension_ratio_slider"></div>
     454      <span class="dimension_ratio">
     455        <span class="filter_dimension_info"></span>
     456        {if isset($dimensions.ratio_portrait)}
     457          | <a class="dimensions-choice" data-type="ratio" data-min="{$dimensions.ratio_portrait.min}" data-max="{$dimensions.ratio_portrait.max}">{'Portrait'|translate}</a>
     458        {/if}
     459        {if isset($dimensions.ratio_square)}
     460          | <a class="dimensions-choice" data-type="ratio" data-min="{$dimensions.ratio_square.min}" data-max="{$dimensions.ratio_square.max}">{'square'|translate}</a>
     461        {/if}
     462        {if isset($dimensions.ratio_landscape)}
     463          | <a class="dimensions-choice" data-type="ratio" data-min="{$dimensions.ratio_landscape.min}" data-max="{$dimensions.ratio_landscape.max}">{'Landscape'|translate}</a>
     464        {/if}
     465        {if isset($dimensions.ratio_panorama)}
     466          | <a class="dimensions-choice" data-type="ratio" data-min="{$dimensions.ratio_panorama.min}" data-max="{$dimensions.ratio_panorama.max}">{'Panorama'|translate}</a>
     467        {/if}
     468          | <a class="dimensions-choice" data-type="ratio" data-min="{$dimensions.bounds.min_ratio}" data-max="{$dimensions.bounds.max_ratio}">{'Reset'|translate}</a>
     469          <div class="filter_dimension_ratio_slider"></div>
    456470      </span>
    457471    </span>
     
    461475  </li>
    462476  </div>
    463  
     477
    464478  <!-- author -->
    465479  <div id="filter_author">
    466480  <li id="filter_iiii" class="filter_author">
    467481    <span class="filter-title">
    468       <a href="#" class="removeFilter" title="{'remove this filter'|@translate}"><span>[x]</span></a>
     482      <a href="#" class="removeFilter" title="{'remove this filter'|translate}"><span>[x]</span></a>
    469483      <input type="hidden" name="filters[iiii][type]" value="author"/>
    470484      {$options.author.name}
    471485    </span>
    472    
     486
    473487    <span class="filter-cond">
    474488      <select name="filters[iiii][cond]">
     
    476490      </select>
    477491    </span>
    478    
     492
    479493    <span class="filter-value">
    480494      <input type="text" name="filters[iiii][value]" size="30"/>
    481       <i>{'For "Is (not) in", separate each author by a comma'|@translate}</i>
    482     </span>
    483   </li>
    484   </div>
    485  
     495      <i>{'For "Is (not) in", separate each author by a comma'|translate}</i>
     496    </span>
     497  </li>
     498  </div>
     499
    486500  <!-- hit -->
    487501  <div id="filter_hit">
    488502  <li id="filter_iiii" class="filter_hit">
    489503    <span class="filter-title">
    490       <a href="#" class="removeFilter" title="{'remove this filter'|@translate}"><span>[x]</span></a>
     504      <a href="#" class="removeFilter" title="{'remove this filter'|translate}"><span>[x]</span></a>
    491505      <input type="hidden" name="filters[iiii][type]" value="hit"/>
    492506      {$options.hit.name}
    493507    </span>
    494    
     508
    495509    <span class="filter-cond">
    496510      <select name="filters[iiii][cond]">
     
    498512      </select>
    499513    </span>
    500    
     514
    501515    <span class="filter-value">
    502516      <input type="text" name="filters[iiii][value]" size="5"/>
     
    504518  </li>
    505519  </div>
    506  
     520
    507521  <!-- rating_score -->
    508522  <div id="filter_rating_score">
    509523  <li id="filter_iiii" class="filter_rating_score">
    510524    <span class="filter-title">
    511       <a href="#" class="removeFilter" title="{'remove this filter'|@translate}"><span>[x]</span></a>
     525      <a href="#" class="removeFilter" title="{'remove this filter'|translate}"><span>[x]</span></a>
    512526      <input type="hidden" name="filters[iiii][type]" value="rating_score"/>
    513527      {$options.rating_score.name}
    514528    </span>
    515    
     529
    516530    <span class="filter-cond">
    517531      <select name="filters[iiii][cond]">
     
    519533      </select>
    520534    </span>
    521    
     535
    522536    <span class="filter-value">
    523537      <input type="text" name="filters[iiii][value]" size="5"/>
     
    525539  </li>
    526540  </div>
    527  
     541
    528542  <!-- level -->
    529543  <div id="filter_level">
    530544  <li id="filter_iiii" class="filter_level">
    531545    <span class="filter-title">
    532       <a href="#" class="removeFilter" title="{'remove this filter'|@translate}"><span>[x]</span></a>
     546      <a href="#" class="removeFilter" title="{'remove this filter'|translate}"><span>[x]</span></a>
    533547      <input type="hidden" name="filters[iiii][type]" value="level"/>
    534548      {$options.level.name}
    535549    </span>
    536    
     550
    537551    <input type="hidden" name="filters[iiii][cond]" value="level"/>
    538    
     552
    539553    <span class="filter-value">
    540554      <select name="filters[iiii][value]">
     
    544558  </li>
    545559  </div>
    546  
     560
    547561  <!-- limit -->
    548562  <div id="filter_limit">
    549563  <li id="filter_iiii" class="filter_limit">
    550564    <span class="filter-title">
    551       <a href="#" class="removeFilter" title="{'remove this filter'|@translate}"><span>[x]</span></a>
     565      <a href="#" class="removeFilter" title="{'remove this filter'|translate}"><span>[x]</span></a>
    552566      <input type="hidden" name="filters[iiii][type]" value="limit"/>
    553567      {$options.limit.name}
    554568    </span>
    555    
     569
    556570    <input type="hidden" name="filters[iiii][cond]" value="limit"/>
    557    
     571
    558572    <span class="filter-value">
    559573      <input type="text" name="filters[iiii][value]" size="5"/>
Note: See TracChangeset for help on using the changeset viewer.