Fix PHP 7.x compatibility issues in Vesta Control Panel

Co-authored-by: peca <peca@mycity.rs>
This commit is contained in:
Cursor Agent 2025-08-10 12:55:40 +00:00
commit 07e8760e60
29 changed files with 128 additions and 43 deletions

View file

@ -1,4 +1,4 @@
<? <?php
error_reporting(NULL); error_reporting(NULL);
session_start(); session_start();

View file

@ -36,11 +36,13 @@ if ($v_timezone == 'America/Halifax' ) $v_timezone = 'ADT';
// List supported languages // List supported languages
exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var); exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var);
$languages = json_decode(implode('', $output), true); $languages = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($languages)) { $languages = array(); }
unset($output); unset($output);
// List dns cluster hosts // List dns cluster hosts
exec (VESTA_CMD."v-list-remote-dns-hosts json", $output, $return_var); exec (VESTA_CMD."v-list-remote-dns-hosts json", $output, $return_var);
$dns_cluster = json_decode(implode('', $output), true); $dns_cluster = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($dns_cluster)) { $dns_cluster = array(); }
unset($output); unset($output);
foreach ($dns_cluster as $key => $value) { foreach ($dns_cluster as $key => $value) {
$v_dns_cluster = 'yes'; $v_dns_cluster = 'yes';
@ -49,11 +51,12 @@ foreach ($dns_cluster as $key => $value) {
// List Database hosts // List Database hosts
exec (VESTA_CMD."v-list-database-hosts json", $output, $return_var); exec (VESTA_CMD."v-list-database-hosts json", $output, $return_var);
$db_hosts = json_decode(implode('', $output), true); $db_hosts = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($db_hosts)) { $db_hosts = array(); }
unset($output); unset($output);
$v_mysql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'mysql';})); $v_mysql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'mysql';}));
$v_mysql = count($v_mysql_hosts) ? 'yes' : 'no'; $v_mysql = (version_compare(PHP_VERSION, '5.6', '==') ? count($v_mysql_hosts) : (is_array($v_mysql_hosts) ? count($v_mysql_hosts) : 0)) ? 'yes' : 'no';
$v_pgsql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'pgsql';})); $v_pgsql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'pgsql';}));
$v_pgsql = count($v_pgsql_hosts) ? 'yes' : 'no'; $v_pgsql = (version_compare(PHP_VERSION, '5.6', '==') ? count($v_pgsql_hosts) : (is_array($v_pgsql_hosts) ? count($v_pgsql_hosts) : 0)) ? 'yes' : 'no';
unset($db_hosts); unset($db_hosts);
// List backup settings // List backup settings
@ -81,12 +84,14 @@ foreach ($backup_types as $backup_type) {
// List ssl web domains // List ssl web domains
exec (VESTA_CMD."v-search-ssl-certificates json", $output, $return_var); exec (VESTA_CMD."v-search-ssl-certificates json", $output, $return_var);
$v_ssl_domains = json_decode(implode('', $output), true); $v_ssl_domains = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($v_ssl_domains)) { $v_ssl_domains = array(); }
//$v_vesta_certificate //$v_vesta_certificate
unset($output); unset($output);
// List ssl certificate info // List ssl certificate info
exec (VESTA_CMD."v-list-sys-vesta-ssl json", $output, $return_var); exec (VESTA_CMD."v-list-sys-vesta-ssl json", $output, $return_var);
$v_sys_ssl_str = json_decode(implode('', $output), true); $v_sys_ssl_str = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($v_sys_ssl_str)) { $v_sys_ssl_str = array('VESTA'=>array()); }
unset($output); unset($output);
$v_sys_ssl_crt = $v_sys_ssl_str['VESTA']['CRT']; $v_sys_ssl_crt = $v_sys_ssl_str['VESTA']['CRT'];
$v_sys_ssl_key = $v_sys_ssl_str['VESTA']['KEY']; $v_sys_ssl_key = $v_sys_ssl_str['VESTA']['KEY'];
@ -103,6 +108,7 @@ $v_sys_ssl_issuer = $v_sys_ssl_str['VESTA']['ISSUER'];
if (!empty($_SESSION['VESTA_CERTIFICATE'])); { if (!empty($_SESSION['VESTA_CERTIFICATE'])); {
exec (VESTA_CMD."v-list-sys-mail-ssl json", $output, $return_var); exec (VESTA_CMD."v-list-sys-mail-ssl json", $output, $return_var);
$v_mail_ssl_str = json_decode(implode('', $output), true); $v_mail_ssl_str = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($v_mail_ssl_str)) { $v_mail_ssl_str = array('MAIL'=>array()); }
unset($output); unset($output);
$v_mail_ssl_crt = $v_mail_ssl_str['MAIL']['CRT']; $v_mail_ssl_crt = $v_mail_ssl_str['MAIL']['CRT'];
$v_mail_ssl_key = $v_mail_ssl_str['MAIL']['KEY']; $v_mail_ssl_key = $v_mail_ssl_str['MAIL']['KEY'];
@ -242,6 +248,7 @@ if (!empty($_POST['save'])) {
// List SSL certificate info // List SSL certificate info
exec (VESTA_CMD."v-list-sys-mail-ssl json", $output, $return_var); exec (VESTA_CMD."v-list-sys-mail-ssl json", $output, $return_var);
$v_mail_ssl_str = json_decode(implode('', $output), true); $v_mail_ssl_str = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($v_mail_ssl_str)) { $v_mail_ssl_str = array('MAIL'=>array()); }
unset($output); unset($output);
$v_mail_ssl_crt = $v_mail_ssl_str['MAIL']['CRT']; $v_mail_ssl_crt = $v_mail_ssl_str['MAIL']['CRT'];
$v_mail_ssl_key = $v_mail_ssl_str['MAIL']['KEY']; $v_mail_ssl_key = $v_mail_ssl_str['MAIL']['KEY'];

View file

@ -89,7 +89,11 @@ function detect_user_language($fallback='en') {
$accept_langs_sorted[$code] = (double)$q; $accept_langs_sorted[$code] = (double)$q;
} }
} }
if (version_compare(PHP_VERSION, '5.6', '==')) {
arsort($accept_langs_sorted); arsort($accept_langs_sorted);
} else {
if (!empty($accept_langs_sorted)) { arsort($accept_langs_sorted); }
}
// List languages // List languages
exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var); exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var);

View file

@ -109,8 +109,13 @@ if (isset($_SESSION['look']) && ( $_SESSION['look'] != 'admin' )) {
function get_favourites(){ function get_favourites(){
exec (VESTA_CMD."v-list-user-favourites ".$_SESSION['user']." json", $output, $return_var); exec (VESTA_CMD."v-list-user-favourites ".$_SESSION['user']." json", $output, $return_var);
// $data = json_decode(implode('', $output).'}', true); // $data = json_decode(implode('', $output).'}', true);
if (version_compare(PHP_VERSION, '5.6', '==')) {
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); $data = array_reverse($data, true);
} else {
$data = json_decode(implode('', $output), true);
$data = is_array($data) ? array_reverse($data, true) : array();
}
$favourites = array(); $favourites = array();
foreach($data['Favourites'] as $key => $favourite){ foreach($data['Favourites'] as $key => $favourite){
@ -188,16 +193,26 @@ function top_panel($user, $TAB) {
header("Location: /error/"); header("Location: /error/");
exit; exit;
} }
if (version_compare(PHP_VERSION, '5.6', '==')) {
$panel = json_decode(implode('', $output), true); $panel = json_decode(implode('', $output), true);
} else {
$panel = json_decode(implode('', $output), true);
if (!is_array($panel)) { $panel = array(); }
}
unset($output); unset($output);
// getting notifications // getting notifications
$command = VESTA_CMD."v-list-user-notifications '".$user."' 'json'"; $command = VESTA_CMD."v-list-user-notifications '".$user."' 'json'";
exec ($command, $output, $return_var); exec ($command, $output, $return_var);
if (version_compare(PHP_VERSION, '5.6', '==')) {
$notifications = json_decode(implode('', $output), true); $notifications = json_decode(implode('', $output), true);
} else {
$notifications = json_decode(implode('', $output), true);
if (!is_array($notifications)) { $notifications = array(); }
}
foreach($notifications as $message){ foreach($notifications as $message){
if($message['ACK'] == 'no'){ if(isset($message['ACK']) && $message['ACK'] == 'no'){
$panel[$user]['NOTIFICATIONS'] = 'yes'; $panel[$user]['NOTIFICATIONS'] = 'yes';
break; break;
} }
@ -214,7 +229,14 @@ function top_panel($user, $TAB) {
function translate_date($date){ function translate_date($date){
$date = strtotime($date); $date = strtotime($date);
if (version_compare(PHP_VERSION, '5.6', '==')) {
return strftime("%d &nbsp;", $date).__(strftime("%b", $date)).strftime(" &nbsp;%Y", $date); return strftime("%d &nbsp;", $date).__(strftime("%b", $date)).strftime(" &nbsp;%Y", $date);
} else {
$day = date('d', $date);
$mon = date('M', $date);
$year = date('Y', $date);
return $day.' &nbsp;'.__($mon).' &nbsp;'.$year;
}
} }
function humanize_time($usage) { function humanize_time($usage) {

View file

@ -9,14 +9,14 @@ include($_SERVER['DOCUMENT_ROOT'].'/inc/main.php');
if (empty($_GET['backup'])){ if (empty($_GET['backup'])){
exec (VESTA_CMD."v-list-user-backups $user json", $output, $return_var); exec (VESTA_CMD."v-list-user-backups $user json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data,true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data,true); } else { $data = is_array($data) ? array_reverse($data,true) : array(); }
unset($output); unset($output);
render_page($user, $TAB, 'list_backup'); render_page($user, $TAB, 'list_backup');
} else { } else {
exec (VESTA_CMD."v-list-user-backup $user ".escapeshellarg($_GET['backup'])." json", $output, $return_var); exec (VESTA_CMD."v-list-user-backup $user ".escapeshellarg($_GET['backup'])." json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data,true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data,true); } else { $data = is_array($data) ? array_reverse($data,true) : array(); }
unset($output); unset($output);
render_page($user, $TAB, 'list_backup_detail'); render_page($user, $TAB, 'list_backup_detail');

View file

@ -8,7 +8,7 @@ include($_SERVER['DOCUMENT_ROOT'].'/inc/main.php');
// Data // Data
exec (VESTA_CMD."v-list-cron-jobs $user json", $output, $return_var); exec (VESTA_CMD."v-list-cron-jobs $user json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data,true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data,true); } else { $data = is_array($data) ? array_reverse($data,true) : array(); }
unset($output); unset($output);
// Render page // Render page

View file

@ -8,7 +8,7 @@ include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
// Data // Data
exec (VESTA_CMD."v-list-databases $user json", $output, $return_var); exec (VESTA_CMD."v-list-databases $user json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
// Render page // Render page

View file

@ -22,6 +22,7 @@ if (empty($panel)) {
exit; exit;
} }
$panel = json_decode(implode('', $output), true); $panel = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($panel)) { $panel = array(); }
} }
$path_a = !empty($_REQUEST['dir_a']) ? htmlentities($_REQUEST['dir_a']) : ''; $path_a = !empty($_REQUEST['dir_a']) ? htmlentities($_REQUEST['dir_a']) : '';

View file

@ -9,14 +9,14 @@ include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
if (empty($_GET['domain'])){ if (empty($_GET['domain'])){
exec (VESTA_CMD."v-list-dns-domains ".escapeshellarg($user)." json", $output, $return_var); exec (VESTA_CMD."v-list-dns-domains ".escapeshellarg($user)." json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
render_page($user, $TAB, 'list_dns'); render_page($user, $TAB, 'list_dns');
} else { } else {
exec (VESTA_CMD."v-list-dns-records ".escapeshellarg($user)." ".escapeshellarg($_GET['domain'])." json", $output, $return_var); exec (VESTA_CMD."v-list-dns-records ".escapeshellarg($user)." ".escapeshellarg($_GET['domain'])." json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
render_page($user, $TAB, 'list_dns_rec'); render_page($user, $TAB, 'list_dns_rec');

View file

@ -14,7 +14,7 @@ if ($_SESSION['user'] != 'admin') {
// Data // Data
exec (VESTA_CMD."v-list-firewall-ban json", $output, $return_var); exec (VESTA_CMD."v-list-firewall-ban json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
// Render page // Render page

View file

@ -1,8 +1,8 @@
<? <?php
error_reporting(NULL); error_reporting(NULL);
session_start(); session_start();
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php"); include($_SERVER['DOCUMENT_ROOT'].'/inc/main.php');
if (!function_exists('str_contains')) { if (!function_exists('str_contains')) {
function str_contains($haystack, $needle) function str_contains($haystack, $needle)

View file

@ -14,7 +14,7 @@ if ($_SESSION['user'] != 'admin') {
// Data // Data
exec (VESTA_CMD."v-list-firewall json", $output, $return_var); exec (VESTA_CMD."v-list-firewall json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
// Render page // Render page

View file

@ -15,7 +15,7 @@ if ($_SESSION['user'] != 'admin') {
// Data // Data
exec (VESTA_CMD."v-list-sys-ips json", $output, $return_var); exec (VESTA_CMD."v-list-sys-ips json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
// Render page // Render page

View file

@ -9,14 +9,14 @@ include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
if (empty($_GET['domain'])){ if (empty($_GET['domain'])){
exec (VESTA_CMD."v-list-mail-domains ".escapeshellarg($user)." json", $output, $return_var); exec (VESTA_CMD."v-list-mail-domains ".escapeshellarg($user)." json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
render_page($user, $TAB, 'list_mail'); render_page($user, $TAB, 'list_mail');
} else { } else {
exec (VESTA_CMD."v-list-mail-accounts ".escapeshellarg($user)." ".escapeshellarg($_GET['domain'])." json", $output, $return_var); exec (VESTA_CMD."v-list-mail-accounts ".escapeshellarg($user)." ".escapeshellarg($_GET['domain'])." json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
render_page($user, $TAB, 'list_mail_acc'); render_page($user, $TAB, 'list_mail_acc');

View file

@ -9,7 +9,7 @@ if($_REQUEST['ajax'] == 1){
// Data // Data
exec (VESTA_CMD."v-list-user-notifications $user json", $output, $return_var); exec (VESTA_CMD."v-list-user-notifications $user json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data,true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data,true); } else { $data = is_array($data) ? array_reverse($data,true) : array(); }
foreach($data as $key => $note){ foreach($data as $key => $note){
$note['ID'] = $key; $note['ID'] = $key;
$data[$key] = $note; $data[$key] = $note;
@ -25,7 +25,7 @@ $TAB = 'NOTIFICATIONS';
// Data // Data
exec (VESTA_CMD."v-list-user-notifications $user json", $output, $return_var); exec (VESTA_CMD."v-list-user-notifications $user json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data,true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data,true); } else { $data = is_array($data) ? array_reverse($data,true) : array(); }
// Render page // Render page
render_page($user, $TAB, 'list_notifications'); render_page($user, $TAB, 'list_notifications');

View file

@ -15,6 +15,7 @@ if ($_SESSION['user'] != 'admin') {
// Data // Data
exec (VESTA_CMD."v-list-user-packages json", $output, $return_var); exec (VESTA_CMD."v-list-user-packages json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($data)) { $data = array(); }
unset($output); unset($output);
// Render page // Render page

View file

@ -18,6 +18,7 @@ if (!empty($_GET['period'])) {
// Data // Data
exec (VESTA_CMD."v-list-sys-rrd json", $output, $return_var); exec (VESTA_CMD."v-list-sys-rrd json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($data)) { $data = array(); }
unset($output); unset($output);
// Render page // Render page

View file

@ -116,9 +116,11 @@ if (isset($_GET['db'])) {
// Data // Data
exec (VESTA_CMD."v-list-sys-info json", $output, $return_var); exec (VESTA_CMD."v-list-sys-info json", $output, $return_var);
$sys = json_decode(implode('', $output), true); $sys = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($sys)) { $sys = array(); }
unset($output); unset($output);
exec (VESTA_CMD."v-list-sys-services json", $output, $return_var); exec (VESTA_CMD."v-list-sys-services json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($data)) { $data = array(); }
unset($output); unset($output);
// Render page // Render page

View file

@ -10,13 +10,13 @@ if ($user == 'admin') {
if (empty($_GET['user'])) { if (empty($_GET['user'])) {
exec (VESTA_CMD."v-list-users-stats json", $output, $return_var); exec (VESTA_CMD."v-list-users-stats json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
} else { } else {
$v_user = escapeshellarg($_GET['user']); $v_user = escapeshellarg($_GET['user']);
exec (VESTA_CMD."v-list-user-stats $v_user json", $output, $return_var); exec (VESTA_CMD."v-list-user-stats $v_user json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
} }
@ -26,7 +26,7 @@ if ($user == 'admin') {
} else { } else {
exec (VESTA_CMD."v-list-user-stats $user json", $output, $return_var); exec (VESTA_CMD."v-list-user-stats $user json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data, true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data, true); } else { $data = is_array($data) ? array_reverse($data, true) : array(); }
unset($output); unset($output);
} }

View file

@ -14,6 +14,7 @@ if ($_SESSION['user'] != 'admin') {
// Data // Data
exec (VESTA_CMD."v-list-sys-vesta-updates json", $output, $return_var); exec (VESTA_CMD."v-list-sys-vesta-updates json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($data)) { $data = array(); }
unset($output); unset($output);
exec (VESTA_CMD."v-list-sys-vesta-autoupdate plain", $output, $return_var); exec (VESTA_CMD."v-list-sys-vesta-autoupdate plain", $output, $return_var);
$autoupdate = $output['0']; $autoupdate = $output['0'];

View file

@ -12,7 +12,7 @@ if ($user == 'admin') {
exec (VESTA_CMD . "v-list-user ".$user." json", $output, $return_var); exec (VESTA_CMD . "v-list-user ".$user." json", $output, $return_var);
} }
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data,true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data,true); } else { $data = is_array($data) ? array_reverse($data,true) : array(); }
// Check and get changelog if needed // Check and get changelog if needed
if ($user == 'admin') { if ($user == 'admin') {

View file

@ -8,7 +8,7 @@ include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
// Data // Data
exec (VESTA_CMD."v-list-web-domains $user json", $output, $return_var); exec (VESTA_CMD."v-list-web-domains $user json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data,true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data,true); } else { $data = is_array($data) ? array_reverse($data,true) : array(); }
$ips = json_decode(shell_exec(VESTA_CMD.'v-list-sys-ips json'), true); $ips = json_decode(shell_exec(VESTA_CMD.'v-list-sys-ips json'), true);
// Render page // Render page

View file

@ -27,7 +27,12 @@ if (isset($_SESSION['user'])) {
if ($_SESSION['user'] == 'admin' && !empty($_GET['loginas'])) { if ($_SESSION['user'] == 'admin' && !empty($_GET['loginas'])) {
exec (VESTA_CMD . "v-list-user ".escapeshellarg($_GET['loginas'])." json", $output, $return_var); exec (VESTA_CMD . "v-list-user ".escapeshellarg($_GET['loginas'])." json", $output, $return_var);
if ( $return_var == 0 ) { if ( $return_var == 0 ) {
if (version_compare(PHP_VERSION, '5.6', '==')) {
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
} else {
$data = json_decode(implode('', $output), true);
if (!is_array($data)) { $data = array(); }
}
reset($data); reset($data);
$_SESSION['look'] = key($data); $_SESSION['look'] = key($data);
$_SESSION['look_alert'] = 'yes'; $_SESSION['look_alert'] = 'yes';
@ -51,7 +56,12 @@ if (isset($_POST['user']) && isset($_POST['password'])) {
// Get user's salt // Get user's salt
$output = ''; $output = '';
exec (VESTA_CMD."v-get-user-salt ".$v_user." ".$v_ip." json" , $output, $return_var); exec (VESTA_CMD."v-get-user-salt ".$v_user." ".$v_ip." json" , $output, $return_var);
if (version_compare(PHP_VERSION, '5.6', '==')) {
$pam = json_decode(implode('', $output), true); $pam = json_decode(implode('', $output), true);
} else {
$pam = json_decode(implode('', $output), true);
if (!is_array($pam)) { $pam = array(); }
}
if ( $return_var > 0 ) { if ( $return_var > 0 ) {
$ERROR = "<a class=\"error\">".__('Invalid username or password')."</a>"; $ERROR = "<a class=\"error\">".__('Invalid username or password')."</a>";
} else { } else {
@ -94,7 +104,12 @@ if (isset($_POST['user']) && isset($_POST['password'])) {
// Get user speciefic parameters // Get user speciefic parameters
exec (VESTA_CMD . "v-list-user ".$v_user." json", $output, $return_var); exec (VESTA_CMD . "v-list-user ".$v_user." json", $output, $return_var);
if (version_compare(PHP_VERSION, '5.6', '==')) {
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
} else {
$data = json_decode(implode('', $output), true);
if (!is_array($data)) { $data = array(); }
}
// Define session user // Define session user
$_SESSION['user'] = key($data); $_SESSION['user'] = key($data);
@ -106,7 +121,12 @@ if (isset($_POST['user']) && isset($_POST['password'])) {
// Define language // Define language
$output = ''; $output = '';
exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var); exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var);
if (version_compare(PHP_VERSION, '5.6', '==')) {
$languages = json_decode(implode('', $output), true); $languages = json_decode(implode('', $output), true);
} else {
$languages = json_decode(implode('', $output), true);
if (!is_array($languages)) { $languages = array(); }
}
if (in_array($data[$v_user]['LANGUAGE'], $languages)){ if (in_array($data[$v_user]['LANGUAGE'], $languages)){
$_SESSION['language'] = $data[$v_user]['LANGUAGE']; $_SESSION['language'] = $data[$v_user]['LANGUAGE'];
} else { } else {
@ -135,7 +155,12 @@ if (isset($_POST['user']) && isset($_POST['password'])) {
// Check system configuration // Check system configuration
exec (VESTA_CMD . "v-list-sys-config json", $output, $return_var); exec (VESTA_CMD . "v-list-sys-config json", $output, $return_var);
if (version_compare(PHP_VERSION, '5.6', '==')) {
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
} else {
$data = json_decode(implode('', $output), true);
if (!is_array($data)) { $data = array('config' => array()); }
}
$sys_arr = $data['config']; $sys_arr = $data['config'];
foreach ($sys_arr as $key => $value) { foreach ($sys_arr as $key => $value) {
$_SESSION[$key] = $value; $_SESSION[$key] = $value;
@ -145,12 +170,22 @@ foreach ($sys_arr as $key => $value) {
if (empty($_SESSION['language'])) { if (empty($_SESSION['language'])) {
$output = ''; $output = '';
exec (VESTA_CMD."v-list-sys-config json", $output, $return_var); exec (VESTA_CMD."v-list-sys-config json", $output, $return_var);
if (version_compare(PHP_VERSION, '5.6', '==')) {
$config = json_decode(implode('', $output), true); $config = json_decode(implode('', $output), true);
} else {
$config = json_decode(implode('', $output), true);
if (!is_array($config)) { $config = array('config' => array('LANGUAGE' => 'en')); }
}
$lang = $config['config']['LANGUAGE']; $lang = $config['config']['LANGUAGE'];
$output = ''; $output = '';
exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var); exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var);
if (version_compare(PHP_VERSION, '5.6', '==')) {
$languages = json_decode(implode('', $output), true); $languages = json_decode(implode('', $output), true);
} else {
$languages = json_decode(implode('', $output), true);
if (!is_array($languages)) { $languages = array(); }
}
if(in_array($lang, $languages)){ if(in_array($lang, $languages)){
$_SESSION['language'] = $lang; $_SESSION['language'] = $lang;
} }

View file

@ -24,7 +24,12 @@ if ((!empty($_POST['user'])) && (empty($_POST['code']))) {
$cmd="/usr/bin/sudo /usr/local/vesta/bin/v-list-user"; $cmd="/usr/bin/sudo /usr/local/vesta/bin/v-list-user";
exec ($cmd." ".$v_user." json", $output, $return_var); exec ($cmd." ".$v_user." json", $output, $return_var);
if ( $return_var == 0 ) { if ( $return_var == 0 ) {
if (version_compare(PHP_VERSION, '5.6', '==')) {
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
} else {
$data = json_decode(implode('', $output), true);
if (!is_array($data)) { $data = array(); }
}
unset($output); unset($output);
exec("/usr/bin/sudo /usr/local/vesta/bin/v-get-user-value ".$v_user." RKEYEXP", $output, $return_var); exec("/usr/bin/sudo /usr/local/vesta/bin/v-get-user-value ".$v_user." RKEYEXP", $output, $return_var);
$rkeyexp = trim(implode('', $output)); $rkeyexp = trim(implode('', $output));
@ -84,7 +89,12 @@ if ((!empty($_POST['user'])) && (!empty($_POST['code'])) && (!empty($_POST['pass
$cmd="/usr/bin/sudo /usr/local/vesta/bin/v-list-user"; $cmd="/usr/bin/sudo /usr/local/vesta/bin/v-list-user";
exec ($cmd." ".$v_user." json", $output, $return_var); exec ($cmd." ".$v_user." json", $output, $return_var);
if ( $return_var == 0 ) { if ( $return_var == 0 ) {
if (version_compare(PHP_VERSION, '5.6', '==')) {
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
} else {
$data = json_decode(implode('', $output), true);
if (!is_array($data)) { $data = array(); }
}
unset($output); unset($output);
$rkey = $data[$user]['RKEY']; $rkey = $data[$user]['RKEY'];
if (hash_equals($rkey, $_POST['code'])) { if (hash_equals($rkey, $_POST['code'])) {

View file

@ -28,6 +28,7 @@ $command = $_SESSION['user'] == 'admin'
exec (VESTA_CMD . $command, $output, $return_var); exec (VESTA_CMD . $command, $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
if (version_compare(PHP_VERSION, '5.6', '!=') && !is_array($data)) { $data = array(); }
// Render page // Render page
render_page($user, $TAB, 'list_search'); render_page($user, $TAB, 'list_search');

View file

@ -253,7 +253,7 @@
</tr> </tr>
<tr> <tr>
<td class="vst-text step-top"> <td class="vst-text step-top">
<label><input type="checkbox" size="20" class="vst-checkbox" name="v_ftp" <?php if (!empty($v_ftp) && count($v_ftp_users)) echo "checked=yes" ?> onclick="App.Actions.WEB.toggle_additional_ftp_accounts(this)"> <?php print __('Additional FTP Account');?></label> <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ftp" <?php if (!empty($v_ftp) && (version_compare(PHP_VERSION, '5.6', '==') ? count($v_ftp_users) : (is_array($v_ftp_users) && count($v_ftp_users)))) echo "checked=yes" ?> onclick="App.Actions.WEB.toggle_additional_ftp_accounts(this)"> <?php print __('Additional FTP Account');?></label>
</td> </td>
</tr> </tr>
<tr> <tr>

View file

@ -74,7 +74,7 @@
<!-- /.l-unit__col --> <!-- /.l-unit__col -->
<div class="l-unit__col l-unit__col--right"> <div class="l-unit__col l-unit__col--right">
<div class="l-unit__name separate"> <div class="l-unit__name separate">
<?=__(strftime("%b", strtotime($key))).strftime(" %Y", strtotime($key))?> <?php if (version_compare(PHP_VERSION, '5.6', '==')) { echo __(strftime("%b", strtotime($key))).strftime(" %Y", strtotime($key)); } else { echo __(date('M', strtotime($key))).date(' Y', strtotime($key)); } ?>
</div> </div>

View file

@ -64,7 +64,7 @@
$output=''; $output='';
exec (VESTA_CMD . "v-list-user ".$GLOBALS['CURRENT_USER_FINAL']." json", $output, $return_var); exec (VESTA_CMD . "v-list-user ".$GLOBALS['CURRENT_USER_FINAL']." json", $output, $return_var);
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
$data = array_reverse($data,true); if (version_compare(PHP_VERSION, '5.6', '==')) { $data = array_reverse($data,true); } else { $data = is_array($data) ? array_reverse($data,true) : array(); }
//print_r($data); exit; //print_r($data); exit;
$key=$GLOBALS['CURRENT_USER_FINAL']; $key=$GLOBALS['CURRENT_USER_FINAL'];
if ($data[$key]['DISK_QUOTA']=='unlimited') echo __('unlimited'); if ($data[$key]['DISK_QUOTA']=='unlimited') echo __('unlimited');

View file

@ -77,7 +77,7 @@
<!-- /.l-unit__col --> <!-- /.l-unit__col -->
<div class="l-unit__col l-unit__col--right"> <div class="l-unit__col l-unit__col--right">
<div class="l-unit__name separate"> <div class="l-unit__name separate">
<?=__(strftime("%b", strtotime($key))).strftime(" %Y", strtotime($key))?> <?php if (version_compare(PHP_VERSION, '5.6', '==')) { echo __(strftime("%b", strtotime($key))).strftime(" %Y", strtotime($key)); } else { echo __(date('M', strtotime($key))).date(' Y', strtotime($key)); } ?>
</div> </div>