From 04620b7ff00c194ae1bf4c398ebcb26d5c950b6a Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 11 Jan 2011 09:54:43 -0500
Subject: [PATCH] Merged these revisions from trunk: 2153-2164,2166,2168,2171

---
 interface/web/monitor/lib/lang/se.lng                  |    2 
 interface/web/sites/templates/web_domain_advanced.htm  |    2 
 install/tpl/config.inc.php.master                      |    2 
 docs/INSTALL_DEBIAN_5.0_courier_mydns.txt              |    6 +
 interface/web/dns/form/dns_soa.tform.php               |    2 
 interface/lib/classes/plugin.inc.php                   |    3 
 interface/web/monitor/lib/lang/en.lng                  |    2 
 interface/web/sites/web_aliasdomain_edit.php           |    3 
 interface/web/mail/form/mail_domain.tform.php          |    2 
 interface/web/monitor/lib/lang/de.lng                  |    2 
 server/mods-available/monitor_core_module.inc.php      |    4 
 interface/web/mail/mail_user_edit.php                  |    2 
 interface/web/monitor/lib/lang/cz.lng                  |    2 
 interface/web/mail/form/mail_aliasdomain.tform.php     |    2 
 interface/web/mail/form/mail_user_filter.tform.php     |    2 
 interface/web/mail/templates/mail_aliasdomain_list.htm |    2 
 interface/web/monitor/lib/lang/sk.lng                  |    2 
 install/sql/ispconfig3.sql                             |    4 
 interface/web/dns/dns_wizard.php                       |    8 +-
 server/lib/classes/modules.inc.php                     |    5 
 interface/lib/classes/remoting.inc.php                 |   96 ++++++++++++------------
 interface/web/sites/form/web_domain.tform.php          |    2 
 server/cron_daily.php                                  |   11 +-
 interface/web/monitor/lib/lang/ar.lng                  |    2 
 interface/web/monitor/lib/lang/hu.lng                  |    2 
 interface/web/mail/form/mail_domain_catchall.tform.php |    2 
 interface/lib/classes/tform.inc.php                    |   10 +-
 server/lib/classes/services.inc.php                    |    3 
 server/lib/classes/plugins.inc.php                     |    3 
 interface/web/sites/web_domain_edit.php                |    7 +
 interface/web/monitor/lib/lang/it.lng                  |    2 
 interface/web/sites/form/web_aliasdomain.tform.php     |    2 
 interface/web/temp/en.lng                              |    2 
 interface/web/monitor/lib/lang/ro.lng                  |    2 
 interface/web/sites/web_subdomain_edit.php             |    3 
 interface/web/monitor/lib/lang/bg.lng                  |    2 
 interface/web/sites/form/web_subdomain.tform.php       |    2 
 server/conf/bind_pri.domain.master                     |    2 
 38 files changed, 118 insertions(+), 96 deletions(-)

diff --git a/docs/INSTALL_DEBIAN_5.0_courier_mydns.txt b/docs/INSTALL_DEBIAN_5.0_courier_mydns.txt
index 8b28eab..7d53cfd 100644
--- a/docs/INSTALL_DEBIAN_5.0_courier_mydns.txt
+++ b/docs/INSTALL_DEBIAN_5.0_courier_mydns.txt
@@ -264,7 +264,11 @@
 
 6) Install vlogger and webalizer
 
-apt-get -y install vlogger webalizer
+apt-get -y install vlogger webalizer awstats
+
+mkdir /usr/share/awstats/tools
+cp -prf /usr/share/doc/awstats/examples/awstats_buildstaticpages.pl /usr/share/awstats/tools/awstats_buildstaticpages.pl
+
 
 
 7) Install Jailkit (optional, only needed if you want to use chrooting for SSH users)
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 780ecac..c8adb20 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -954,8 +954,8 @@
   `action` char(1) NOT NULL default '',
   `tstamp` int(11) NOT NULL default '0',
   `user` varchar(255) NOT NULL default '',
-  `data` longtext NOT NULL,
-  `status` set('pending','ok','warning','error') NOT NULL default 'pending',
+  `data` longtext NOT NULL,
+  `status` set('pending','ok','warning','error') NOT NULL default 'ok',
   PRIMARY KEY  (`datalog_id`),
   KEY `server_id` (`server_id`,`status`)
 ) ENGINE=MyISAM AUTO_INCREMENT=1;
diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master
index 495c942..1ce1c88 100644
--- a/install/tpl/config.inc.php.master
+++ b/install/tpl/config.inc.php.master
@@ -56,7 +56,7 @@
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.3.1');
+define('ISPC_APP_VERSION', '3.0.3.2');
 
 
 //** Database
diff --git a/interface/lib/classes/plugin.inc.php b/interface/lib/classes/plugin.inc.php
index 086ef70..450efd0 100644
--- a/interface/lib/classes/plugin.inc.php
+++ b/interface/lib/classes/plugin.inc.php
@@ -148,7 +148,8 @@
 						$app->loaded_plugins[$plugin_name] = new $plugin_name;
 					}
 					if($this->debug) $app->log("Called method: '$function_name' in plugin '$plugin_name' for event '$event_name'",LOGLEVEL_DEBUG);
-					call_user_method($function_name,$app->loaded_plugins[$plugin_name],$event_name,$data);
+					// call_user_method($function_name,$app->loaded_plugins[$plugin_name],$event_name,$data);
+					call_user_func(array($app->loaded_plugins[$plugin_name],$function_name),$event_name,$data);
 				}
 			}
 			
diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php
index 5167716..afddd0c 100644
--- a/interface/lib/classes/remoting.inc.php
+++ b/interface/lib/classes/remoting.inc.php
@@ -192,53 +192,53 @@
 		return $affected_rows;
 	}
 	
-	//* Get mail mailinglist details
-	public function mail_mailinglist_get($session_id, $primary_id)
-    {
-		global $app;
-		
-		if(!$this->checkPerm($session_id, 'mail_mailinglist_get')) {
-			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
-			return false;
-		}
-		$app->uses('remoting_lib');
-		$app->remoting_lib->loadFormDef('../mail/form/mail_mailinglist.tform.php');
-		return $app->remoting_lib->getDataRecord($primary_id);
-	}
-	
-	//* Add a mail mailinglist
-	public function mail_mailinglist_add($session_id, $client_id, $params)
-    {
-		if(!$this->checkPerm($session_id, 'mail_mailinglist_add')) {
-			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
-			return false;
-		}
-		$primary_id = $this->insertQuery('../mail/form/mail_mailinglist.tform.php',$client_id,$params);
-		return $primary_id;
-	}
-	
-	//* Update a mail mailinglist
-	public function mail_mailinglist_update($session_id, $client_id, $primary_id, $params)
-    {
-		if(!$this->checkPerm($session_id, 'mail_mailinglist_update')) {
-			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
-			return false;
-		}
-		$affected_rows = $this->updateQuery('../mail/form/mail_mailinglist.tform.php', $client_id, $primary_id, $params);
-		return $affected_rows;
-	}
-	
-	//* Delete a mail mailinglist
-	public function mail_mailinglist_delete($session_id, $primary_id)
-    {
-		if(!$this->checkPerm($session_id, 'mail_mailinglist_delete')) {
-			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
-			return false;
-		}
-		$affected_rows = $this->deleteQuery('../mail/form/mail_mailinglist.tform.php', $primary_id);
-		return $affected_rows;
-	}
-	
+	//* Get mail mailinglist details
+	public function mail_mailinglist_get($session_id, $primary_id)
+    {
+		global $app;
+		
+		if(!$this->checkPerm($session_id, 'mail_mailinglist_get')) {
+			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
+			return false;
+		}
+		$app->uses('remoting_lib');
+		$app->remoting_lib->loadFormDef('../mail/form/mail_mailinglist.tform.php');
+		return $app->remoting_lib->getDataRecord($primary_id);
+	}
+	
+	//* Add a mail mailinglist
+	public function mail_mailinglist_add($session_id, $client_id, $params)
+    {
+		if(!$this->checkPerm($session_id, 'mail_mailinglist_add')) {
+			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
+			return false;
+		}
+		$primary_id = $this->insertQuery('../mail/form/mail_mailinglist.tform.php',$client_id,$params);
+		return $primary_id;
+	}
+	
+	//* Update a mail mailinglist
+	public function mail_mailinglist_update($session_id, $client_id, $primary_id, $params)
+    {
+		if(!$this->checkPerm($session_id, 'mail_mailinglist_update')) {
+			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
+			return false;
+		}
+		$affected_rows = $this->updateQuery('../mail/form/mail_mailinglist.tform.php', $client_id, $primary_id, $params);
+		return $affected_rows;
+	}
+	
+	//* Delete a mail mailinglist
+	public function mail_mailinglist_delete($session_id, $primary_id)
+    {
+		if(!$this->checkPerm($session_id, 'mail_mailinglist_delete')) {
+			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
+			return false;
+		}
+		$affected_rows = $this->deleteQuery('../mail/form/mail_mailinglist.tform.php', $primary_id);
+		return $affected_rows;
+	}
+	
 	//* Get mail user details
 	public function mail_user_get($session_id, $primary_id)
     {
@@ -1005,7 +1005,7 @@
 					$this->server->fault('permission_denied','You do not have the permissions to access this function.');
 					return false;
 			}
-			$affected_rows = $this->updateQuery('../client/form/client.tform.php', $client_id, $reseller_id, $params);
+			$affected_rows = $this->updateQuery('../client/form/client.tform.php', $reseller_id, $client_id, $params);
 			
 			$app->remoting_lib->ispconfig_sysuser_update($params,$client_id);
 			
diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index 3a5e189..9537430 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -737,7 +737,7 @@
                                         }
                                 break;
                                 case 'ISEMAIL':
-                                        if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z\-]{2,10}$/i", $field_value)) {
+                                        if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-zA-Z0-9\-]{2,30}$/i", $field_value)) {
                                                 $errmsg = $validator['errmsg'];
                                                 if(isset($this->wordbook[$errmsg])) {
                                                     $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
@@ -860,14 +860,14 @@
 																}
 																$salt.="$";
 																// $salt = substr(md5(time()),0,2);
-																$record[$key] = crypt($record[$key],$salt);
+																$record[$key] = crypt(stripslashes($record[$key]),$salt);
 																$sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
 														} elseif ($field['encryption'] == 'MYSQL') {
 																$sql_insert_val .= "PASSWORD('".$app->db->quote($record[$key])."'), ";
 														} elseif ($field['encryption'] == 'CLEARTEXT') {
 																$sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                         } else {
-                                                                $record[$key] = md5($record[$key]);
+                                                                $record[$key] = md5(stripslashes($record[$key]));
 																$sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                         }
 														
@@ -895,14 +895,14 @@
 																}
 																$salt.="$";
 																// $salt = substr(md5(time()),0,2);
-																$record[$key] = crypt($record[$key],$salt);
+																$record[$key] = crypt(stripslashes($record[$key]),$salt);
 																$sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
 														} elseif (isset($field['encryption']) && $field['encryption'] == 'MYSQL') {
 																$sql_update .= "`$key` = PASSWORD('".$app->db->quote($record[$key])."'), ";
 														} elseif (isset($field['encryption']) && $field['encryption'] == 'CLEARTEXT') {
 																$sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                         } else {
-                                                                $record[$key] = md5($record[$key]);
+                                                                $record[$key] = md5(stripslashes($record[$key]));
 																$sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                         }
                                                         
diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php
index 0fb5498..304bef3 100644
--- a/interface/web/dns/dns_wizard.php
+++ b/interface/web/dns/dns_wizard.php
@@ -138,10 +138,10 @@
 	if(isset($_POST['ns2']) && $_POST['ns2'] == '') $error .= $app->lng('error_ns2_empty').'<br />';
 	if(isset($_POST['email']) && $_POST['email'] == '') $error .= $app->lng('error_email_empty').'<br />';
 	
-	if(isset($_POST['domain']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z\-]{2,10}[\.]{0,1}$/',$_POST['domain'])) $error .= $app->lng('error_domain_regex').'<br />';
-	if(isset($_POST['ns1']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',$_POST['ns1'])) $error .= $app->lng('error_ns1_regex').'<br />';
-	if(isset($_POST['ns2']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}[\.]{0,1}$/',$_POST['ns2'])) $error .= $app->lng('error_ns2_regex').'<br />';
-	if(isset($_POST['email']) && !preg_match('/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z\-]{2,10}$/i',$_POST['email'])) $error .= $app->lng('error_email_regex').'<br />';
+	if(isset($_POST['domain']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z0-9\-]{2,30}[\.]{0,1}$/',$_POST['domain'])) $error .= $app->lng('error_domain_regex').'<br />';
+	if(isset($_POST['ns1']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z0-9]{2,30}[\.]{0,1}$/',$_POST['ns1'])) $error .= $app->lng('error_ns1_regex').'<br />';
+	if(isset($_POST['ns2']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z0-9]{2,30}[\.]{0,1}$/',$_POST['ns2'])) $error .= $app->lng('error_ns2_regex').'<br />';
+	if(isset($_POST['email']) && !preg_match('/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z0-9\-]{2,30}$/i',$_POST['email'])) $error .= $app->lng('error_email_regex').'<br />';
 	
 	// make sure that the record belongs to the clinet group and not the admin group when a dmin inserts it
 	if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($_POST['client_group_id'])) {
diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php
index c5f6f31..9599f4c 100644
--- a/interface/web/dns/form/dns_soa.tform.php
+++ b/interface/web/dns/form/dns_soa.tform.php
@@ -82,7 +82,7 @@
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'origin_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-\/]{2,255}\.[a-zA-Z\-]{2,10}[\.]{0,1}$/',
+														'regex' => '/^[\w\.\-\/]{2,255}\.[a-zA-Z0-9\-]{2,30}[\.]{0,1}$/',
 														'errmsg'=> 'origin_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_aliasdomain.tform.php b/interface/web/mail/form/mail_aliasdomain.tform.php
index 026d0aa..d194029 100644
--- a/interface/web/mail/form/mail_aliasdomain.tform.php
+++ b/interface/web/mail/form/mail_aliasdomain.tform.php
@@ -74,7 +74,7 @@
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'source_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z\-]{2,10}$/',
+														'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z0-9\-]{2,10}$/',
 														'errmsg'=> 'source_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_domain.tform.php b/interface/web/mail/form/mail_domain.tform.php
index 5f8c51f..7bebe7e 100644
--- a/interface/web/mail/form/mail_domain.tform.php
+++ b/interface/web/mail/form/mail_domain.tform.php
@@ -77,7 +77,7 @@
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_domain_catchall.tform.php b/interface/web/mail/form/mail_domain_catchall.tform.php
index 120466b..5d2b447 100644
--- a/interface/web/mail/form/mail_domain_catchall.tform.php
+++ b/interface/web/mail/form/mail_domain_catchall.tform.php
@@ -74,7 +74,7 @@
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^\@[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
+														'regex' => '/^\@[\w\.\-]{2,255}\.[a-zA-Z\-]{2,30}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/mail/form/mail_user_filter.tform.php b/interface/web/mail/form/mail_user_filter.tform.php
index 70f3492..7656685 100644
--- a/interface/web/mail/form/mail_user_filter.tform.php
+++ b/interface/web/mail/form/mail_user_filter.tform.php
@@ -48,7 +48,7 @@
 $form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
 $form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
 $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
-$form["auth_preset"]["perm_other"] = 'r'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
 
 $form["tabs"]['filter'] = array (
 	'title' 	=> "Filter",
diff --git a/interface/web/mail/mail_user_edit.php b/interface/web/mail/mail_user_edit.php
index 11daf7a..e9a3767 100644
--- a/interface/web/mail/mail_user_edit.php
+++ b/interface/web/mail/mail_user_edit.php
@@ -266,7 +266,7 @@
 			$tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '".mysql_real_escape_string($this->dataRecord["email"])."'");
 			if($tmp_user["id"] > 0) {
 				// There is already a record that we will update
-				$app->db->datalogUpdate('spamfilter_users', "policy_id = $ploicy_id", 'id', $tmp_user["id"]);
+				$app->db->datalogUpdate('spamfilter_users', "policy_id = $policy_id", 'id', $tmp_user["id"]);
 			} else {
 				// We create a new record
 				$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `priority`, `policy_id`, `email`, `fullname`, `local`) 
diff --git a/interface/web/mail/templates/mail_aliasdomain_list.htm b/interface/web/mail/templates/mail_aliasdomain_list.htm
index 2bf29db..330c55f 100644
--- a/interface/web/mail/templates/mail_aliasdomain_list.htm
+++ b/interface/web/mail/templates/mail_aliasdomain_list.htm
@@ -27,7 +27,7 @@
             <td class="tbl_col_active"><select name="search_active" onChange="submitForm('pageForm','mail/mail_aliasdomain_list.php');">{tmpl_var name='search_active'}</select></td>
             <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
             <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
-            <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_alias_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
+            <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_aliasdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
           </tr>
         </thead>
         <tbody>
diff --git a/interface/web/monitor/lib/lang/ar.lng b/interface/web/monitor/lib/lang/ar.lng
index c622aa4..c3b7621 100644
--- a/interface/web/monitor/lib/lang/ar.lng
+++ b/interface/web/monitor/lib/lang/ar.lng
@@ -127,7 +127,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data from: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i';
diff --git a/interface/web/monitor/lib/lang/bg.lng b/interface/web/monitor/lib/lang/bg.lng
index e268f2d..0041cbf 100644
--- a/interface/web/monitor/lib/lang/bg.lng
+++ b/interface/web/monitor/lib/lang/bg.lng
@@ -121,7 +121,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data from: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i';
diff --git a/interface/web/monitor/lib/lang/cz.lng b/interface/web/monitor/lib/lang/cz.lng
index 680e22c..3083dde 100644
--- a/interface/web/monitor/lib/lang/cz.lng
+++ b/interface/web/monitor/lib/lang/cz.lng
@@ -121,7 +121,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data z: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-d-m H:i';
diff --git a/interface/web/monitor/lib/lang/de.lng b/interface/web/monitor/lib/lang/de.lng
index d73e7f6..c7b83b8 100644
--- a/interface/web/monitor/lib/lang/de.lng
+++ b/interface/web/monitor/lib/lang/de.lng
@@ -121,7 +121,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Daten vom: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'd-m-Y H:i';
diff --git a/interface/web/monitor/lib/lang/en.lng b/interface/web/monitor/lib/lang/en.lng
index 97ab2ea..bf93a95 100644
--- a/interface/web/monitor/lib/lang/en.lng
+++ b/interface/web/monitor/lib/lang/en.lng
@@ -127,7 +127,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data from: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i';
diff --git a/interface/web/monitor/lib/lang/hu.lng b/interface/web/monitor/lib/lang/hu.lng
index 979cb60..a6fa4ec 100644
--- a/interface/web/monitor/lib/lang/hu.lng
+++ b/interface/web/monitor/lib/lang/hu.lng
@@ -121,7 +121,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data from: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i';
diff --git a/interface/web/monitor/lib/lang/it.lng b/interface/web/monitor/lib/lang/it.lng
index 67586b4..103afea 100644
--- a/interface/web/monitor/lib/lang/it.lng
+++ b/interface/web/monitor/lib/lang/it.lng
@@ -121,7 +121,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data from: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i';
diff --git a/interface/web/monitor/lib/lang/ro.lng b/interface/web/monitor/lib/lang/ro.lng
index 3aafcf2..b6ec99d 100644
--- a/interface/web/monitor/lib/lang/ro.lng
+++ b/interface/web/monitor/lib/lang/ro.lng
@@ -121,7 +121,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data from: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i';
diff --git a/interface/web/monitor/lib/lang/se.lng b/interface/web/monitor/lib/lang/se.lng
index acd20d4..fa56cf1 100644
--- a/interface/web/monitor/lib/lang/se.lng
+++ b/interface/web/monitor/lib/lang/se.lng
@@ -121,7 +121,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data from: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i';
diff --git a/interface/web/monitor/lib/lang/sk.lng b/interface/web/monitor/lib/lang/sk.lng
index 67b4feb..29539ca 100644
--- a/interface/web/monitor/lib/lang/sk.lng
+++ b/interface/web/monitor/lib/lang/sk.lng
@@ -121,7 +121,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data from: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i';
diff --git a/interface/web/sites/form/web_aliasdomain.tform.php b/interface/web/sites/form/web_aliasdomain.tform.php
index 2ced981..3d7f923 100644
--- a/interface/web/sites/form/web_aliasdomain.tform.php
+++ b/interface/web/sites/form/web_aliasdomain.tform.php
@@ -77,7 +77,7 @@
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index 1b05f67..bbd61ec 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -97,7 +97,7 @@
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/form/web_subdomain.tform.php b/interface/web/sites/form/web_subdomain.tform.php
index a398fc1..44a2e68 100644
--- a/interface/web/sites/form/web_subdomain.tform.php
+++ b/interface/web/sites/form/web_subdomain.tform.php
@@ -77,7 +77,7 @@
 										1 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'domain_error_unique'),
 										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z\-]{2,10}$/',
+														'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
 														'errmsg'=> 'domain_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/templates/web_domain_advanced.htm b/interface/web/sites/templates/web_domain_advanced.htm
index f00b3da..9ad803c 100644
--- a/interface/web/sites/templates/web_domain_advanced.htm
+++ b/interface/web/sites/templates/web_domain_advanced.htm
@@ -22,7 +22,7 @@
 	  </div>
 	  <div class="ctrlHolder">
       	<label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label>
-        <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="30" maxlength="255" type="text" class="textInput"  style="width:400px;" />
+        <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="30" type="text" class="textInput"  style="width:400px;" />
 	  </div>
 	  <div class="ctrlHolder">
       	<label for="custom_php_ini">{tmpl_var name='custom_php_ini_txt'}</label>
diff --git a/interface/web/sites/web_aliasdomain_edit.php b/interface/web/sites/web_aliasdomain_edit.php
index 1a3a483..acbf7b3 100644
--- a/interface/web/sites/web_aliasdomain_edit.php
+++ b/interface/web/sites/web_aliasdomain_edit.php
@@ -130,6 +130,9 @@
 		
 		$this->parent_domain_record = $parent_domain;
 		
+		//* make sure that the email domain is lowercase
+		if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
+		
 		parent::onSubmit();
 	}
 	
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index 3146939..0b47a3f 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -196,7 +196,8 @@
 		}
 
 		$ssl_domain_select = '';
-		$ssl_domains = array($this->dataRecord["domain"],'www.'.$this->dataRecord["domain"]);
+		$tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ".$this->id);
+		$ssl_domains = array($tmp["domain"],'www.'.$tmp["domain"]);
 		if(is_array($ssl_domains)) {
 			foreach( $ssl_domains as $ssl_domain) {
 				$selected = ($ssl_domain == $this->dataRecord['ssl_domain'])?'SELECTED':'';
@@ -330,10 +331,14 @@
 				}
 
 			}
+			
 
 			// Clients may not set the client_group_id, so we unset them if user is not a admin and the client is not a reseller
 			if(!$app->auth->has_clients($_SESSION['s']['user']['userid'])) unset($this->dataRecord["client_group_id"]);
 		}
+		
+		//* make sure that the email domain is lowercase
+		if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
 
 
 		parent::onSubmit();
diff --git a/interface/web/sites/web_subdomain_edit.php b/interface/web/sites/web_subdomain_edit.php
index 2858e34..e290281 100644
--- a/interface/web/sites/web_subdomain_edit.php
+++ b/interface/web/sites/web_subdomain_edit.php
@@ -95,6 +95,9 @@
 		
 		$this->parent_domain_record = $parent_domain;
 		
+		//* make sure that the email domain is lowercase
+		if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
+		
 		parent::onSubmit();
 	}
 	
diff --git a/interface/web/temp/en.lng b/interface/web/temp/en.lng
index 4956edd..3ce72dc 100644
--- a/interface/web/temp/en.lng
+++ b/interface/web/temp/en.lng
@@ -1775,7 +1775,7 @@
 $wb['monitor_services_smtp_txt'] = 'SMTP-Server:';
 $wb['monitor_services_pop_txt'] = 'POP3-Server:';
 $wb['monitor_services_imap_txt'] = 'IMAP-Server:';
-$wb['monitor_services_mydns_txt'] = 'myDNS-Server:';
+$wb['monitor_services_mydns_txt'] = 'DNS-Server:';
 $wb['monitor_services_mysql_txt'] = 'mySQL-Server:';
 $wb['monitor_settings_datafromdate_txt'] = 'Data from: ';
 $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i';
diff --git a/server/conf/bind_pri.domain.master b/server/conf/bind_pri.domain.master
index 491d590..057daad 100644
--- a/server/conf/bind_pri.domain.master
+++ b/server/conf/bind_pri.domain.master
@@ -42,7 +42,7 @@
 {tmpl_var name='name'}      SRV        {tmpl_var name='aux'} {tmpl_var name='data'}
 </tmpl_if>
 <tmpl_if name="type" op='==' value='TXT'>
-{tmpl_var name='name'}      TXT        {tmpl_var name='data'}
+{tmpl_var name='name'}      TXT        "{tmpl_var name='data'}"
 </tmpl_if>
 </tmpl_loop>
 
diff --git a/server/cron_daily.php b/server/cron_daily.php
index c511178..f445551 100644
--- a/server/cron_daily.php
+++ b/server/cron_daily.php
@@ -173,19 +173,22 @@
 	$awstats_conf_dir = $web_config['awstats_conf_dir'];
 	$awstats_website_conf_file = $web_config['awstats_conf_dir'].'/awstats.'.$domain.'.conf';
 	
+	if(is_file($awstats_website_conf_file)) unlink($awstats_website_conf_file);
+	
 	if(!is_file($awstats_website_conf_file)) {
 		$awstats_conf_file_content = 'Include "'.$awstats_conf_dir.'/awstats.conf"
-LogFile="/var/log/ispconfig/httpd/'.$domain.'/access.log"
+LogFile="/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log"
 SiteDomain="'.$domain.'"
 HostAliases="www.'.$domain.' localhost 127.0.0.1"';
 		file_put_contents($awstats_website_conf_file,$awstats_conf_file_content);
 	}
 	
-	
 	if(!@is_dir($statsdir)) mkdir($statsdir);
+	if(is_file('/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log')) unlink('/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log');
+	symlink($logfile,'/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log');
 	
 	// awstats_buildstaticpages.pl -update -config=mydomain.com -lang=en -dir=/var/www/domain.com/web/stats -awstatsprog=/path/to/awstats.pl
-	$command = "$awstats_buildstaticpages_pl -update -LogFile='$logfile' -config='$domain' -lang=en -dir='$statsdir' -awstatsprog='$awstats_pl'";
+	$command = "$awstats_buildstaticpages_pl -update -config='$domain' -lang=en -dir='$statsdir' -awstatsprog='$awstats_pl'";
 	
 	if($awstats_pl != '' && $awstats_buildstaticpages_pl != '' && fileowner($awstats_pl) == 0 && fileowner($awstats_buildstaticpages_pl) == 0) {
 		exec($command);
@@ -211,7 +214,7 @@
 $sql = "SELECT domain_id, domain, document_root FROM web_domain WHERE server_id = ".$conf['server_id'];
 $records = $app->db->queryAllRecords($sql);
 foreach($records as $rec) {
-	$yesterday = date('Ymd',time() - 86400);
+	$yesterday = date('Ymd',time() - 86400*2);
 	$logfile = escapeshellcmd($rec['document_root'].'/log/'.$yesterday.'-access.log');
 	if(@is_file($logfile)) {
 		// Compress yesterdays logfile
diff --git a/server/lib/classes/modules.inc.php b/server/lib/classes/modules.inc.php
index fff4928..8c86097 100644
--- a/server/lib/classes/modules.inc.php
+++ b/server/lib/classes/modules.inc.php
@@ -243,9 +243,10 @@
 			foreach($hooks as $hook) {
 				$module_name = $hook['module'];
 				$function_name = $hook['function'];
-				// Claa the processing function of the module
+				// Call the processing function of the module
 				if($this->debug) $app->log("Call function '$function_name' in module '$module_name' raised by TableHook '$table_name'.",LOGLEVEL_DEBUG);
-				call_user_method($function_name,$app->loaded_modules[$module_name],$table_name,$action,$data);
+				// call_user_method($function_name,$app->loaded_modules[$module_name],$table_name,$action,$data);
+				call_user_func(array($app->loaded_modules[$module_name],$function_name),$table_name,$action,$data);
 				unset($module_name);
 				unset($function_name);
 			}
diff --git a/server/lib/classes/plugins.inc.php b/server/lib/classes/plugins.inc.php
index d5d8f20..ba12981 100644
--- a/server/lib/classes/plugins.inc.php
+++ b/server/lib/classes/plugins.inc.php
@@ -116,7 +116,8 @@
 				$function_name = $event['function'];
 				// Call the processing function of the plugin
 				$app->log("Calling function '$function_name' from plugin '$plugin_name' raised by event '$event_name'.",LOGLEVEL_DEBUG);
-				call_user_method($function_name,$app->loaded_plugins[$plugin_name],$event_name,$data);
+				// call_user_method($function_name,$app->loaded_plugins[$plugin_name],$event_name,$data);
+				call_user_func(array($app->loaded_plugins[$plugin_name],$function_name),$event_name,$data);
 				unset($plugin_name);
 				unset($function_name);
 			}
diff --git a/server/lib/classes/services.inc.php b/server/lib/classes/services.inc.php
index e53eee0..d10abf2 100644
--- a/server/lib/classes/services.inc.php
+++ b/server/lib/classes/services.inc.php
@@ -54,7 +54,8 @@
 			$module_name = $this->registered_services[$service_name]['module'];
 			$function_name = $this->registered_services[$service_name]['function'];
 			$app->log("Calling function '$function_name' from module '$module_name'.",LOGLEVEL_DEBUG);
-			call_user_method($function_name,$app->loaded_modules[$module_name],$action);
+			// call_user_method($function_name,$app->loaded_modules[$module_name],$action);
+			call_user_func(array($app->loaded_modules[$module_name],$function_name),$action);
 		} else {
 			$app->log("Unable to restart $service_name. Service not registered.",LOGLEVEL_WARNING);
 		}
diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php
index 4d9bfc3..a29b922 100644
--- a/server/mods-available/monitor_core_module.inc.php
+++ b/server/mods-available/monitor_core_module.inc.php
@@ -1694,13 +1694,13 @@
 			case 'log_freshclam':
 				if($dist == 'debian') { $logfile = '/var/log/clamav/freshclam.log'; }
 				elseif($dist == 'redhat') { $logfile = (is_file('/var/log/clamav/freshclam.log') ? '/var/log/clamav/freshclam.log' : '/var/log/freshclam.log'); }
-				elseif($dist == 'suse') { $logfile = ''; }
+				elseif($dist == 'suse') { $logfile = '/var/log/freshclam.log'; }
 				elseif($dist == 'gentoo') { $logfile = '/var/log/clamav/freshclam.log'; }
 				break;
 			case 'log_clamav':
 				if($dist == 'debian') { $logfile = '/var/log/clamav/clamav.log'; }
 				elseif($dist == 'redhat') { $logfile = (is_file('/var/log/clamav/clamd.log') ? '/var/log/clamav/clamd.log' : '/var/log/maillog'); }
-				elseif($dist == 'suse') { $logfile = ''; }
+				elseif($dist == 'suse') { $logfile = '/var/log/clamd.log'; }
 				elseif($dist == 'gentoo') { $logfile = '/var/log/clamav/clamd.log'; }
 				break;
 			case 'log_fail2ban':

--
Gitblit v1.9.1