diff --git a/include/class_acl.inc b/include/class_acl.inc index 1fc26706dd7b0f1822eb7eb37616db80434f6c1c..67fb4925c5e4785bdf940c38bf120d9242b1da51 100644 --- a/include/class_acl.inc +++ b/include/class_acl.inc @@ -46,30 +46,6 @@ class acl ]; } - /*! - * \brief Function sort an array by elements priority - * - * \param Array $list Array to be sorted - */ - static function sort_by_priority ($list) - { - uksort($list, - function ($a, $b) - { - $infos_a = pluglist::pluginInfos(preg_replace('|^[^/]*/|', '', $a)); - $infos_b = pluglist::pluginInfos(preg_replace('|^[^/]*/|', '', $b)); - $pa = (isset($infos_a['plPriority']) ? $infos_a['plPriority'] : 0); - $pb = (isset($infos_b['plPriority']) ? $infos_b['plPriority'] : 0); - if ($pa == $pb) { - return 0; - } - return ($pa < $pb ? -1 : 1); - } - ); - - return $list; - } - /*! * \brief Explode a role * diff --git a/include/class_pluglist.inc b/include/class_pluglist.inc index 986c8b9fed3aaa27dd204315f98e237d40bcdcde..99b917fad3a04c896f558178cff4458a0e63f2a7 100644 --- a/include/class_pluglist.inc +++ b/include/class_pluglist.inc @@ -161,6 +161,10 @@ class pluglist if (isset($infos['plFilter'])) { $infos['plFilterObject'] = ldapFilter::parse($infos['plFilter']); } + if (isset($infos['plObjectType']) && !isset($infos['plPriority']) && !is_numeric(key($infos['plObjectType']))) { + /* Set main tab priority to 0 */ + $infos['plPriority'] = 0; + } $infos['plForeignRefs'] = []; $infos['INDEX'] = $index; $this->info[$cname] = $infos; diff --git a/plugins/admin/aclrole/class_aclEditionDialog.inc b/plugins/admin/aclrole/class_aclEditionDialog.inc index aad8aa9e9c3b10e3e863ff5e6c5a41422e74cb9a..454508826815b32542238ebfd2a8cc4e2163b143 100644 --- a/plugins/admin/aclrole/class_aclEditionDialog.inc +++ b/plugins/admin/aclrole/class_aclEditionDialog.inc @@ -272,7 +272,6 @@ class ACLEditionDialog extends GenericDialog $cols = 3; $tmp = session::get('plist'); $plist = $tmp->info; - asort($plist); /* Add select all/none buttons */ $style = 'style="width:100px;"'; @@ -305,7 +304,6 @@ class ACLEditionDialog extends GenericDialog $display .= '<input '.$style.' type="button" name="set_true_all_write" onClick="acl_set_all(\'[^0]_w$\',true);" value="W+"/>'; $display .= '<input '.$style.' type="button" name="set_false_all_write" onClick="acl_set_all(\'[^0]_w$\',false);" value="W-"/>'; - $list = acl::sort_by_priority($list); foreach ($list as $key => $name) { /* Create sub acl if it does not exist */ if (!isset($this->aclContents[$key])) {