diff options
-rw-r--r-- | etc/inc/upgrade_config.inc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/etc/inc/upgrade_config.inc b/etc/inc/upgrade_config.inc index cc953ce..53da378 100644 --- a/etc/inc/upgrade_config.inc +++ b/etc/inc/upgrade_config.inc @@ -2796,9 +2796,11 @@ function upgrade_085_to_086() { write_config(); if (is_array($config['virtualips']['vip'])) { $vipchg = array(); - foreach ($config['virtualips']['vip'] as $vip) { - file_put_contents("{$g['tmp_path']}/vipreplace", "s/vip{$vip['vhid']}</{$vip['interface']}_vip{$vip['vhid']}/g\n"); - } + foreach ($config['virtualips']['vip'] as $vip) + $vipchg[$vip['vhid']] = $vip; + ksort($vipchg); + foreach (array_reverse($vipchg) as $vip) + file_put_contents("{$g['tmp_path']}/vipreplace", "s/vip{$vip['vhid']}/{$vip['interface']}_vip{$vip['vhid']}/g\n"); mwexec("/usr/bin/sed -I \"\" -f {$g['tmp_path']}/vipreplace /conf/config.xml"); require_once("config.lib.inc"); $config = parse_config(true); |