From aec1333faab59d5de487ecee0da059449e9c21fd Mon Sep 17 00:00:00 2001
From: horfic <horfic@ispconfig3>
Date: Mon, 10 Jan 2011 13:29:51 +0000
Subject: [PATCH] *) Changed remote function sites_web_domain_add to allow
 readonly website to be created *) Forgot to add the entries for mailman in
 the main.cf of postfix

---
 install/lib/installer_base.lib.php     | 7 +++++--
 interface/lib/classes/remoting.inc.php | 5 ++++-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 741f9a6f38..eb8cf3b68d 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -558,8 +558,10 @@ class installer_base {
 				'myhostname = '.$conf['hostname'],
 				'mydestination = '.$conf['hostname'].', localhost, localhost.localdomain',
 				'mynetworks = 127.0.0.0/8 [::1]/128',
+				'alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases',
+				'alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases',
 				'virtual_alias_domains =',
-				'virtual_alias_maps = proxy:mysql:'.$config_dir.'/mysql-virtual_forwardings.cf, mysql:'.$config_dir.'/mysql-virtual_email2email.cf',
+				'virtual_alias_maps = proxy:mysql:'.$config_dir.'/mysql-virtual_forwardings.cf, mysql:'.$config_dir.'/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman',
 				'virtual_mailbox_domains = proxy:mysql:'.$config_dir.'/mysql-virtual_domains.cf',
 				'virtual_mailbox_maps = proxy:mysql:'.$config_dir.'/mysql-virtual_mailboxes.cf',
 				'virtual_mailbox_base = '.$cf['vmail_mailbox_base'],
@@ -591,7 +593,8 @@ class installer_base {
 				'header_checks = regexp:'.$config_dir.'/header_checks',
 				'mime_header_checks = regexp:'.$config_dir.'/mime_header_checks',
 				'nested_header_checks = regexp:'.$config_dir.'/nested_header_checks',
-				'body_checks = regexp:'.$config_dir.'/body_checks'
+				'body_checks = regexp:'.$config_dir.'/body_checks',
+				'owner_request_special = no'
 		);
 
 		//* Create the header and body check files
diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php
index 875eaffcad..51677168f0 100644
--- a/interface/lib/classes/remoting.inc.php
+++ b/interface/lib/classes/remoting.inc.php
@@ -1238,13 +1238,16 @@ class remoting {
 	}
 	
 	//* Add a record
-	public function sites_web_domain_add($session_id, $client_id, $params)
+	public function sites_web_domain_add($session_id, $client_id, $params, $readonly = false)
     {
+		global $app;
 		if(!$this->checkPerm($session_id, 'sites_web_domain_add')) {
 			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
 			return false;
 		}
 		$affected_rows =  $this->insertQuery('../sites/form/web_domain.tform.php',$client_id,$params, 'sites:web_domain:on_after_insert');
+		if ($readonly === true)
+			$app->db->query("UPDATE web_domain SET `sys_userid` = '1' WHERE domain_id = ".$affected_rows);
 		return $affected_rows;		
 	}
 	
-- 
GitLab