From 526b997c9891a796b152cdbab8e329b356b1f596 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Fri, 22 Feb 2013 08:59:02 -0500 Subject: [PATCH] Merged revisions 3803-3844 from stable branch. --- install/dist/lib/centos52.lib.php | 73 ++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 0 deletions(-) diff --git a/install/dist/lib/centos52.lib.php b/install/dist/lib/centos52.lib.php index f00414a..8accc9a 100644 --- a/install/dist/lib/centos52.lib.php +++ b/install/dist/lib/centos52.lib.php @@ -30,6 +30,79 @@ class installer extends installer_dist { + public function configure_mailman($status = 'insert') { + global $conf; + + $config_dir = $conf['mailman']['config_dir'].'/'; + $full_file_name = $config_dir.'mm_cfg.py'; + //* Backup exiting file + if(is_file($full_file_name)) { + copy($full_file_name, $config_dir.'mm_cfg.py~'); + } + + // load files + $content = rf('tpl/mm_cfg.py.master'); + $old_file = rf($full_file_name); + + $old_options = array(); + $lines = explode("\n", $old_file); + foreach ($lines as $line) + { + if (trim($line) != '' && substr($line, 0, 1) != '#') + { + @list($key, $value) = @explode("=", $line); + if (!empty($value)) + { + $key = rtrim($key); + $old_options[$key] = trim($value); + } + } + } + + $config_dir = $conf['mailman']['config_dir'].'/'; + $full_file_name = $config_dir.'virtual_to_transport.sh'; + + //* Backup exiting virtual_to_transport.sh script + if(is_file($full_file_name)) { + copy($full_file_name, $config_dir.'virtual_to_transport.sh~'); + } + + copy('tpl/mailman-virtual_to_transport.sh',$full_file_name); + chgrp($full_file_name,'mailman'); + chmod($full_file_name,0750); + + if(!is_file('/var/lib/mailman/data/transport-mailman')) touch('/var/lib/mailman/data/transport-mailman'); + exec('/usr/sbin/postmap /var/lib/mailman/data/transport-mailman'); + + exec('/usr/lib/mailman/bin/genaliases 2>/dev/null'); + + $virtual_domains = ''; + if($status == 'update') + { + // create virtual_domains list + $domainAll = $this->db->queryAllRecords("SELECT domain FROM mail_mailinglist GROUP BY domain"); + + if(is_array($domainAll)) { + foreach($domainAll as $domain) + { + if ($domainAll[0]['domain'] == $domain['domain']) + $virtual_domains .= "'".$domain['domain']."'"; + else + $virtual_domains .= ", '".$domain['domain']."'"; + } + } + } + else + $virtual_domains = "' '"; + + $content = str_replace('{hostname}', $conf['hostname'], $content); + if(!isset($old_options['DEFAULT_SERVER_LANGUAGE'])) $old_options['DEFAULT_SERVER_LANGUAGE'] = ''; + $content = str_replace('{default_language}', $old_options['DEFAULT_SERVER_LANGUAGE'], $content); + $content = str_replace('{virtual_domains}', $virtual_domains, $content); + + wf($full_file_name, $content); + } + public function configure_amavis() { global $conf; -- Gitblit v1.9.1