Skip to content

Commit bb50b98

Browse files
author
Marius Burkard
committed
Merge branch '6332-mail_user_get_all_by_client' into 'develop'
Add API function mail_user_get_all_by_client, #6332 Closes #6332 See merge request ispconfig/ispconfig3!1599
2 parents 52348ef + 4c83fa6 commit bb50b98

File tree

4 files changed

+84
-2
lines changed

4 files changed

+84
-2
lines changed

interface/lib/classes/remote.d/mail.inc.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,24 @@ public function mail_user_get($session_id, $primary_id)
196196
return $app->remoting_lib->getDataRecord($primary_id);
197197
}
198198

199+
//* Get mail user details for all account that belong to a client.
200+
public function mail_user_get_all_by_client($session_id, $client_id)
201+
{
202+
global $app;
203+
204+
if(!$this->checkPerm($session_id, 'mail_user_get_all_by_client')) {
205+
throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
206+
return false;
207+
}
208+
$app->uses('remoting_lib');
209+
$sql = "SELECT u.* FROM `mail_user` u
210+
LEFT JOIN `sys_group` g ON (u.sys_groupid=g.groupid)
211+
WHERE g.client_id=?";
212+
$params[] = $client_id;
213+
214+
$result = $app->db->queryAllRecords($sql, true, $params);
215+
return $result;
216+
}
199217

200218
//* Add mail domain
201219
public function mail_user_add($session_id, $client_id, $params){
@@ -1110,4 +1128,4 @@ public function mailquota_get_by_user($session_id, $client_id)
11101128

11111129
}
11121130

1113-
?>
1131+
?>

interface/web/mail/lib/remote.conf.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
$function_list['mail_domain_get,mail_domain_add,mail_domain_update,mail_domain_delete,mail_domain_set_status,mail_domain_get_by_domain'] = 'Mail domain functions';
44
$function_list['mail_aliasdomain_get,mail_aliasdomain_add,mail_aliasdomain_update,mail_aliasdomain_delete'] = 'Mail domain alias functions';
55
$function_list['mail_mailinglist_get,mail_mailinglist_add,mail_mailinglist_update,mail_mailinglist_delete'] = 'Mail mailinglist functions';
6-
$function_list['mail_user_get,mail_user_add,mail_user_update,mail_user_delete'] = 'Mail user functions';
6+
$function_list['mail_user_get,mail_user_add,mail_user_update,mail_user_delete,mail_user_get_all_by_client'] = 'Mail user functions';
77
$function_list['mail_alias_get,mail_alias_add,mail_alias_update,mail_alias_delete'] = 'Mail alias functions';
88
$function_list['mail_forward_get,mail_forward_add,mail_forward_update,mail_forward_delete'] = 'Mail forward functions';
99
$function_list['mail_catchall_get,mail_catchall_add,mail_catchall_update,mail_catchall_delete'] = 'Mail catchall functions';
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2+
<html><head><title>ISPCOnfig 3 remote API documentation</title>
3+
4+
5+
6+
7+
8+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
9+
<link rel="stylesheet" type="text/css" href="definitionen.css">
10+
<style type="text/css">
11+
12+
</style></head>
13+
14+
<body>
15+
<div style="padding:40px">
16+
<h1>mail_user_get_all_by_client(<span class="var">$session_id</span>, <span class="var">$client_id</span>);</h1>
17+
<br>
18+
<p class="headgrp">Description: </p>
19+
<p class="margin"> Retrieves information about the mail users belonging to a client.</p><br>
20+
<p class="headgrp">Input Variables: </p>
21+
<p class="margin"> <span class="var">$session_id</span>, <span class="var">$primary_id</span></p>
22+
<p class="headgrp">Parameters (in <span class="var">$params</span>): </p>
23+
<p class="margin"> None</p>
24+
<p class="headgrp">Output: </p>
25+
<p class="margin"> Returns all fields and values of the chosen mail users.</p>
26+
<!--<b>Output:</b>
27+
<p style="margin-left:100px">Gives a record of </p> -->
28+
</div>
29+
30+
</body></html>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
require 'soap_config.php';
4+
5+
6+
$client = new SoapClient(null, array('location' => $soap_location,
7+
'uri' => $soap_uri,
8+
'trace' => 1,
9+
'exceptions' => 1));
10+
11+
12+
try {
13+
if($session_id = $client->login($username, $password)) {
14+
echo 'Logged successfull. Session ID:'.$session_id.'<br />';
15+
}
16+
17+
//* Set the function parameters.
18+
$client_id = 1;
19+
20+
$app = $client->mail_user_get_all_by_client($session_id, $client_id);
21+
22+
print_r($app);
23+
24+
if($client->logout($session_id)) {
25+
echo 'Logged out.<br />';
26+
}
27+
28+
29+
} catch (SoapFault $e) {
30+
echo $client->__getLastResponse();
31+
die('SOAP Error: '.$e->getMessage());
32+
}
33+
34+
?>

0 commit comments

Comments
 (0)