Redesign of hosting panel

This commit is contained in:
myvesta 2023-06-04 17:56:44 +02:00 committed by GitHub
parent 2afbc2cddf
commit c3d0c17c51
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 3143 additions and 1830 deletions

View file

@ -12,6 +12,7 @@
# Argument definition
user=$1
format=${2-shell}
limit=${3-300}
# Includes
source $VESTA/func/main.sh
@ -34,6 +35,9 @@ json_list() {
"TIME": "'$TIME'",
"DATE": "'$DATE'"
}'
if [ "$limit" -gt 0 ] && [ "$i" = "$limit" ]; then
break;
fi
if [ "$i" -lt "$objects" ]; then
echo ','
else
@ -83,7 +87,7 @@ csv_list() {
# Verifications #
#----------------------------------------------------------#
check_args '1' "$#" 'USER [FORMAT]'
check_args '1' "$#" 'USER [FORMAT] [LIMIT]'
is_format_valid 'user'
is_object_valid 'user' 'USER' "$user"
@ -93,7 +97,7 @@ is_object_valid 'user' 'USER' "$user"
#----------------------------------------------------------#
# Parsing history log
logs=$(tail -n 300 $USER_DATA/history.log 2>/dev/null)
logs=$(tail -n $limit $USER_DATA/history.log | tac)
case $format in
json) json_list ;;

View file

@ -74,7 +74,7 @@ rrdtool graph $RRD/la/$period-la.png \
-c "SHADEA#ffffff" \
-c "SHADEB#ffffff" \
-c "FONT#555555" \
-c "CANVAS#302c2d" \
-c "CANVAS#F2F2F2" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#777777" \
@ -82,7 +82,7 @@ rrdtool graph $RRD/la/$period-la.png \
DEF:la=$RRD/la/la.rrd:LA:AVERAGE \
DEF:pr=$RRD/la/la.rrd:PR:AVERAGE \
COMMENT:'\r' \
AREA:la#C8EA2E:"LA * 100"\
AREA:la#00CD2E:"LA * 100"\
GPRINT:la:'LAST: Current\:''%8.0lf' \
GPRINT:la:'MIN: Min\:''%8.0lf' \
GPRINT:la:'MAX: Max\:''%8.0lf\j' \

View file

@ -100,7 +100,7 @@ if (!empty($_POST['ok'])) {
// Flush field values on success
if (empty($_SESSION['error_msg'])) {
$_SESSION['ok_msg'] = __('USER_CREATED_OK',htmlentities($_POST['v_username']),htmlentities($_POST['v_username']));
$_SESSION['ok_msg'] .= " / <a href=/login/?loginas=".htmlentities($_POST['v_username'])."&token=".htmlentities($_SESSION['token']).">" . __('login as') ." ".htmlentities($_POST['v_username']). "</a>";
$_SESSION['ok_msg'] .= " / <a style=\"text-decoration: underline;\" href=\"/login/?loginas=".htmlentities($_POST['v_username'])."&token=".htmlentities($_SESSION['token'])."\">" . __('login as') ." ".htmlentities($_POST['v_username']). "</a>";
unset($v_username);
unset($v_password);
unset($v_email);

1001
web/css/styles.fix.css Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["styles.fix.scss"],"names":[],"mappings":";AAAA;EACI;EACA;EACA;;;AAMJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AAOJ;EACI;EACA;EACA;EACA;;AAOJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;;AAMR;EACI;;AAEA;EACI;AACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAII;EACI;EACA;EACA;;AAEA;EACI;;AAEJ;EACI;;AAMJ;EACI;EACA;EACA;EACA;EACA;;AAQZ;EACI;;AAEA;EACI;;AAIR;EACI;;AAGJ;EACI;;AAKZ;EACI;;;AAQR;EACI;EACA;;AAEA;EACI;;AAEA;EACI;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAyCA;EAEA;AAAwB;EACxB;AAAgC;AAEhC;AAMA;AAKA;;AAVA;EACI;EACA;;AAIJ;EACI;;AAIJ;EACI;;AAIJ;AACI;;AACA;EACI;;AAKR;EAEI;EAKA;EACA;EACA;EACA;EACA;EAGA;EACA;;AAIJ;EACI;;AAEA;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAQZ;EACI;EACA;;AAII;EACI;;AAEA;EACI;;AAMZ;EACI;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAIR;EACI;;AAEA;EAEI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EAEA;EACA;EACA;EAEA;;AA8BA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EAEA;EACA;EACA;EAEA;;AAIR;EACI;EACA;EACA;EACA;;AASR;EACI;;AAKA;EACI;;AAEJ;EAEI;;AAEJ;EACI;;AAQR;EACI;;AAKA;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAQR;EACI;;AAKA;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAQR;EACI;;AAKA;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAQR;EACI;;AAKA;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAQR;EACI;;AAKA;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAQR;EACI;;AAKA;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAWxB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAcJ;EACI;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;;AAiBgB;EACI;EACA;;AAGJ;EACI;;AAqCZ;EACI;;AAmBxB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEI;;AAOI;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAUR;EACI;;AAQZ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAOJ;EACI;;AAYZ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAQR;EACI;;AAEA;EACI;;AAGR;EACI;EAEA;;AAEA;EACI;;AAGR;EACI;EACA;;AAEA;EACI;;AAGR;EACI;;AAEA;EACI;;AAGR;EACI;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAII;EACA;EACA;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKZ;EACI;EACA;EACA;;AAEJ;EACI;EACA;;AAEA;EACI;;AAUJ;EACI;EACA;EACA;EACA;;AA0BR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EAQA;EAEA;AAAwB;AAExB;AAKA;AAKA;AAMA;;AAfA;EACI;;AAIJ;EACI;;AAIJ;EACI;EACA;;AAIJ;EACI;EACA;;AAGJ;EACI;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAKR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EACI;;AAKJ;EACI;;AAKJ;EACI;;AAKJ;EACI;;;AA8CxB;EACI;;;AAGJ;EACI;;;AAEJ;EACI;;;AAGJ;EACI;;;AAIJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAQwB;EACI;EACA;EACA;;AAEA;EACI;EACA;AACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;;AAEA;EACI;;AAIZ;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAKR;EACI;EACA;EACA;EACA;;AAUhC;EACI;;;AAMJ;EACI","file":"styles.fix.css"}

3491
web/css/styles.min.css vendored

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Before After
Before After

View file

@ -1,8 +1,5 @@
<?php
$vesta_version=file_get_contents('/usr/local/vesta/version.txt');
$vesta_build_date=file_get_contents('/usr/local/vesta/build_date.txt');
if (file_exists("/usr/local/vesta/web/inc/switch_to_vesta_port") && isset($_SERVER['HTTP_X_REAL_IP'])) {
header("Location: https://".$_SERVER['HTTP_HOST'].":".$_SERVER['SERVER_PORT']);
exit;
@ -11,7 +8,7 @@ if (file_exists("/usr/local/vesta/web/inc/switch_to_vesta_port") && isset($_SERV
session_start();
define('VESTA_CMD', '/usr/bin/sudo /usr/local/vesta/bin/');
define('JS_LATEST_UPDATE', '1491697868');
define('JS_LATEST_UPDATE', '1491697869');
$i = 0;

157
web/js/fix.js Normal file
View file

@ -0,0 +1,157 @@
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ') {
c = c.substring(1);
}
if (c.indexOf(name) === 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function showIoLog(animate) {
//console.log('animate='+animate);
if (animate==0) {
$(".l-content .l-center").css("margin-right", 240);
$(".to-top").css("right", 285);
$(".to-shortcuts").css("right", 330);
$(".io-log").css("right", 0);
$(".io-log2").css("right", 0);
//$("#myvesta_float").css("margin-right", 280);
} else {
$(".l-content .l-center").animate({"margin-right": 240});
$(".to-top").animate({"right": 285});
$(".to-shortcuts").animate({"right": 330});
$(".io-log").animate({"right": 0});
$(".io-log2").animate({"right": 0});
//$("#myvesta_float").animate({"margin-right": 280});
}
/*
$.ajax({url: "/list/log/", success: function(result){
$( ".io-log div" ).remove();
$($(result).find('.l-center.units')).insertAfter(".io-log h2");
$( ".io-log div" ).removeClass();
}});
*/
}
function hideIoLog(animate){
//console.log('animate='+animate);
if (animate==0) {
$(".l-content .l-center").css("margin-right", 40);
$(".to-top").css("right", 85);
$(".to-shortcuts").css("right", 130);
$(".io-log").css("right", -200);
$(".io-log2").css("right", -200);
$("#myvesta_float").css("margin-right", 100);
} else {
$(".l-content .l-center").animate({"margin-right": 40});
$(".to-top").animate({"right": 85});
$(".to-shortcuts").animate({"right": 130});
$(".io-log").animate({"right": -200});
$(".io-log2").animate({"right": -200});
$("#myvesta_float").animate({"margin-right": 100});
}
}
function checkCookie() {
iolog = getCookie("iolog");
//console.log('cookie: "'+iolog+'"');
if (iolog === '1') {
return 1;
}
if (iolog === '0') {
return 0;
}
if (iolog == '') {
//console.log('cookie is empty');
return '';
}
}
// function getRandomInt(max) {
// return Math.floor(Math.random() * max);
// }
// var randomnumber=getRandomInt(100000000);
var iohtml = '<div class="io-box clearfix">\n' +
' <div class="io-box-left clearfix">\n' +
' <div class="io-box-left-items io-1-homepage-block">\n' +
' <a href="https://www.myvestacp.com/" target="_blank">myVesta</a>\n' +
' <span class="io-description">website</span>\n' +
' </div>\n' +
' <div class="io-box-left-items io-2-homepage-block">\n' +
' <a href="https://forum.myvestacp.com/" target="_blank">Forum</a>\n' +
' <span class="io-description">Ask the questions on our forum</span>\n' +
' </div>\n' +
' <div class="io-box-left-items io-3-homepage-block">\n' +
' <a href="https://github.com/myvesta/vesta" target="_blank">Git</a>\n' +
' <span class="io-description">Become our code contributor</span>\n' +
' </div>\n' +
' <div class="io-box-left-items io-4-homepage-block">\n' +
' <a href="https://forum.myvestacp.com/viewtopic.php?t=814" target="_self">Donate</a>\n' +
' <span class="io-description">Buy us a coffe</span>\n' +
' </div>\n' +
' <div class="io-box-left-items io-5-homepage-block">\n' +
' <a href="https://wiki.myvestacp.com/" target="_self">Wiki</a>\n' +
' <span class="io-description">Find solution in our documentation</span>\n' +
' </div>\n' +
' </div>\n' +
' <div class="io-box-right io-banner clearfix">\n' +
' <a href="/list/rrd/"><img src="/list/rrd/image.php?/rrd/la/daily-la.png" alt="SysLoad"></a>\n' +
' </div>\n' +
' </div>';
$(document).ready(function(){
var sys_height=$(".io-log").height();
$(".io-log2").css("top", sys_height+50);
setTimeout(function() {
iolog = getCookie("iolog");
//console.log('cookie: "'+iolog+'"');
if (iolog === '1') {
showIoLog(0);
return 1;
}
if (iolog === '0') {
//setCookie("iolog", 0, 365);
hideIoLog(0);
return 0;
}
if (iolog == '') {
//console.log('cookie is empty');
//setCookie("iolog", 1, 365);
showIoLog(0);
return '';
}
}, 1);
if (GLOBAL.CURRENT_USER_FINAL == 'admin') $(".body-user .l-content > .l-center.units").first().prepend( iohtml );
$(".io-log").on("click", function() {
var showlog=checkCookie();
//console.log('cookie = "'+iolog+'"');
if (showlog===1 || showlog=='') {
//console.log('cookie is active or empty, calling hidelog()');
setCookie("iolog", 0, 365);
hideIoLog(1);
}
if (showlog===0) {
//console.log('cookie is inactive, calling showlog()');
setCookie("iolog", 1, 365);
showIoLog(1);
}
});
});

View file

@ -32,15 +32,17 @@ $(document).ready(function(){
// CREATE BUTTON
$('.l-sort__create-btn').hover(function(){
$(".l-sort__create-btn").append("<div id='add-icon'></div>");
$(".l-sort__create-btn").append("<div id='tooltip'>"+$('.l-sort__create-btn').attr('title').replace(' ','&nbsp;')+"</div>");
}, function(){
$("#add-icon").remove();
$("#tooltip").remove();
});
if ($(".l-sort__create-btn").length>0) {
$(".l-sort__create-btn").append("<div id='add-icon'></div>");
$(".l-sort__create-btn").append("<div id='tooltip'>"+$('.l-sort__create-btn').attr('title').replace(' ','&nbsp;')+"</div>");
$('.l-sort__create-btn').hover(function(){
$("#tooltip").css('background-color', '#1ca2cc');
}, function() {
$("#tooltip").css('background-color', '#34b5dd');
//$("#add-icon").remove();
//$("#tooltip").remove();
});
}
// SEARCH BOX

View file

@ -105,7 +105,7 @@ v_unit_id="<?=$key?>" v_section="dns_rec">
<div class="clearfix l-unit__stat-col--left small"><b><? echo substr($data[$key]['RECORD'], 0, 12); if(strlen($data[$key]['RECORD']) > 12 ) echo '...'; ?></b></div>
<div class="clearfix l-unit__stat-col--left compact"><b><?=$data[$key]['TYPE']?></b></div>
<div class="clearfix l-unit__stat-col--left compact"><?=$data[$key]['PRIORITY']?>&nbsp;</div>
<div class="clearfix l-unit__stat-col--left wide-4"><b><?=htmlspecialchars($data[$key]['VALUE'], ENT_QUOTES, 'UTF-8')?></b></div>
<div class="clearfix l-unit__stat-col--left wide-4" style="overflow: hidden; margin-bottom: 20px;"><b><?=htmlspecialchars($data[$key]['VALUE'], ENT_QUOTES, 'UTF-8')?></b></div>
</div>
<!-- /.l-unit__stats -->
</div>

View file

@ -5,6 +5,10 @@
<link rel="icon" href="/images/favicon.ico" type="image/x-icon">
<title>Vesta - <?=__($TAB)?></title>
<link rel="stylesheet" href="/css/styles.min.css">
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
<link rel="stylesheet" href="/css/styles.fix.css">
<link type="text/css" href="/css/jquery-custom-dialogs.css" rel="stylesheet" />
<script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script>
@ -12,7 +16,7 @@
<script type="text/javascript" src="/js/jquery-ui-1.8.20.custom.min.js"></script>
<script type="text/javascript" src="/js/events.js"></script>
</head>
<body>
<body class="body-web-log">
<a href="#" class="to-top">
<i class="l-icon-to-top"></i>
</a>

View file

@ -1,9 +1,9 @@
<div class="l-center">
<div class="l-sort clearfix noselect">
<?php
if ($user == 'admin') {
echo '<a class="l-sort__create-btn" href="/add/user/" title="'.__('Add User').'"></a>';
} else {
if ($user != 'admin') {
//echo '<a class="l-sort__create-btn" href="/add/user/" title="'.__('Add User').'"></a>';
//} else {
echo '<a class="l-sort__create-btn" href="/add/web/" title="'.__('Add Web Domain').'"></a>';
}
?>
@ -61,12 +61,15 @@
<div class="l-separator"></div>
<!-- /.l-separator -->
<div class="l-center units">
<?php
if (isset($changelog))
echo "<br /><br /><h1 style=\"margin: 0; color: #aa9c88;\">".__("What's new:")."</h1><br /><pre style=\"padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45; background-color: #f6f8fa; border-radius: 3px; font-weight: bold;\">".$changelog."</pre>".__("This only admin see after myVesta upgrade, and will dissapear on next refresh.")." ".__("If you missed an update, see our previous")." <a style=\"color: #007bff;\" target=\"_blank\" href=\"https://github.com/myvesta/vesta/blob/master/Changelog.md\">".__("change logs")."</a>.<br />".__("Check out our")." <a style=\"color: #007bff;\" target=\"_blank\" href=\"https://www.myvestacp.com/\">".__("new site, forum and knowledge base")."</a>.<br /><br /><hr style=\"color: #ffebcd;\" />";
if ($user == 'admin') {
echo '<a class="l-sort__create-btn" style="position: relative; bottom: 0; margin-bottom: 15px; left: 20px;" href="/add/user/" title="'.__('Add User').'"></a>';
}
if (isset($changelog)) {
echo "<br /><br /><div style='margin: -20px 20px 20px 20px; padding: 10px; background: #fff;'><h1 style=\"margin: 0; color: #aa9c88;\">".__("What's new:")."</h1><br /><pre style=\"padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45; background-color: #f6f8fa; border-radius: 3px; font-weight: bold;\">".$changelog."</pre>".__("This only admin see after myVesta upgrade, and will dissapear on next refresh.")." ".__("If you missed an update, see our previous")." <a style=\"color: #007bff;\" target=\"_blank\" href=\"https://github.com/myvesta/vesta/blob/master/Changelog.md\">".__("change logs")."</a>.<br />".__("Check out our")." <a style=\"color: #007bff;\" target=\"_blank\" href=\"https://www.myvestacp.com/\">".__("new site, forum and knowledge base")."</a>.<br /><br /><hr style=\"color: #ffebcd;\" /></div>";
}
foreach ($data as $key => $value) {
++$i;
if ($data[$key]['SUSPENDED'] == 'yes') {
@ -176,7 +179,7 @@ sort-bandwidth="<?=$data[$key]['U_BANDWIDTH']?>" sort-disk="<?=$data[$key]['U_DI
</td>
<td>
<div class="l-unit__stat-cols clearfix last">
<div class="l-unit__stat-col l-unit__stat-col--left compact"><?=__('Email')?>:</div>
<div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Email')?>:</div>
<div class="l-unit__stat-col l-unit__stat-col--right">
<b><?=$data[$key]['CONTACT']?></b>
</div>

View file

@ -5,6 +5,10 @@
<link rel="icon" href="/images/favicon.ico" type="image/x-icon">
<title>Vesta - <?=__('Web Log Manager')?> </title>
<link rel="stylesheet" href="/css/styles.min.css">
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
<link rel="stylesheet" href="/css/styles.fix.css">
<link type="text/css" href="/css/jquery-custom-dialogs.css" rel="stylesheet" />
<script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script>
@ -12,7 +16,7 @@
<script type="text/javascript" src="/js/jquery-ui-1.8.20.custom.min.js"></script>
<script type="text/javascript" src="/js/events.js"></script>
</head>
<body>
<body class="body-web-log">
<a href="#" class="to-top">
<i class="l-icon-to-top"></i>
</a>

View file

@ -40,9 +40,10 @@
<div class="l-content">
<div class="l-center">
<div class="l-stat">
<a href="/list/user/"><img src="/images/myvesta-large-white-130.png" style="display: block; width: 130px; height: 69px; margin-top: 5px; margin-left: 13px; position: relative;"></a>
<div class="l-stat__col <?php if($TAB == 'USER' ) echo 'l-stat__col--active' ?>">
<a href="/list/user/">
<div class="l-stat__col-title"><?=__('USER')?></div>
<div class="l-stat__col-title"><?=__('USER')?><span><?=$panel[$user]['U_USERS']?></span></div>
<ul>
<li><?=__('users')?>: <span><?=$panel[$user]['U_USERS']?></span></li>
<li><?=__('spnd');?>: <span><?=$panel[$user]['SUSPENDED_USERS']?></span></li>
@ -52,7 +53,7 @@
<?php if($panel[$user]['WEB_DOMAINS'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'WEB' ) echo 'l-stat__col--active' ?>">
<a href="/list/web/">
<div class="l-stat__col-title"><?=__('WEB')?></div>
<div class="l-stat__col-title"><?=__('WEB')?><span><?=$panel[$user]['U_WEB_DOMAINS']?></span></div>
<ul>
<li><?=__('domains')?>: <span><?=$panel[$user]['U_WEB_DOMAINS']?></span></li>
<li><?=__('aliases')?>: <span><?=$panel[$user]['U_WEB_ALIASES']?></span></li>
@ -64,7 +65,7 @@
<?php if($panel[$user]['DNS_DOMAINS'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'DNS' ) echo 'l-stat__col--active' ?>">
<a href="/list/dns/">
<div class="l-stat__col-title"><?=__('DNS')?></div>
<div class="l-stat__col-title"><?=__('DNS')?><span><?=$panel[$user]['U_DNS_DOMAINS']?></span></div>
<ul>
<li><?=__('domains')?>: <span><?=$panel[$user]['U_DNS_DOMAINS']?></span></li>
<li><?=__('records')?>: <span><?=$panel[$user]['U_DNS_RECORDS']?></span></li>
@ -76,7 +77,7 @@
<?php if($panel[$user]['MAIL_DOMAINS'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'MAIL' ) echo 'l-stat__col--active' ?>">
<a href="/list/mail/">
<div class="l-stat__col-title"><?=__('MAIL')?></div>
<div class="l-stat__col-title"><?=__('MAIL')?><span><?=$panel[$user]['U_MAIL_DOMAINS']?></span></div>
<ul>
<li><?=__('domains')?>: <span><?=$panel[$user]['U_MAIL_DOMAINS']?></span></li>
<li><?=__('accounts')?>: <span><?=$panel[$user]['U_MAIL_ACCOUNTS']?></span></li>
@ -88,7 +89,7 @@
<?php if($panel[$user]['DATABASES'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'DB' ) echo 'l-stat__col--active' ?>">
<a href="/list/db/">
<div class="l-stat__col-title"><?=__('DB')?></div>
<div class="l-stat__col-title"><?=__('DB')?><span><?=$panel[$user]['U_DATABASES']?></span></div>
<ul>
<li><?=__('databases')?>: <span><?=$panel[$user]['U_DATABASES']?></span></li>
<li><?=__('spnd')?>: <span><?=$panel[$user]['SUSPENDED_DB']?></span></li>
@ -99,7 +100,7 @@
<?php if($panel[$user]['CRON_JOBS'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'CRON' ) echo 'l-stat__col--active' ?>">
<a href="/list/cron/">
<div class="l-stat__col-title"><?=__('CRON')?></div>
<div class="l-stat__col-title"><?=__('CRON')?><span><?=$panel[$user]['U_CRON_JOBS']?></span></div>
<ul>
<li><?=__('jobs')?>: <span><?=$panel[$user]['U_CRON_JOBS']?></span></li>
<li><?=__('spnd')?>: <span><?=$panel[$user]['SUSPENDED_CRON']?></span></li>
@ -110,13 +111,23 @@
<?php if($panel[$user]['BACKUPS'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'BACKUP' ) echo 'l-stat__col--active' ?>">
<a href="/list/backup/">
<div class="l-stat__col-title"><?=__('BACKUP')?></div>
<div class="l-stat__col-title"><?=__('BACKUP')?><span><?=$panel[$user]['U_BACKUPS']?></span></div>
<ul>
<li><?=__('backups')?>: <span><?=$panel[$user]['U_BACKUPS']?></span></li>
</ul>
</a>
</div>
<?php } ?>
<?php
$vesta_version=file_get_contents('/usr/local/vesta/version.txt');
$vesta_build_date=file_get_contents('/usr/local/vesta/build_date.txt');
$debian_ver=file_get_contents('/etc/debian_version');
?>
<div style="display: block; padding: 30px 0 0 19px; color: #b9bcbd;">
<span style="font-weight: bold;">myVesta</span> <?php echo $vesta_version;?><br />
<span style="font-weight: bold;">Build date:</span> <?php echo $vesta_build_date;?><br />
<span style="font-weight: bold;">Debian </span> <?php echo $debian_ver;?><br />
</div>
</div>
<!-- /.l-stats -->
</div>

View file

@ -1,8 +1,5 @@
</div>
<div style="position: fixed; top: 92%; right: 1%;">
<div style="margin-right: 100px; background-color: white; padding-left: 20px;"><span style="font-weight: bold;">myVesta <?php echo $vesta_version;?></span><br />Build date: <?php echo $vesta_build_date;?></div>
</div>
<div title="<?=__('Confirmation')?>" class="confirmation-text-redirect hidden">
<p class="confirmation"><?=__('LEAVE_PAGE_CONFIRMATION')?></p>

View file

@ -4,16 +4,27 @@
<meta charset="utf-8">
<link rel="icon" href="/images/favicon.ico" type="image/x-icon">
<title>myVesta - <?=__($TAB)?></title>
<link rel="stylesheet" href="/css/styles.min.css?1446554103">
<link type="text/css" href="/css/jquery-custom-dialogs.css?1446554103" rel="stylesheet" />
<link rel="stylesheet" href="/css/styles.min.css?1446554108">
<link type="text/css" href="/css/jquery-custom-dialogs.css?1446554104" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
<link rel="stylesheet" href="/css/styles.fix.css?1446554108">
<script>
//
// GLOBAL SETTINGS
//
<?php
$CURRENT_USER_FINAL=$_SESSION['user'];
if (isset($_SESSION['look']) && $_SESSION['look']!='') $CURRENT_USER_FINAL=$_SESSION['look'];
?>
var GLOBAL = {};
GLOBAL.FTP_USER_PREFIX = 'admin_';
GLOBAL.DB_USER_PREFIX = 'admin_';
GLOBAL.DB_DBNAME_PREFIX = 'admin_';
GLOBAL.CURRENT_USER = '<?=$_SESSION['user']?>';
GLOBAL.CURRENT_USER_LOOK = '<?=$_SESSION['look']?>';
GLOBAL.CURRENT_USER_FINAL = '<?=$CURRENT_USER_FINAL?>';
GLOBAL.AJAX_URL = '';
</script>
</head>

View file

@ -4,7 +4,7 @@
<td>
<table>
<tr>
<td style="padding: 0 10px 0 42px; height: 280px; width: 170px;">
<td style="padding: 0; height: 280px; width: 342px;">
<a href="/"><img border=0 src="/images/vesta_logo.png" alt="Vesta Control Panel" style="margin: 0 0 0 0;" /></a>
</td>
<td style="padding: 50px 0 0 0;">

View file

@ -4,10 +4,10 @@
<td>
<table>
<tr>
<td style="padding: 0 10px 0 42px; height: 280px; width: 170px;">
<a href="/"><img border=0 src="/images/vesta_logo.png" alt="myVesta Control Panel" /></a>
<td style="padding: 0; height: 280px; width: 342px;">
<a href="/"><img border=0 src="/images/vesta_logo.png" alt="Vesta Control Panel" style="margin: 0 0 0 0;" /></a>
</td>
<td style="padding: 10px 0 0 0;">
<td style="padding: 50px 0 0 0;">
<form method="post" action="/reset/">
<table class="login-box">
<tr>

View file

@ -4,10 +4,10 @@
<td>
<table>
<tr>
<td style="padding: 0 10px 0 42px; height: 280px; width: 170px;">
<a href="/"><img border=0 src="/images/vesta_logo.png" alt="myVesta Control Panel" /></a>
<td style="padding: 0; height: 280px; width: 342px;">
<a href="/"><img border=0 src="/images/vesta_logo.png" alt="Vesta Control Panel" style="margin: 0 0 0 0;" /></a>
</td>
<td style="padding: 30px 0 0 0;">
<td style="padding: 50px 0 0 0;">
<form method="get" action="/reset/" >
<table class="login-box">
<tr>

View file

@ -4,10 +4,10 @@
<td>
<table>
<tr>
<td style="padding: 0 10px 0 42px; height: 280px; width: 170px;">
<a href="/"><img border=0 src="/images/vesta_logo.png" alt="myVesta Control Panel" /></a>
<td style="padding: 0; height: 280px; width: 342px;">
<a href="/"><img border=0 src="/images/vesta_logo.png" alt="Vesta Control Panel" style="margin: 0 0 0 0;" /></a>
</td>
<td style="padding: 10px 0 0 0;">
<td style="padding: 50px 0 0 0;">
<form method="post">
<table class="login-box">
<tr>

View file

@ -1,3 +1,160 @@
<div class="io-log">
<h2 class="io-log-h2" id="iologbutton">
<?php
if ($CURRENT_USER_FINAL=='admin') echo __('Server');
else echo __('Account');
?>
</h2>
<div>
<?php
if ($CURRENT_USER_FINAL=='admin') {
$sysload=sys_getloadavg();
$sysload[0]=number_format((float)$sysload[0], 2, '.', '');
$sysload[1]=number_format((float)$sysload[1], 2, '.', '');
$sysload[2]=number_format((float)$sysload[2], 2, '.', '');
?>
<div>
<div>
<div>
</div>
<div>
<div>
</div>
</div>
</div>
<div>
<div>
<?=__('CPU')?>
</div>
<div>
</div>
</div>
<div>
<div>
<?=$sysload[0]?>&nbsp;&nbsp;&nbsp;&nbsp;<?=$sysload[1]?>&nbsp;&nbsp;&nbsp;&nbsp;<?=$sysload[2]?>
</div>
</div>
</div>
<?php
} else {
?>
<div>
<div>
<div>
</div>
<div>
<div>
</div>
</div>
</div>
<div>
<div>
<?=__('Disk')?>
</div>
<div>
</div>
</div>
<div>
<div>
<?php
$output='';
exec (VESTA_CMD . "v-list-user ".$CURRENT_USER_FINAL." json", $output, $return_var);
$data = json_decode(implode('', $output), true);
$data = array_reverse($data,true);
//print_r($data); exit;
$key=$CURRENT_USER_FINAL;
if ($data[$key]['DISK_QUOTA']=='unlimited') echo __('unlimited');
else echo get_percentage($data[$key]['U_DISK'],$data[$key]['DISK_QUOTA']).' %';
?>
</div>
</div>
</div>
<?php
}
if ($CURRENT_USER_FINAL=='admin') {
$output='';
exec ("df -h | grep '^/dev'", $output, $return_var);
foreach($output as $line) {
while(strpos($line, ' ')!==false) $line=str_replace(' ', ' ', $line);
$disk_arr=explode(' ', $line);
$percent=$disk_arr[4];
$disk=$disk_arr[5];
if (strpos($disk, "/boot")!==false) continue;
if (strpos($disk, "/efi")!==false) continue;
?>
<div>
<div>
<div>
</div>
<div>
<div>
</div>
</div>
</div>
<div>
<div>
<?=__('Disk').' '.$disk?>
</div>
<div>
</div>
</div>
<div>
<div>
<?=$percent?>
</div>
</div>
</div>
<?php }
}
?>
</div>
</div>
<div class="io-log2">
<h2 class="io-log2-h2" id="iologbutton2">
Log System
</h2>
<div>
<?php
$output='';
exec (VESTA_CMD."v-list-user-log ".$CURRENT_USER_FINAL." json 25", $output, $return_var);
check_error($return_var);
$data = json_decode(implode('', $output), true);
foreach ($data as $key => $value) {
++$i;
?>
<div>
<div>
<div>
</div>
<div>
<div>
</div>
</div>
</div>
<div>
<div>
<?=translate_date($data[$key]['DATE'])?>
</div>
<div>
<?=$data[$key]['TIME']?>
</div>
</div>
<div>
<div>
<?=htmlspecialchars($data[$key]['CMD'], ENT_QUOTES)?>
</div>
</div>
</div>
<?php } ?>
</div>
<script type="text/javascript" src="/js/jquery-1.7.2.min.js?<?=JS_LATEST_UPDATE?>"></script>
<script type="text/javascript" src="/js/jquery.cookie.js?<?=JS_LATEST_UPDATE?>"></script>
<script type="text/javascript" src="/js/jquery-ui-1.8.20.custom.min.js?<?=JS_LATEST_UPDATE?>"></script>
@ -8,10 +165,14 @@
<script type="text/javascript" src="/js/i18n.js.php?<?=JS_LATEST_UPDATE?>"></script>
<script type="text/javascript" src="/js/templates.js?<?=JS_LATEST_UPDATE?>"></script>
<script type="text/javascript" src="/js/jquery.finder.js?<?=JS_LATEST_UPDATE?>"></script>
<script type="text/javascript" src="/js/fix.js"></script>
<script>
hover_menu = function() {}
$(function() {
hover_menu();
$( ".l-separator" ).remove();
$( ".io-log div" ).removeClass();
});
</script>

View file

@ -103,7 +103,7 @@
<div class="clearfix l-unit__stat-col--left small"><b><? echo substr($data[$key]['RECORD'], 0, 14); if(strlen($data[$key]['RECORD']) > 14 ) echo '..'; ?></b></div>
<div class="clearfix l-unit__stat-col--left compact"><b><?=$data[$key]['TYPE']?></b></div>
<div class="clearfix l-unit__stat-col--left compact"><?=$data[$key]['PRIORITY']?>&nbsp;</div>
<div class="clearfix l-unit__stat-col--left wide-4"><b><?=htmlspecialchars($data[$key]['VALUE'], ENT_QUOTES, 'UTF-8')?></b></div>
<div class="clearfix l-unit__stat-col--left wide-4" style="overflow: hidden; margin-bottom: 20px;"><b><?=htmlspecialchars($data[$key]['VALUE'], ENT_QUOTES, 'UTF-8')?></b></div>
</div>
<!-- /.l-unit__stats -->
</div>

View file

@ -161,7 +161,7 @@ sort-disk="<?=$data[$key]['U_DISK']?>" sort-star="<?if($_SESSION['favourites']['
</td>
<td>
<div class="l-unit__stat-cols clearfix last">
<div class="l-unit__stat-col l-unit__stat-col--left compact"><?=__('Email')?>:</div>
<div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Email')?>:</div>
<div class="l-unit__stat-col l-unit__stat-col--right">
<b><?=$data[$key]['CONTACT']?></b>
</div>

View file

@ -33,6 +33,7 @@
<div class="l-content">
<div class="l-center">
<div class="l-stat">
<a href="/list/user/"><img src="/images/myvesta-large-white-130.png" style="display: block; width: 130px; height: 69px; margin-top: 5px; margin-left: 13px; position: relative;"></a>
<div class="l-stat__col <?php if($TAB == 'USER' ) echo 'l-stat__col--active' ?>">
<a href="/list/user/">
<div class="l-stat__col-title"><?=__('USER')?></div>
@ -45,7 +46,7 @@
<?php if($panel[$user]['WEB_DOMAINS'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'WEB' ) echo 'l-stat__col--active' ?>">
<a href="/list/web/">
<div class="l-stat__col-title"><?=__('WEB')?></div>
<div class="l-stat__col-title"><?=__('WEB')?><span><?=$panel[$user]['U_WEB_DOMAINS']?></span></div>
<ul>
<li><?=__('domains')?>: <span><?=$panel[$user]['U_WEB_DOMAINS']?></span></li>
<li><?=__('aliases')?>: <span><?=$panel[$user]['U_WEB_ALIASES']?></span></li>
@ -57,7 +58,7 @@
<?php if($panel[$user]['DNS_DOMAINS'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'DNS' ) echo 'l-stat__col--active' ?>">
<a href="/list/dns/">
<div class="l-stat__col-title"><?=__('DNS')?></div>
<div class="l-stat__col-title"><?=__('DNS')?><span><?=$panel[$user]['U_DNS_DOMAINS']?></span></div>
<ul>
<li><?=__('domains')?>: <span><?=$panel[$user]['U_DNS_DOMAINS']?></span></li>
<li><?=__('records')?>: <span><?=$panel[$user]['U_DNS_RECORDS']?></span></li>
@ -69,7 +70,7 @@
<?php if($panel[$user]['MAIL_DOMAINS'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'MAIL' ) echo 'l-stat__col--active' ?>">
<a href="/list/mail/">
<div class="l-stat__col-title"><?=__('MAIL')?></div>
<div class="l-stat__col-title"><?=__('MAIL')?><span><?=$panel[$user]['U_MAIL_DOMAINS']?></span></div>
<ul>
<li><?=__('domains')?>: <span><?=$panel[$user]['U_MAIL_DOMAINS']?></span></li>
<li><?=__('accounts')?>: <span><?=$panel[$user]['U_MAIL_ACCOUNTS']?></span></li>
@ -81,7 +82,7 @@
<?php if($panel[$user]['DATABASES'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'DB' ) echo 'l-stat__col--active' ?>">
<a href="/list/db/">
<div class="l-stat__col-title"><?=__('DB')?></div>
<div class="l-stat__col-title"><?=__('DB')?><span><?=$panel[$user]['U_DATABASES']?></span></div>
<ul>
<li><?=__('databases')?>: <span><?=$panel[$user]['U_DATABASES']?></span></li>
<li><?=__('spnd')?>: <span><?=$panel[$user]['SUSPENDED_DB']?></span></li>
@ -92,7 +93,7 @@
<?php if($panel[$user]['CRON_JOBS'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'CRON' ) echo 'l-stat__col--active' ?>">
<a href="/list/cron/">
<div class="l-stat__col-title"><?=__('CRON')?></div>
<div class="l-stat__col-title"><?=__('CRON')?><span><?=$panel[$user]['U_CRON_JOBS']?></span></div>
<ul>
<li><?=__('jobs')?>: <span><?=$panel[$user]['U_CRON_JOBS']?></span></li>
<li><?=__('spnd')?>: <span><?=$panel[$user]['SUSPENDED_CRON']?></span></li>
@ -103,13 +104,23 @@
<?php if($panel[$user]['BACKUPS'] != "0") { ?>
<div class="l-stat__col <?php if($TAB == 'BACKUP' ) echo 'l-stat__col--active' ?>">
<a href="/list/backup/">
<div class="l-stat__col-title"><?=__('BACKUP')?></div>
<div class="l-stat__col-title"><?=__('BACKUP')?><span><?=$panel[$user]['U_BACKUPS']?></span></div>
<ul>
<li><?=__('backups')?>: <span><?=$panel[$user]['U_BACKUPS']?></span></li>
</ul>
</a>
</div>
<?php } ?>
<?php
$vesta_version=file_get_contents('/usr/local/vesta/version.txt');
$vesta_build_date=file_get_contents('/usr/local/vesta/build_date.txt');
$debian_ver=file_get_contents('/etc/debian_version');
?>
<div style="display: block; padding: 30px 0 0 19px; color: #b9bcbd;">
<span style="font-weight: bold;">myVesta</span> <?php echo $vesta_version;?><br />
<span style="font-weight: bold;">Build date:</span> <?php echo $vesta_build_date;?><br />
<span style="font-weight: bold;">Debian </span> <?php echo $debian_ver;?><br />
</div>
</div>
<!-- /.l-stats -->
</div>