tbrehm
2012-10-02 c8d077e42aaadd9dd3f03b0daca88412a789c3e7
Fixed: FS#2344 - Add table permissions in multiserver systems for new backup table
2 files modified
34 ■■■■ changed files
install/lib/installer_base.lib.php 8 ●●●●● patch | view | raw | blame | history
server/cron_daily.php 26 ●●●● patch | view | raw | blame | history
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);
            }
        }
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);
                    }
                }