Changeset 2348


Ignore:
Timestamp:
May 17, 2008, 10:16:45 PM (16 years ago)
Author:
vdigital
Message:

Bug 703: Authorization system in Cat management works now with well ordered lists

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/branch-1_7/admin/cat_perm.php

    r1962 r2348  
    244244;';
    245245$group_granted_ids = array_from_query($query, 'group_id');
    246 
     246$group_granted_ids = order_by_name($group_granted_ids, $groups);
    247247// groups granted to access the category
    248248foreach ($group_granted_ids as $group_id)
     
    256256    );
    257257}
    258 
     258$group_denied_ids = array_diff(array_keys($groups), $group_granted_ids);
     259$group_denied_ids = order_by_name($group_denied_ids, $groups);
    259260// groups denied
    260 foreach (array_diff(array_keys($groups), $group_granted_ids) as $group_id)
     261foreach ($group_denied_ids as $group_id)
    261262{
    262263  $template->assign_block_vars(
     
    289290;';
    290291$user_granted_direct_ids = array_from_query($query, 'user_id');
    291 
     292$user_granted_direct_ids = order_by_name($user_granted_direct_ids, $users);
    292293foreach ($user_granted_direct_ids as $user_id)
    293294{
     
    333334  $user_granted_indirect_ids = array_diff($user_granted_by_group_ids,
    334335                                          $user_granted_direct_ids);
    335  
     336  $user_granted_indirect_ids =
     337    order_by_name($user_granted_indirect_ids, $users);
    336338  foreach ($user_granted_indirect_ids as $user_id)
    337339  {
     
    360362                              $user_granted_indirect_ids,
    361363                              $user_granted_direct_ids);
    362 
     364$user_denied_ids = order_by_name($user_denied_ids, $users);
    363365foreach ($user_denied_ids as $user_id)
    364366{
     
    372374}
    373375
     376// Warning: this function breaks original keys
     377// This function should be move in the futur to ./include/functions_html.inc
     378function order_by_name($element_ids,$name)
     379{
     380  $ordered_element_ids = array();
     381  foreach ($element_ids as $k_id => $element_id)
     382  {
     383    $key = strtolower($name[$element_id]) .'-'. $name[$element_id] .'-'. $k_id;
     384    $ordered_element_ids[$key] = $element_id;
     385  }
     386  ksort($ordered_element_ids);
     387  return $ordered_element_ids;
     388}
    374389
    375390// +-----------------------------------------------------------------------+
Note: See TracChangeset for help on using the changeset viewer.