Dotclear

Changeset 2631:505e3c81524e


Ignore:
Timestamp:
01/14/14 11:01:59 (10 years ago)
Author:
Denis Jean-Christian <contact@…>
Branch:
2.6
Message:

array_multisort does not preserve keys and corupts numeric module id, fixes #1909

File:
1 edited

Legend:

Unmodified
Added
Removed
  • inc/admin/lib.moduleslist.php

    r2566 r2631  
    502502     public static function sortModules($modules, $field, $asc=true) 
    503503     { 
    504           $sorter = array(); 
     504          $origin = $sorter = array(); 
     505 
    505506          foreach($modules as $id => $module) { 
    506                $sorter[$id] = isset($module[$field]) ? $module[$field] : $field; 
    507           } 
    508           array_multisort($sorter, $asc ? SORT_ASC : SORT_DESC, $modules); 
    509  
    510           return $modules; 
     507               $origin[] = $module; 
     508               $sorter[] = isset($module[$field]) ? $module[$field] : $field; 
     509          } 
     510 
     511          array_multisort($sorter, $asc ? SORT_ASC : SORT_DESC, $origin); 
     512 
     513          foreach($origin as $module) { 
     514               $final[$module['id']] = $module; 
     515          } 
     516 
     517          return $final; 
    511518     } 
    512519 
Note: See TracChangeset for help on using the changeset viewer.

Sites map