From dbbafff1a1034fdac93fd8aea203cc66758c3c26 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 10 Sep 2010 06:12:25 -0400
Subject: [PATCH] Patch from Filip that enables settting of sys_user.modules and sys_user.startmodule via client_add remote API call

---
 interface/lib/classes/remoting.inc.php |   63 ++++++++++++++++++++++++++-----
 1 files changed, 53 insertions(+), 10 deletions(-)

diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php
index 4bdccb8..7ded1df 100644
--- a/interface/lib/classes/remoting.inc.php
+++ b/interface/lib/classes/remoting.inc.php
@@ -1922,7 +1922,14 @@
 		$app->remoting_lib->loadFormDef($formdef_file);
 		
 		//* load the user profile of the client
-		$app->remoting_lib->loadUserProfile($reseller_id);		
+		$app->remoting_lib->loadUserProfile($reseller_id);
+		
+		//* load the client template
+		if(isset($params['template_master']) and $params['template_master'] > 0)
+		{
+			$template=$app->db->queryOneRecord("SELECT * FROM client_template WHERE template_id=".intval($params['template_master']));
+			$params=array_merge($params,$template);
+		}
 		
 		//* Get the SQL query
 		$sql = $app->remoting_lib->getSQL($params,'INSERT',0);
@@ -2141,7 +2148,7 @@
 			$new_group[] = intval( $group_id);
         }
         $group_list = implode(',', $new_group);
-		$sql ="SELECT domain, domain_id, document_root FROM web_domain WHERE ( (sys_userid = $sys_userid  AND sys_perm_user LIKE '%r%') OR (sys_groupid IN ($group_list) AND sys_perm_group LIKE '%r%') OR  sys_perm_other LIKE '%r%') AND type = 'vhost'";
+		$sql ="SELECT domain, domain_id, document_root, active FROM web_domain WHERE ( (sys_userid = $sys_userid  AND sys_perm_user LIKE '%r%') OR (sys_groupid IN ($group_list) AND sys_perm_group LIKE '%r%') OR  sys_perm_other LIKE '%r%') AND type = 'vhost'";
         $result = $app->db->queryAllRecords($sql);
         if(isset($result)) {
 			return $result;
@@ -2237,6 +2244,22 @@
         }
     }
     
+	public function mail_domain_get_by_domain($session_id, $domain) {
+        global $app;
+        if(!$this->checkPerm($session_id, 'mail_domain_get_by_domain')) {
+			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
+            return false;
+        }        
+        if (!empty($domain_id)) {
+        	$domain      	= $app->db->quote($domain);        	
+    	    $sql            = "SELECT * FROM mail_domain WHERE domain = $domain";
+        	$result         = $app->db->queryAllRecords($sql);
+        	return          $result;
+        }
+        return false;
+    }
+    
+    
     
 	/**
    	* Get a list of functions
@@ -2289,25 +2312,23 @@
 	/**
 	 * Get all DNS zone by user 
 	 *@author	Julio Montoya <gugli100@gmail.com> BeezNest 2010
-	 */
-	 /*
-	  I will update this function
+	 */	 
     public function dns_zone_get_by_user($session_id, $client_id, $server_id) {
         global $app;
         if(!$this->checkPerm($session_id, 'dns_zone_get')) {
-                //$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
-                //return false;
+			$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
+            return false;
         }        
         if (!empty($client_id) && !empty($server_id)) {
         	$server_id      = intval($server_id);
         	$client_id      = intval($client_id);
-    	    $sql            = "SELECT id, origin FROM dns_soa d INNER JOIN sys_user s on(d.sys_groupid = s.default_group) WHERE client_id = '$client_id' AND server_id = $server_id";
+    	    $sql            = "SELECT id, origin FROM dns_soa d INNER JOIN sys_user s on(d.sys_groupid = s.default_group) WHERE client_id = $client_id AND server_id = $server_id";
         	$result         = $app->db->queryAllRecords($sql);
         	return          $result;
         }
         return false;
     }
-    */
+    
     
 	/**
 	 * Changes DNS zone status 
@@ -2325,11 +2346,33 @@
         }        
         if(in_array($status, array('active', 'inactive'))) {	    	        	
 	    	if ($status == 'active') {
+	    		$status = 'Y';
+	    	} else {
+	    		$status = 'N';
+	    	}
+	        $sql = "UPDATE dns_soa SET active = '$status' WHERE id = ".intval($primary_id);
+	        $app->db->query($sql);
+	        $result = $app->db->affectedRows();
+	        return $result;
+        } else {
+			$this->server->fault('status_undefined', 'The status is not available');
+			return false;
+        }  
+    }
+    
+    public function mail_domain_set_status($session_id, $primary_id, $status) {
+        global $app;
+        if(!$this->checkPerm($session_id, 'mail_domain_set_status')) {
+              $this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
+               return false;
+        }        
+        if(in_array($status, array('active', 'inactive'))) {	    	        	
+	    	if ($status == 'active') {
 	    		$status = 'y';
 	    	} else {
 	    		$status = 'n';
 	    	}
-	        $sql = "UPDATE dns_soa SET active = '$status' WHERE id = ".intval($primary_id);
+	        $sql = "UPDATE mail_domain SET active = '$status' WHERE domain_id = ".intval($primary_id);
 	        $app->db->query($sql);
 	        $result = $app->db->affectedRows();
 	        return $result;

--
Gitblit v1.9.1