Changeset 13037


Ignore:
Timestamp:
Feb 6, 2012, 9:22:13 PM (9 years ago)
Author:
mistic100
Message:

merge r12872 from trunk
bug:2540 When default photos order is only by rank, failure outside albums

Location:
branches/2.3/admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2.3/admin/configuration.php

    r11978 r13037  
    135135          $order_by = array();
    136136          $order_by_inside_category = array();
     137         
    137138          for ($i=0; $i<count($_POST['order_by_field']); $i++)
    138139          {
    139             if ($i>5) continue;
    140             if ($_POST['order_by_field'][$i] == '')
     140            if ( $i >= (count($sort_fields)-1) ) break; // limit to the number of available parameters
     141            if ( empty($_POST['order_by_field'][$i]) )
    141142            {
    142143              array_push($page['errors'], l10n('No field selected'));
     144              break;
    143145            }
    144146            else
    145147            {
     148              // there is no rank outside categories
    146149              if ($_POST['order_by_field'][$i] != 'rank')
    147150              {
     
    151154            }
    152155          }
     156          // must define a default order_by if user want to order by rank only
     157          if ( count($order_by) == 0 )
     158          {
     159            $order_by = array('id ASC');
     160          }
     161         
    153162          $_POST['order_by'] = 'ORDER BY '.implode(', ', $order_by);
    154163          $_POST['order_by_inside_category'] = 'ORDER BY '.implode(', ', $order_by_inside_category);
     164          unset($_POST['order_by_field']);
    155165        }
    156166      }
  • branches/2.3/admin/themes/default/template/configuration.tpl

    r11978 r13037  
    116116   
    117117{if !$ORDER_BY_IS_CUSTOM}
    118 {footer_script require='jquery'}{literal}
     118{footer_script require='jquery'}
     119// counters for displaying of addFilter link
     120fields = {$main.order_by|@count}; max_fields = {$main.order_field_options|@count}; max_fields--;
     121
     122{literal}
     123function updateAddFilterLink() {
     124  if (fields >= max_fields) {
     125    $('.addFilter').css('display', 'none');
     126  } else {
     127    $('.addFilter').css('display', '');
     128  }
     129}
     130
     131function updateRemoveFilterTrigger() {
     132  $(".removeFilter").click(function () {
     133    $(this).parent('span.filter').remove();
     134    fields--;
     135    updateAddFilterLink();
     136  });
     137}
     138
    119139jQuery(document).ready(function () {
    120140  $('.addFilter').click(function() {
     
    123143    $(this).prev('span.filter').children('select[name="order_by_field[]"]').val('');
    124144    $(this).prev('span.filter').children('select[name="order_by_direction[]"]').val('ASC');
    125      
    126     $(".removeFilter").click(function () {
    127       $(this).parent('span.filter').remove();
    128     });
     145   
     146    fields++;
     147    updateAddFilterLink(); 
     148    updateRemoveFilterTrigger();
    129149  });
    130150 
    131   $(".removeFilter").click(function () {
    132     $(this).parent('span.filter').remove();
    133   });
     151  updateRemoveFilterTrigger();
     152  updateAddFilterLink();
    134153});
    135 {/literal}{/footer_script}
     154{/literal}
     155{/footer_script}
    136156{/if}
    137157  </ul>
Note: See TracChangeset for help on using the changeset viewer.