Skip to content

Commit a66bbd6

Browse files
author
Marius Cramer
committed
Merge branch 'master' into 'master'
Master See merge request !138
2 parents c28bb43 + 208a069 commit a66bbd6

File tree

8 files changed

+106
-130
lines changed

8 files changed

+106
-130
lines changed

interface/web/mail/mail_domain_dkim_create.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ function new_selector ($old_selector, $domain) {
163163
echo "<privatekey>".$private_key."</privatekey>\n";
164164
echo "<publickey>".$public_key."</publickey>\n";
165165
if ( validate_domain($_POST['domain']) ) {
166-
echo '<dns_record>'.$selector.'_domainkey.'.$_POST['domain'].'. 3600 TXT "v=DKIM1; t=s; p='.$dns_record.'"</dns_record>';
166+
echo '<dns_record>'.$selector.'._domainkey.'.$_POST['domain'].'. 3600 TXT "v=DKIM1; t=s; p='.$dns_record.'"</dns_record>';
167167
}
168168
echo "</formatname>\n";
169169
?>

server/lib/classes/cron.d/500-backup.inc.php

Lines changed: 31 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -71,22 +71,13 @@ public function onRunJob() {
7171
} else {
7272
chmod(escapeshellcmd($backup_dir), $backup_dir_permissions);
7373
}
74-
75-
//* mount backup directory, if necessary
76-
$run_backups = true;
77-
$server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
78-
if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
79-
if(!$app->system->is_mounted($backup_dir)){
80-
exec(escapeshellcmd($server_config['backup_dir_mount_cmd']));
81-
sleep(1);
82-
if(!$app->system->is_mounted($backup_dir)) $run_backups = false;
83-
}
84-
}
85-
74+
$run_backups = true;
75+
//* mount backup directory, if necessary
76+
if( $server_config['backup_dir_is_mount'] == 'y' && !$app->system->mount_backup_dir($backup_dir) ) $run_backups = false;
8677
if($run_backups){
8778
//* backup only active domains
88-
$sql = "SELECT * FROM web_domain WHERE server_id = '".$conf['server_id']."' AND (type = 'vhost' OR type = 'vhostsubdomain' OR type = 'vhostalias') AND active = 'y'";
89-
$records = $app->db->queryAllRecords($sql);
79+
$sql = "SELECT * FROM web_domain WHERE server_id = ? AND (type = 'vhost' OR type = 'vhostsubdomain' OR type = 'vhostalias') AND active = 'y'";
80+
$records = $app->db->queryAllRecords($sql, $conf['server_id']);
9081
if(is_array($records)) {
9182
foreach($records as $rec) {
9283

@@ -138,9 +129,12 @@ public function onRunJob() {
138129
//* Insert web backup record in database
139130
//$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)."')";
140131
//$app->dbmaster->datalogInsert('web_backup', $insert_data, 'backup_id');
141-
$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)."')";
142-
$app->db->query($sql);
143-
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql);
132+
$filesize = $app->functions->formatBytes(filesize($web_backup_dir.'/'.$web_backup_file));
133+
$sql = "INSERT INTO web_backup (server_id, parent_domain_id, backup_type, backup_mode, tstamp, filename, filesize) VALUES (?, ?, ?, ?, ?, ?, ?)";
134+
$app->db->query($sql, $conf['server_id'], $web_id, 'web', $backup_mode, time(), $web_backup_file, $filesize);
135+
if($app->db->dbHost != $app->dbmaster->dbHost)
136+
$app->dbmaster->query($sql, $conf['server_id'], $web_id, 'web', $backup_mode, time(), $web_backup_file, $filesize);
137+
unset($filesize);
144138
}
145139
} else {
146140
if(is_file($web_backup_dir.'/'.$web_backup_file)) unlink($web_backup_dir.'/'.$web_backup_file);
@@ -167,9 +161,9 @@ public function onRunJob() {
167161
//$tmp = $app->dbmaster->queryOneRecord($sql);
168162
//$app->dbmaster->datalogDelete('web_backup', 'backup_id', $tmp['backup_id']);
169163
//$sql = "DELETE FROM web_backup WHERE backup_id = ".intval($tmp['backup_id']);
170-
$sql = "DELETE FROM web_backup WHERE server_id = ".$conf['server_id']." AND parent_domain_id = $web_id AND filename = '".$app->db->quote($files[$n])."'";
171-
$app->db->query($sql);
172-
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql);
164+
$sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?";
165+
$app->db->query($sql, $conf['server_id'], $web_id, $files[$n]);
166+
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $web_id, $files[$n]);
173167
}
174168
}
175169

@@ -199,16 +193,15 @@ public function onRunJob() {
199193
$web_backup_dir = realpath($backup_dir.'/web'.$web_id);
200194
if(is_dir($web_backup_dir)) {
201195
exec('sudo -u '.escapeshellarg($web_user).' rm -f '.escapeshellarg($web_backup_dir.'/*'));
202-
$sql = "DELETE FROM web_backup WHERE server_id = ".intval($conf['server_id'])." AND parent_domain_id = ".intval($web_id);
203-
$app->db->query($sql);
204-
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql);
196+
$sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ?";
197+
$app->db->query($sql, $conf['server_id'], $web_id);
198+
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $web_id);
205199
}
206200
}
207201
}
208202
}
209203

210-
$sql = "SELECT * FROM web_database WHERE server_id = ".$conf['server_id']." AND backup_interval != 'none' AND backup_interval != ''";
211-
$records = $app->db->queryAllRecords($sql);
204+
$records = $app->db->queryAllRecords("SELECT * FROM web_database WHERE server_id = ? AND backup_interval != 'none' AND backup_interval != ''", $conf['server_id']);
212205
if(is_array($records)) {
213206

214207
include 'lib/mysql_clientdb.conf';
@@ -245,9 +238,12 @@ public function onRunJob() {
245238
//* Insert web backup record in database
246239
//$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')";
247240
//$app->dbmaster->datalogInsert('web_backup', $insert_data, 'backup_id');
248-
$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')";
249-
$app->db->query($sql);
250-
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql);
241+
$filesize = $app->functions->formatBytes(filesize($db_backup_dir.'/'.$db_backup_file.'.gz'));
242+
$sql = "INSERT INTO web_backup (server_id, parent_domain_id, backup_type, backup_mode, tstamp, filename, filesize) VALUES (?, ?, ?, ?, ?, ?, ?)";
243+
$app->db->query($sql, $conf['server_id'], $web_id, 'mysql', 'sqlgz', time(), $db_backup_file.'.gz', $filesize);
244+
if($app->db->dbHost != $app->dbmaster->dbHost)
245+
$app->dbmaster->query($sql, $conf['server_id'], $web_id, 'mysql', 'sqlgz', time(), $db_backup_file.'.gz', $filesize);
246+
unset($filesize);
251247
}
252248
} else {
253249
if(is_file($db_backup_dir.'/'.$db_backup_file.'.gz')) unlink($db_backup_dir.'/'.$db_backup_file.'.gz');
@@ -277,9 +273,9 @@ public function onRunJob() {
277273
//$sql = "SELECT backup_id FROM web_backup WHERE server_id = ".$conf['server_id']." AND parent_domain_id = $web_id AND filename = '".$app->db->quote($filelist[$n])."'";
278274
//$tmp = $app->dbmaster->queryOneRecord($sql);
279275
//$sql = "DELETE FROM web_backup WHERE backup_id = ".intval($tmp['backup_id']);
280-
$sql = "DELETE FROM web_backup WHERE server_id = ".$conf['server_id']." AND parent_domain_id = $web_id AND filename = '".$app->db->quote($filelist[$n])."'";
281-
$app->db->query($sql);
282-
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql);
276+
$sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?";
277+
$app->db->query($sql, $conf['server_id'], $web_id, $filelist[$n]);
278+
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $web_id, $filelist[$n]);
283279
}
284280
}
285281
}
@@ -296,14 +292,14 @@ public function onRunJob() {
296292
}
297293

298294
// remove non-existing backups from database
299-
$backups = $app->db->queryAllRecords("SELECT * FROM web_backup WHERE server_id = ".$conf['server_id']);
295+
$backups = $app->db->queryAllRecords("SELECT * FROM web_backup WHERE server_id = ?", $conf['server_id']);
300296
if(is_array($backups) && !empty($backups)){
301297
foreach($backups as $backup){
302298
$backup_file = $backup_dir.'/web'.$backup['parent_domain_id'].'/'.$backup['filename'];
303299
if(!is_file($backup_file)){
304-
$sql = "DELETE FROM web_backup WHERE server_id = ".$conf['server_id']." AND parent_domain_id = ".$backup['parent_domain_id']." AND filename = '".$backup['filename']."'";
305-
$app->db->query($sql);
306-
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql);
300+
$sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?";
301+
$app->db->query($sql, $conf['server_id'], $backup['parent_domain_id'], $backup['filename']);
302+
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $backup['parent_domain_id'], $backup['filename']);
307303
}
308304
}
309305
}

server/lib/classes/cron.d/500-backup_mail.inc.php

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -59,19 +59,11 @@ public function onRunJob() {
5959
if($backup_mode == '') $backup_mode = 'userzip';
6060

6161
if($backup_dir != '') {
62-
//* mount backup directory, if necessary
6362
$run_backups = true;
64-
$server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
65-
if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
66-
if(!$app->system->is_mounted($backup_dir)){
67-
exec(escapeshellcmd($server_config['backup_dir_mount_cmd']));
68-
sleep(1);
69-
if(!$app->system->is_mounted($backup_dir)) $run_backups = false;
70-
}
71-
}
63+
//* mount backup directory, if necessary
64+
if( $server_config['backup_dir_is_mount'] == 'y' && !$app->system->mount_backup_dir($backup_dir) ) $run_backups = false;
7265

73-
$sql = "SELECT * FROM mail_user WHERE server_id = '".intval($conf['server_id'])."' AND maildir <> ''";
74-
$records = $app->db->queryAllRecords($sql);
66+
$records = $app->db->queryAllRecords("SELECT * FROM mail_user WHERE server_id = ? AND maildir <> ''", intval($conf['server_id']));
7567

7668
if(is_array($records) && $run_backups) {
7769
if(!is_dir($backup_dir)) {
@@ -83,10 +75,10 @@ public function onRunJob() {
8375
foreach($records as $rec) {
8476
//* Do the mailbox backup
8577
if($rec['backup_interval'] == 'daily' or ($rec['backup_interval'] == 'weekly' && date('w') == 0) or ($rec['backup_interval'] == 'monthly' && date('d') == '01')) {
86-
$email = $rec['email'][1];
87-
$sql="SELECT * FROM mail_domain WHERE domain = ?" . $app->db->quote(explode("@",$email))."'";
78+
$email = $rec['email'];
79+
$email=explode("@",$email)[1];
80+
$domain_rec=$app->db->queryOneRecord("SELECT * FROM mail_domain WHERE domain = ?", $email);
8881
unset($email);
89-
$domain_rec=$app->db->queryOneRecord($sql);
9082

9183
$mail_backup_dir = $backup_dir.'/mail'.$domain_rec['domain_id'];
9284
if(!is_dir($mail_backup_dir)) mkdir($mail_backup_dir, 0750);
@@ -116,9 +108,9 @@ public function onRunJob() {
116108
chgrp($mail_backup_dir.'/'.$mail_backup_file, 'root');
117109
chmod($mail_backup_dir.'/'.$mail_backup_file, 0640);
118110
/* Insert mail backup record in database */
119-
$sql = "INSERT INTO mail_backup (server_id,parent_domain_id,mailuser_id,backup_mode,tstamp,filename,filesize) VALUES (".$conf['server_id'].",".$domain_rec['domain_id'].",".$rec['mailuser_id'].",'".$backup_mode."',".time().",'".$app->db->quote($mail_backup_file)."','".$app->functions->formatBytes(filesize($mail_backup_dir.'/'.$mail_backup_file))."')";
120-
$app->db->query($sql);
121-
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql);
111+
$sql = "INSERT INTO mail_backup (server_id, parent_domain_id, mailuser_id, backup_mode, tstamp, filename, filesize) VALUES (?, ?, ?, ?, ?, ?, ?)";
112+
$app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id'], $backup_mode, time(), $mail_backup_file, $app->functions->formatBytes(filesize($mail_backup_dir.'/'.$mail_backup_file)));
113+
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id'], $backup_mode, time(), $mail_backup_file, $app->functions->formatBytes(filesize($mail_backup_dir.'/'.$mail_backup_file)));
122114
} else {
123115
/* Backup failed - remove archive */
124116
if(is_file($mail_backup_dir.'/'.$mail_backup_file)) unlink($mail_backup_dir.'/'.$mail_backup_file);
@@ -138,9 +130,9 @@ public function onRunJob() {
138130
for ($n = $backup_copies; $n <= 10; $n++) {
139131
if(isset($files[$n]) && is_file($mail_backup_dir.'/'.$files[$n])) {
140132
unlink($mail_backup_dir.'/'.$files[$n]);
141-
$sql = "DELETE FROM mail_backup WHERE server_id = ".$conf['server_id']." AND parent_domain_id = ".$domain_rec['domain_id']." AND filename = '".$app->db->quote($files[$n])."'";
142-
$app->db->query($sql);
143-
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql);
133+
$sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?";
134+
$app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $files[$n]);
135+
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $files[$n]);
144136
}
145137
}
146138
unset($files);
@@ -149,9 +141,9 @@ public function onRunJob() {
149141
/* Remove inactive backups */
150142
if($rec['backup_interval'] == 'none') {
151143
/* remove backups from db */
152-
$sql = "DELETE FROM mail_backup WHERE server_id = ".$conf['server_id']." AND parent_domain_id = ".$domain_rec['domain_id']." AND mailuser_id = ".$rec['mailuser_id'];
153-
$app->db->query($sql);
154-
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql);
144+
$sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ?";
145+
$app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']);
146+
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']);
155147
/* remove archives */
156148
$mail_backup_dir = $backup_dir.'/mail'.$rec['domain_id'];
157149
$mail_backup_file = 'mail'.$rec['mailuser_id'].'_*';

server/lib/classes/system.inc.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1801,6 +1801,22 @@ function is_mounted($mountpoint){
18011801
return $return_var == 0 ? true : false;
18021802
}
18031803

1804+
function mount_backup_dir($backup_dir, $mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_mount.sh'){
1805+
$mounted = true;
1806+
if ( is_file($mount_cmd) &&
1807+
is_executable($mount_cmd) &&
1808+
fileowner($mount_cmd) === 0
1809+
) {
1810+
if (!$this->is_mounted($backup_dir)){
1811+
exec($backup_dir_mount_cmd);
1812+
sleep(1);
1813+
if (!$this->is_mounted($backup_dir)) $mounted = false;
1814+
}
1815+
} else $mounted = false;
1816+
1817+
return $mounted;
1818+
}
1819+
18041820
function getinitcommand($servicename, $action, $init_script_directory = ''){
18051821
global $conf;
18061822
// upstart

server/plugins-available/apache2_plugin.inc.php

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2048,25 +2048,19 @@ function delete($event_name, $data) {
20482048
if($data['old']['type'] == 'vhost') {
20492049
$server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
20502050
$backup_dir = $server_config['backup_dir'];
2051-
//* mount backup directory, if necessary
20522051
$mount_backup = true;
2053-
$server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
20542052
if($server_config['backup_dir'] != '' && $server_config['backup_delete'] == 'y') {
2055-
if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
2056-
if(!$app->system->is_mounted($backup_dir)){
2057-
exec(escapeshellcmd($server_config['backup_dir_mount_cmd']));
2058-
sleep(1);
2059-
if(!$app->system->is_mounted($backup_dir)) $mount_backup = false;
2060-
}
2061-
}
2053+
//* mount backup directory, if necessary
2054+
if( $server_config['backup_dir_is_mount'] == 'y' && !$app->system->mount_backup_dir($backup_dir) ) $mount_backup = false;
2055+
20622056
if($mount_backup){
20632057
$web_backup_dir = $backup_dir.'/web'.$data_old['domain_id'];
20642058
//** do not use rm -rf $web_backup_dir because database(s) may exits
20652059
exec(escapeshellcmd('rm -f '.$web_backup_dir.'/web'.$data_old['domain_id'].'_').'*');
20662060
//* cleanup database
2067-
$sql = "DELETE FROM web_backup WHERE server_id = ".$conf['server_id']." AND parent_domain_id = ".$data_old['domain_id']." AND filename LIKE 'web".$data_old['domain_id']."_%'";
2068-
$app->db->query($sql);
2069-
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql);
2061+
$sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename LIKE ?";
2062+
$app->db->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%");
2063+
if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%");
20702064

20712065
$app->log('Deleted the web backup files', LOGLEVEL_DEBUG);
20722066
}

server/plugins-available/backup_plugin.inc.php

Lines changed: 5 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -72,30 +72,9 @@ public function backup_action($action_name, $data) {
7272
$server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
7373
$backup_dir = $server_config['backup_dir'].'/web'.$web['domain_id'];
7474

75-
//* mount backup directory, if necessary
76-
/*
77-
$backup_dir_is_ready = true;
78-
$server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
79-
if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
80-
if(!$app->system->is_mounted($server_config['backup_dir'])){
81-
exec(escapeshellcmd($server_config['backup_dir_mount_cmd']));
82-
sleep(1);
83-
if(!$app->system->is_mounted($server_config['backup_dir'])) $backup_dir_is_ready = false;
84-
}
85-
}*/
8675
$backup_dir_is_ready = true;
87-
$backup_dir_mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_mount.sh';
88-
if( $server_config['backup_dir_is_mount'] == 'y' &&
89-
is_file($backup_dir_mount_cmd) &&
90-
is_executable($backup_dir_mount_cmd) &&
91-
fileowner($backup_dir_mount_cmd) === 0
92-
){
93-
if(!$app->system->is_mounted($backup_dir)){
94-
exec($backup_dir_mount_cmd);
95-
sleep(1);
96-
if(!$app->system->is_mounted($server_config['backup_dir'])) $backup_dir_is_ready = false;
97-
}
98-
}
76+
//* mount backup directory, if necessary
77+
if( $server_config['backup_dir_is_mount'] == 'y' && !$app->system->mount_backup_dir($backup_dir) ) $backup_dir_is_ready = false;
9978

10079
if($backup_dir_is_ready){
10180
//* Make backup available for download
@@ -186,17 +165,10 @@ public function backup_action($action_name, $data) {
186165
$server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
187166
$backup_dir = $server_config['backup_dir'];
188167

189-
//* mount backup directory, if necessary
190168
$backup_dir_is_ready = true;
191-
$server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
192-
if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
193-
if(!$app->system->is_mounted($backup_dir)){
194-
exec(escapeshellcmd($server_config['backup_dir_mount_cmd']));
195-
sleep(1);
196-
if(!$app->system->is_mounted($backup_dir)) $backup_dir_is_ready = false;
197-
}
198-
}
199-
169+
//* mount backup directory, if necessary
170+
if( $server_config['backup_dir_is_mount'] == 'y' && !$app->system->mount_backup_dir($backup_dir) ) $backup_dir_is_ready = false;
171+
200172
if($backup_dir_is_ready){
201173
$mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail');
202174
$domain_rec = $app->db->queryOneRecord("SELECT * FROM mail_domain WHERE domain_id = ".intval($mail_backup['parent_domain_id']));

0 commit comments

Comments
 (0)