Skip to content

Commit 3d27ad4

Browse files
Merge pull request hestiacp#738 from Flatta/fix-listdbhosts-call
Fix /edit/server/ always says database unsupported
2 parents b3cf2ef + ed37ce4 commit 3d27ad4

File tree

5 files changed

+83
-89
lines changed

5 files changed

+83
-89
lines changed

bin/v-list-database-hosts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ json_list() {
2828
fi
2929
done
3030

31-
echo "{"
31+
echo "["
3232
for type in $(echo $DB_SYSTEM |sed -e 's/,/\n/'); do
3333
if [ -e "$VESTA/conf/$type.conf" ]; then
3434
for str in $(cat $VESTA/conf/$type.conf); do
3535
eval $str
36-
echo -n ' "'$HOST'": {
36+
echo -n ' {
3737
"HOST": "'$HOST'",
3838
"TYPE": "'$type'",
3939
"CHARSETS": "'$CHARSETS'",
@@ -54,7 +54,7 @@ json_list() {
5454
done
5555
fi
5656
done
57-
echo '}'
57+
echo ']'
5858
}
5959

6060
# SHELL list function

web/add/db/index.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,13 @@
120120
$db_types = split(",",$_SESSION['DB_SYSTEM']);
121121

122122
// List available database servers
123-
$db_hosts = array();
124-
exec (VESTA_CMD."v-list-database-hosts 'json'", $output, $return_var);
125-
$db_hosts_tmp = json_decode(implode('', $output), true);
126-
$db_hosts = array_merge($db_hosts, $db_hosts_tmp);
127-
unset($db_hosts_tmp);
123+
exec (VESTA_CMD."v-list-database-hosts json", $output, $return_var);
124+
$db_hosts_tmp1 = json_decode(implode('', $output), true);
125+
$db_hosts_tmp2 = array_map(function($host){return $host['HOST'];}, $db_hosts_tmp1);
126+
$db_hosts = array_values(array_unique($db_hosts_tmp2));
128127
unset($output);
128+
unset($db_hosts_tmp1);
129+
unset($db_hosts_tmp2);
129130

130131
// Display body
131132
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_db.html');
@@ -136,4 +137,3 @@
136137

137138
// Footer
138139
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
139-
?>

web/edit/server/index.php

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,15 @@
4646
$v_dns_cluster = 'yes';
4747
}
4848

49-
// List MySQL hosts
50-
exec (VESTA_CMD."v-list-database-hosts mysql json", $output, $return_var);
51-
$v_mysql_hosts = json_decode(implode('', $output), true);
49+
// List Database hosts
50+
exec (VESTA_CMD."v-list-database-hosts json", $output, $return_var);
51+
$db_hosts = json_decode(implode('', $output), true);
5252
unset($output);
53-
foreach ($v_mysql_hosts as $key => $value) {
54-
$v_mysql = 'yes';
55-
}
56-
57-
// List PostgreSQL hosts
58-
exec (VESTA_CMD."v-list-database-hosts pgsql json", $output, $return_var);
59-
$v_pgsql_hosts = json_decode(implode('', $output), true);
60-
unset($output);
61-
foreach ($v_pgsql_hosts as $key => $value) {
62-
$v_pgsql = 'yes';
63-
}
53+
$v_mysql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'mysql';}));
54+
$v_mysql = count($v_mysql_hosts) ? 'yes' : 'no';
55+
$v_pgsql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'pgsql';}));
56+
$v_pgsql = count($v_pgsql_hosts) ? 'yes' : 'no';
57+
unset($db_hosts);
6458

6559
// List backup settings
6660
$v_backup_dir = "/backup";

web/templates/admin/add_db.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
</tr>
6969
<tr>
7070
<td class="vst-text input-label">
71-
<?php print __('Database');?>
71+
<?php print __('Database');?>
7272
</td>
7373
</tr>
7474
<tr>
@@ -79,7 +79,7 @@
7979
</tr>
8080
<tr>
8181
<td class="vst-text input-label">
82-
<?php print __('User');?>
82+
<?php print __('User');?>
8383
</td>
8484
</tr>
8585
<tr>
@@ -100,7 +100,7 @@
100100
</tr>
101101
<tr>
102102
<td class="vst-text input-label">
103-
<?php print __('Type');?>
103+
<?php print __('Type');?>
104104
</td>
105105
</tr>
106106
<tr>
@@ -112,32 +112,32 @@
112112
if ((!empty($v_type)) && ( $value == $v_type )) echo ' selected';
113113
echo ">".htmlentities($value)."</option>";
114114
}
115-
?>
115+
?>
116116
</select>
117117
</td>
118118
</tr>
119119
<tr>
120120
<td class="vst-text input-label">
121-
<?php print __('Host');?>
121+
<?php print __('Host');?>
122122
</td>
123123
</tr>
124124
<tr>
125125
<td>
126126
<select class="vst-list" name="v_host">
127127
<?php
128-
foreach ($db_hosts as $key => $value) {
129-
echo "\n\t\t\t\t\t\t\t\t\t\t<option value=\"".htmlentities($key)."\"";
130-
if ((!empty($v_host)) && ( $key == $v_host )) echo ' selected';
131-
echo ">".htmlentities($key)."</option>";
128+
foreach ($db_hosts as $value) {
129+
echo "\n\t\t\t\t\t\t\t\t\t\t<option value=\"".htmlentities($value)."\"";
130+
if ((!empty($v_host)) && ( $value == $v_host )) echo ' selected';
131+
echo ">".htmlentities($value)."</option>";
132132
}
133-
?>
133+
?>
134134
</select>
135135
</td>
136136
</tr>
137137

138138
<tr>
139139
<td class="vst-text input-label">
140-
<?php print __('Charset');?>
140+
<?php print __('Charset');?>
141141
</td>
142142
</tr>
143143
<tr>
@@ -183,7 +183,7 @@
183183
</td>
184184
<tr>
185185
<td class="vst-text input-label">
186-
<?php print __('Send login credentials to email address') ?>
186+
<?php print __('Send login credentials to email address') ?>
187187
</td>
188188
</tr>
189189
<tr>

0 commit comments

Comments
 (0)