| | |
| | | } |
| | | |
| | | //* Set the maildir quota |
| | | exec("su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name']); |
| | | $app->log('Set Maildir quota: '."su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG); |
| | | if(is_dir($data['new']['maildir'].'new')) { |
| | | exec("su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name']); |
| | | $app->log('Set Maildir quota: '."su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG); |
| | | } |
| | | } |
| | | |
| | | function user_update($event_name,$data) { |
| | |
| | | $mail_config = $app->getconf->get_server_config($conf["server_id"], 'mail'); |
| | | |
| | | // Create the maildir, if it does not exist |
| | | /* |
| | | if(!is_dir($data['new']['maildir'])) { |
| | | exec('mkdir -p '.escapeshellcmd($data['new']['maildir'])); |
| | | exec('chown '.$mail_config['mailuser_name'].':'.$mail_config['mailuser_group'].' '.escapeshellcmd($data['new']['maildir'])); |
| | | $app->log('Created Maildir: '.$data['new']['maildir'],LOGLEVEL_DEBUG); |
| | | } |
| | | */ |
| | | |
| | | $maildomain_path = $data['new']['maildir']; |
| | | $tmp_basepath = $data['new']['maildir']; |
| | | $tmp_basepath_parts = explode('/',$tmp_basepath); |
| | | unset($tmp_basepath_parts[count($tmp_basepath_parts)-1]); |
| | | $base_path = implode('/',$tmp_basepath_parts); |
| | | |
| | | //* Create the mail domain directory, if it does not exist |
| | | if(!empty($base_path) && !is_dir($base_path)) { |
| | | exec("su -c 'mkdir -p ".escapeshellcmd($base_path)."' ".$mail_config['mailuser_name']); |
| | | $app->log('Created Directory: '.$base_path,LOGLEVEL_DEBUG); |
| | | } |
| | | |
| | | //* Create the maildir, if it doesn not exist, set permissions, set quota. |
| | | if(!empty($maildomain_path) && !is_dir($maildomain_path.'new')) { |
| | | exec("su -c 'maildirmake ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']); |
| | | exec('chown -R '.$mail_config['mailuser_name'].':'.$mail_config['mailuser_group'].' '.escapeshellcmd($data['new']['maildir'])); |
| | | $app->log("Set ownership on ".escapeshellcmd($data['new']['maildir']),LOGLEVEL_DEBUG); |
| | | //* This is to fix the maildrop quota not being rebuilt after the quota is changed. |
| | | exec("su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name']); // Avoid maildirmake quota bug, see debian bug #214911 |
| | | $app->log('Created Maildir: '."su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($maildomain_path)."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG); |
| | | } |
| | | |
| | | // Move mailbox, if domain has changed and delete old mailbox |
| | |
| | | $app->log('Moved Maildir from: '.$data['old']['maildir'].' to '.$data['new']['maildir'],LOGLEVEL_DEBUG); |
| | | } |
| | | //This is to fix the maildrop quota not being rebuilt after the quota is changed. |
| | | exec("su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name']); |
| | | $app->log('Created Maildir: '."su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG); |
| | | if(is_dir($data['new']['maildir'].'new')) { |
| | | exec("su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name']); |
| | | $app->log('Created Maildir: '."su -c 'maildirmake -q ".$data['new']['quota']."S ".escapeshellcmd($data['new']['maildir'])."' ".$mail_config['mailuser_name'],LOGLEVEL_DEBUG); |
| | | } |
| | | } |
| | | |
| | | function user_delete($event_name,$data) { |