Commit 0837aff0 authored by tbrehm's avatar tbrehm

- Fetchmail limits of Client were not obeyed.

parent 81b5e260
......@@ -9,4 +9,5 @@ $wb["destination_txt"] = 'Destination';
$wb["active_txt"] = 'Active';
$wb["btn_save_txt"] = 'Save';
$wb["btn_cancel_txt"] = 'Cancel';
$wb["limit_fetchmail_txt"] = 'The max. number of Fetchmail records for your account is reached.';
?>
\ No newline at end of file
......@@ -50,9 +50,47 @@ $app->load('tform_actions');
class page_action extends tform_actions {
function onShowNew() {
global $app, $conf;
// we will check only users, not admins
if($_SESSION["s"]["user"]["typ"] == 'user') {
// Get the limits of the client
$client_group_id = $_SESSION["s"]["user"]["default_group"];
$client = $app->db->queryOneRecord("SELECT limit_fetchmail FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
// Check if the user may add another transport.
if($client["limit_fetchmail"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(mailget_id) as number FROM mail_get WHERE sys_groupid = $client_group_id");
if($tmp["number"] >= $client["limit_fetchmail"]) {
$app->error($app->tform->wordbook["limit_fetchmail_txt"]);
}
}
}
parent::onShowNew();
}
function onSubmit() {
global $app, $conf;
// Check the client limits, if user is not the admin
if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
// Get the limits of the client
$client_group_id = $_SESSION["s"]["user"]["default_group"];
$client = $app->db->queryOneRecord("SELECT limit_fetchmail FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
// Check if the user may add another transport.
if($this->id == 0 && $client["limit_fetchmail"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(mailget_id) as number FROM mail_get WHERE sys_groupid = $client_group_id");
if($tmp["number"] >= $client["limit_fetchmail"]) {
$app->tform->errorMessage .= $app->tform->wordbook["limit_fetchmail_txt"]."<br>";
}
unset($tmp);
}
} // end if user is not admin
// Set the server ID according to the selected destination
$tmp = $app->db->queryOneRecord("SELECT server_id FROM mail_user WHERE email = '".addslashes($this->dataRecord["destination"])."'");
$this->dataRecord["server_id"] = $tmp["server_id"];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment