Changeset 12872


Ignore:
Timestamp:
01/10/12 21:50:25 (8 years ago)
Author:
mistic100
Message:

bug:2540 When default photos order is only by rank, failure outside albums
define a default order_by + some javascript for limit number of fields

Location:
trunk/admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/configuration.php

    r12782 r12872  
    136136          $order_by = array(); 
    137137          $order_by_inside_category = array(); 
     138           
    138139          for ($i=0; $i<count($_POST['order_by_field']); $i++) 
    139140          { 
    140             if ($i>5) continue; 
    141             if ($_POST['order_by_field'][$i] == '') 
     141            if ( $i >= (count($sort_fields)-1) ) break; // limit to the number of available parameters 
     142            if ( empty($_POST['order_by_field'][$i]) ) 
    142143            { 
    143144              array_push($page['errors'], l10n('No field selected')); 
     145              break; 
    144146            } 
    145147            else 
    146148            { 
     149              // there is no rank outside categories 
    147150              if ($_POST['order_by_field'][$i] != 'rank') 
    148151              { 
     
    152155            } 
    153156          } 
     157          // must define a default order_by if user want to order by rank only 
     158          if ( count($order_by) == 0 ) 
     159          { 
     160            $order_by = array('id ASC'); 
     161          } 
     162           
    154163          $_POST['order_by'] = 'ORDER BY '.implode(', ', $order_by); 
    155164          $_POST['order_by_inside_category'] = 'ORDER BY '.implode(', ', $order_by_inside_category); 
     165          unset($_POST['order_by_field']); 
    156166        } 
    157167      } 
  • trunk/admin/themes/default/template/configuration.tpl

    r12681 r12872  
    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.