From c8d077e42aaadd9dd3f03b0daca88412a789c3e7 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 02 Oct 2012 08:12:15 -0400
Subject: [PATCH] Fixed: FS#2344 - Add table permissions in multiserver systems for new backup table
---
install/lib/installer_base.lib.php | 8 ++++++++
server/cron_daily.php | 26 +++++++++++++++++++-------
2 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index ee45301..399e7dd 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -478,6 +478,14 @@
if(!$this->dbmaster->query($query)) {
$this->warning('Unable to set rights of user in master database: '.$value['db']."\n Query: ".$query."\n Error: ".$this->dbmaster->errorMessage);
}
+
+ $query = "GRANT SELECT, INSERT, DELETE ON ".$value['db'].".`web_backup` TO '".$value['user']."'@'".$host."' ";
+ if ($verbose){
+ echo $query ."\n";
+ }
+ if(!$this->dbmaster->query($query)) {
+ $this->warning('Unable to set rights of user in master database: '.$value['db']."\n Query: ".$query."\n Error: ".$this->dbmaster->errorMessage);
+ }
}
diff --git a/server/cron_daily.php b/server/cron_daily.php
index 0ba19fb..04fc0d8 100644
--- a/server/cron_daily.php
+++ b/server/cron_daily.php
@@ -629,9 +629,12 @@
chmod($web_backup_dir.'/'.$web_backup_file, 0750);
//* Insert web backup record in database
- $insert_data = "(server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",".$web_id.",'web','".$backup_mode."',".time().",'".$app->db->quote($web_backup_file)."')";
- $app->dbmaster->datalogInsert('web_backup', $insert_data, 'backup_id');
-
+ //$insert_data = "(server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",".$web_id.",'web','".$backup_mode."',".time().",'".$app->db->quote($web_backup_file)."')";
+ //$app->dbmaster->datalogInsert('web_backup', $insert_data, 'backup_id');
+ $sql = "INSERT INTO web_backup (server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",".$web_id.",'web','".$backup_mode."',".time().",'".$app->db->quote($web_backup_file)."')";
+ $app->db->query($sql);
+ $app->dbmaster->query($sql);
+
//* Remove old backups
$backup_copies = intval($rec['backup_copies']);
@@ -651,7 +654,10 @@
unlink($web_backup_dir.'/'.$files[$n]);
$sql = "SELECT backup_id FROM web_backup WHERE server_id = ".$conf['server_id']." AND parent_domain_id = $web_id AND filename = '".$app->db->quote($files[$n])."'";
$tmp = $app->dbmaster->queryOneRecord($sql);
- $app->dbmaster->datalogDelete('web_backup', 'backup_id', $tmp['backup_id']);
+ //$app->dbmaster->datalogDelete('web_backup', 'backup_id', $tmp['backup_id']);
+ $sql = "DELETE FROM web_backup WHERE backup_id = ".intval($tmp['backup_id']);
+ $app->db->query($sql);
+ $app->dbmaster->query($sql);
}
}
@@ -715,8 +721,11 @@
chgrp($db_backup_dir.'/'.$db_backup_file.'.gz', filegroup($db_backup_dir));
//* Insert web backup record in database
- $insert_data = "(server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",$web_id,'mysql','sqlgz',".time().",'".$app->db->quote($db_backup_file).".gz')";
- $app->dbmaster->datalogInsert('web_backup', $insert_data, 'backup_id');
+ //$insert_data = "(server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",$web_id,'mysql','sqlgz',".time().",'".$app->db->quote($db_backup_file).".gz')";
+ //$app->dbmaster->datalogInsert('web_backup', $insert_data, 'backup_id');
+ $sql = "INSERT INTO web_backup (server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",$web_id,'mysql','sqlgz',".time().",'".$app->db->quote($db_backup_file).".gz')";
+ $app->db->query($sql);
+ $app->dbmaster->query($sql);
//* Remove the uncompressed file
unlink($db_backup_dir.'/'.$db_backup_file);
@@ -740,7 +749,10 @@
unlink($db_backup_dir.'/'.$files[$n]);
$sql = "SELECT backup_id FROM web_backup WHERE server_id = ".$conf['server_id']." AND parent_domain_id = $web_id AND filename = '".$app->db->quote($files[$n])."'";
$tmp = $app->dbmaster->queryOneRecord($sql);
- $app->dbmaster->datalogDelete('web_backup', 'backup_id', $tmp['backup_id']);
+ //$app->dbmaster->datalogDelete('web_backup', 'backup_id', $tmp['backup_id']);
+ $sql = "DELETE FROM web_backup WHERE backup_id = ".intval($tmp['backup_id']);
+ $app->db->query($sql);
+ $app->dbmaster->query($sql);
}
}
--
Gitblit v1.9.1