} elseif ($action == 'db.dbs' or $action == 'dbs') {
if (true or self::p('hash') or self::p('all')) {
- $fields = ['id','name','title','type','host'];
+ $fields = ['id','name','title','type','host','order'];
$dbs = [];
$name = self::p('name','');
$type = self::p('type','');
foreach ($h as $db=>$o) { if (preg_match('/^_/',$db)) unset($h[$db]); }
# Add missing name
- foreach ($h as $db=>$o) { if (empty($o['name'])) $h[$db]['name'] = $db; }
+ foreach ($h as $db=>$o) {
+ if (empty($o['name'])) $h[$db]['name'] = $db;
+ if (empty($o['id'])) $h[$db]['id'] = $db;
+ }
# Sort
- uasort($h,create_function('$a,$b','$a_=isset($a["order"])?$a["order"]:-1;$b_=isset($b["order"])?$b["order"]:-1; return($b_-$a_);'));
+ uasort($h,function($a,$b){
+ if (empty($a["order"]) and empty($b["order"])) return strcmp($a['id'],$b['id']);
+ $a_ = isset($a["order"]) ? $a["order"] : -1;
+ $b_ = isset($b["order"]) ? $b["order"] : -1;
+ return($b_-$a_);
+ });
+
if (!$h) return false;
if ($first !== false) $first = self::ar_first($h);
return $h;