Merge pull request #28 from avengerx/new_maildir_structure
New maildir structure fixes #1103 Thanks to avengerx
This commit is contained in:
@@ -310,7 +310,6 @@ while($row = $db->fetch_array($result_tasks))
|
||||
safe_exec('rm -rf '.escapeshellarg($backupdir));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* remove maildir
|
||||
*/
|
||||
@@ -318,7 +317,10 @@ while($row = $db->fetch_array($result_tasks))
|
||||
|
||||
if($maildir != '/'
|
||||
&& $maildir != $settings['system']['vmail_homedir']
|
||||
&& substr($maildir, 0, strlen($settings['system']['vmail_homedir'])) == $settings['system']['vmail_homedir'])
|
||||
&& substr($maildir, 0, strlen($settings['system']['vmail_homedir'])) == $settings['system']['vmail_homedir']
|
||||
&& is_dir($maildir)
|
||||
&& fileowner($maildir) == $settings['system']['vmail_uid']
|
||||
&& filegroup($maildir) == $settings['system']['vmail_gid'])
|
||||
{
|
||||
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Running: rm -rf ' . escapeshellarg($maildir));
|
||||
safe_exec('rm -rf '.escapeshellarg($maildir));
|
||||
@@ -388,11 +390,25 @@ while($row = $db->fetch_array($result_tasks))
|
||||
/*
|
||||
* remove specific maildir
|
||||
*/
|
||||
$maildir = makeCorrectDir($settings['system']['vmail_homedir'] .'/'. $row['data']['loginname'] .'/'. $row['data']['email']);
|
||||
$email_full = $row['data']['email'];
|
||||
if (empty($email_full)) {
|
||||
$cronlog->logAction(CRON_ACTION, LOG_ERROR, 'FATAL: Task7 asks to delete a email account but email field is empty!');
|
||||
}
|
||||
$email_user=substr($email_full,0,strrpos($email_full,"@"));
|
||||
$email_domain=substr($email_full,strrpos($email_full,"@")+1);
|
||||
$maildirname=trim($settings['system']['vmail_maildirname']);
|
||||
// Add trailing slash to Maildir if needed
|
||||
$maildirpath=$maildirname;
|
||||
if (!empty($maildirname) and substr($maildirname,-1) != "/") $maildirpath.="/";
|
||||
$maildir = makeCorrectDir($settings['system']['vmail_homedir'] .'/'. $row['data']['loginname'] .'/'. $email_domain .'/'. $email_user);
|
||||
|
||||
if($maildir != '/'
|
||||
if($maildir != '/' && !empty($maildir) && !empty($email_full)
|
||||
&& $maildir != $settings['system']['vmail_homedir']
|
||||
&& substr($maildir, 0, strlen($settings['system']['vmail_homedir'])) == $settings['system']['vmail_homedir'])
|
||||
&& substr($maildir, 0, strlen($settings['system']['vmail_homedir'])) == $settings['system']['vmail_homedir']
|
||||
&& is_dir($maildir)
|
||||
&& is_dir(makeCorrectDir($maildir.'/'.$maildirpath))
|
||||
&& fileowner($maildir) == $settings['system']['vmail_uid']
|
||||
&& filegroup($maildir) == $settings['system']['vmail_gid'])
|
||||
{
|
||||
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Running: rm -rf ' . escapeshellarg($maildir));
|
||||
safe_exec('rm -rf '.escapeshellarg($maildir));
|
||||
|
||||
Reference in New Issue
Block a user