mirror of
https://github.com/serghey-rodin/vesta.git
synced 2025-08-14 02:28:03 -07:00
Updated services and fixed minor bugs.
This commit is contained in:
parent
4306a4fb4f
commit
2a12fec5ea
90 changed files with 1706 additions and 3 deletions
143
web/api/v1/edit/backup/exclusions/index.php
Normal file
143
web/api/v1/edit/backup/exclusions/index.php
Normal file
|
@ -0,0 +1,143 @@
|
|||
<?php
|
||||
// Init
|
||||
error_reporting(NULL);
|
||||
ob_start();
|
||||
$TAB = 'BACKUP';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||
|
||||
// Edit as someone else?
|
||||
if (($_SESSION['user'] == 'admin') && (!empty($_GET['user']))) {
|
||||
$user=escapeshellarg($_GET['user']);
|
||||
}
|
||||
|
||||
// List backup exclustions
|
||||
exec (VESTA_CMD."v-list-user-backup-exclusions ".$user." json", $output, $return_var);
|
||||
check_return_code($return_var,$output);
|
||||
$data = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
|
||||
// Parse web
|
||||
$v_username = $user;
|
||||
foreach ($data['WEB'] as $key => $value) {
|
||||
if (!empty($value)){
|
||||
$v_web .= $key . ":" . $value. "\n";
|
||||
} else {
|
||||
$v_web .= $key . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Parse dns
|
||||
foreach ($data['DNS'] as $key => $value) {
|
||||
if (!empty($value)){
|
||||
$v_dns .= $key . ":" . $value. "\n";
|
||||
} else {
|
||||
$v_dns .= $key . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Parse mail
|
||||
foreach ($data['MAIL'] as $key => $value) {
|
||||
if (!empty($value)){
|
||||
$v_mail .= $key . ":" . $value. "\n";
|
||||
} else {
|
||||
$v_mail .= $key . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Parse databases
|
||||
foreach ($data['DB'] as $key => $value) {
|
||||
if (!empty($value)){
|
||||
$v_db .= $key . ":" . $value. "\n";
|
||||
} else {
|
||||
$v_db .= $key . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Parse user directories
|
||||
foreach ($data['USER'] as $key => $value) {
|
||||
if (!empty($value)){
|
||||
$v_userdir .= $key . ":" . $value. "\n";
|
||||
} else {
|
||||
$v_userdir .= $key . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Check POST request
|
||||
if (!empty($_POST['save'])) {
|
||||
|
||||
// Check token
|
||||
if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) {
|
||||
exit();
|
||||
}
|
||||
|
||||
$v_web = $_POST['v_web'];
|
||||
$v_web_tmp = str_replace("\r\n", ",", $_POST['v_web']);
|
||||
$v_web_tmp = rtrim($v_web_tmp, ",");
|
||||
$v_web_tmp = "WEB=" . escapeshellarg($v_web_tmp);
|
||||
|
||||
$v_dns = $_POST['v_dns'];
|
||||
$v_dns_tmp = str_replace("\r\n", ",", $_POST['v_dns']);
|
||||
$v_dns_tmp = rtrim($v_dns_tmp, ",");
|
||||
$v_dns_tmp = "DNS=" . escapeshellarg($v_dns_tmp);
|
||||
|
||||
$v_mail = $_POST['v_mail'];
|
||||
$v_mail_tmp = str_replace("\r\n", ",", $_POST['v_mail']);
|
||||
$v_mail_tmp = rtrim($v_mail_tmp, ",");
|
||||
$v_mail_tmp = "MAIL=" . escapeshellarg($v_mail_tmp);
|
||||
|
||||
$v_db = $_POST['v_db'];
|
||||
$v_db_tmp = str_replace("\r\n", ",", $_POST['v_db']);
|
||||
$v_db_tmp = rtrim($v_db_tmp, ",");
|
||||
$v_db_tmp = "DB=" . escapeshellarg($v_db_tmp);
|
||||
|
||||
$v_cron = $_POST['v_cron'];
|
||||
$v_cron_tmp = str_replace("\r\n", ",", $_POST['v_cron']);
|
||||
$v_cron_tmp = rtrim($v_cron_tmp, ",");
|
||||
$v_cron_tmp = "CRON=" . escapeshellarg($v_cron_tmp);
|
||||
|
||||
$v_userdir = $_POST['v_userdir'];
|
||||
$v_userdir_tmp = str_replace("\r\n", ",", $_POST['v_userdir']);
|
||||
$v_userdir_tmp = rtrim($v_userdir_tmp, ",");
|
||||
$v_userdir_tmp = "USER=" . escapeshellarg($v_userdir_tmp);
|
||||
|
||||
// Create temporary exeption list on a filesystem
|
||||
exec ('mktemp', $mktemp_output, $return_var);
|
||||
$tmp = $mktemp_output[0];
|
||||
$fp = fopen($tmp, 'w');
|
||||
fwrite($fp, $v_web_tmp . "\n" . $v_dns_tmp . "\n" . $v_mail_tmp . "\n" . $v_db_tmp . "\n" . $v_userdir_tmp . "\n");
|
||||
fclose($fp);
|
||||
unset($mktemp_output);
|
||||
|
||||
// Save changes
|
||||
exec (VESTA_CMD."v-update-user-backup-exclusions ".$user." ".$tmp, $output, $return_var);
|
||||
check_return_code($return_var,$output);
|
||||
unset($output);
|
||||
|
||||
// Set success message
|
||||
if (empty($_SESSION['error_msg'])) {
|
||||
$_SESSION['ok_msg'] = __("Changes has been saved.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Render page
|
||||
// render_page($user, $TAB, 'edit_backup_exclusions');
|
||||
|
||||
$result = array(
|
||||
'web' => $v_web,
|
||||
'dns' => $v_dns,
|
||||
'mail' => $v_mail,
|
||||
'db' => $v_db,
|
||||
'userdir' => $v_userdir,
|
||||
'error_msg' => $_SESSION['error_msg'],
|
||||
'ok_msg' => $_SESSION['ok_msg']
|
||||
);
|
||||
|
||||
echo json_encode($result);
|
||||
|
||||
// Flush session messages
|
||||
unset($_SESSION['error_msg']);
|
||||
unset($_SESSION['ok_msg']);
|
Loading…
Add table
Add a link
Reference in a new issue