Till Brehm
2014-02-16 128d3b5ccb7b939b3701f4444589f5d973a7d9e7
Fixed: FS#2947 - courier config file written when server set to dovecot / sieve
1 files modified
39 ■■■■■ changed files
server/lib/classes/system.inc.php 39 ●●●●● patch | view | raw | blame | history
server/lib/classes/system.inc.php
@@ -1478,7 +1478,11 @@
    function maildirmake($maildir_path, $user = '', $subfolder = '') {
        global $app;
        global $app, $conf;
        // load the server configuration options
        $app->uses("getconf");
        $mail_config = $app->getconf->get_server_config($conf["server_id"], 'mail');
        if($subfolder != '') {
            $dir = escapeshellcmd($maildir_path.'/.'.$subfolder);
@@ -1521,25 +1525,30 @@
        //* Add the subfolder to the subscriptions and courierimapsubscribed files
        if($subfolder != '') {
            // Courier
            if(!is_file($maildir_path.'/courierimapsubscribed')) {
                $tmp_file = escapeshellcmd($maildir_path.'/courierimapsubscribed');
                touch($tmp_file);
                chmod($tmp_file, 0744);
                chown($tmp_file, 'vmail');
                chgrp($tmp_file, 'vmail');
            if($mail_config['pop3_imap_daemon'] == 'courier') {
                if(!is_file($maildir_path.'/courierimapsubscribed')) {
                    $tmp_file = escapeshellcmd($maildir_path.'/courierimapsubscribed');
                    touch($tmp_file);
                    chmod($tmp_file, 0744);
                    chown($tmp_file, 'vmail');
                    chgrp($tmp_file, 'vmail');
                }
                $this->replaceLine($maildir_path.'/courierimapsubscribed', 'INBOX.'.$subfolder, 'INBOX.'.$subfolder, 1, 1);
            }
            $this->replaceLine($maildir_path.'/courierimapsubscribed', 'INBOX.'.$subfolder, 'INBOX.'.$subfolder, 1, 1);
            // Dovecot
            if(!is_file($maildir_path.'/subscriptions')) {
                $tmp_file = escapeshellcmd($maildir_path.'/subscriptions');
                touch($tmp_file);
                chmod($tmp_file, 0744);
                chown($tmp_file, 'vmail');
                chgrp($tmp_file, 'vmail');
            if($mail_config['pop3_imap_daemon'] == 'dovecot') {
                if(!is_file($maildir_path.'/subscriptions')) {
                    $tmp_file = escapeshellcmd($maildir_path.'/subscriptions');
                    touch($tmp_file);
                    chmod($tmp_file, 0744);
                    chown($tmp_file, 'vmail');
                    chgrp($tmp_file, 'vmail');
                }
                $this->replaceLine($maildir_path.'/subscriptions', $subfolder, $subfolder, 1, 1);
            }
            $this->replaceLine($maildir_path.'/subscriptions', $subfolder, $subfolder, 1, 1);
        }
        $app->log('Created Maildir '.$maildir_path.' with subfolder: '.$subfolder, LOGLEVEL_DEBUG);