*/ class remoting_mail extends remoting { //* Get mail domain details public function mail_domain_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_domain_get')) { throw new SoapFault('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_domain.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* Add a mail domain public function mail_domain_add($session_id, $client_id, $params) { if(!$this->checkPerm($session_id, 'mail_domain_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $primary_id = $this->insertQuery('../mail/form/mail_domain.tform.php', $client_id, $params); return $primary_id; } //* Update a mail domain public function mail_domain_update($session_id, $client_id, $primary_id, $params) { if(!$this->checkPerm($session_id, 'mail_domain_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_domain.tform.php', $client_id, $primary_id, $params); return $affected_rows; } //* Delete a mail domain public function mail_domain_delete($session_id, $primary_id) { if(!$this->checkPerm($session_id, 'mail_domain_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_domain.tform.php', $primary_id); return $affected_rows; } //* Get alias details public function mail_aliasdomain_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_aliasdomain_get')) { throw new SoapFault('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_aliasdomain.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* aliasy email public function mail_aliasdomain_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_aliasdomain_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/mail_aliasdomain.tform.php', $client_id, $params); return $affected_rows; } public function mail_aliasdomain_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_aliasdomain_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_aliasdomain.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_aliasdomain_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_aliasdomain_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_aliasdomain.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')) { throw new SoapFault('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')) { throw new SoapFault('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')) { throw new SoapFault('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')) { throw new SoapFault('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) { global $app; if(!$this->checkPerm($session_id, 'mail_user_get')) { throw new SoapFault('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_user.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* Add mail domain public function mail_user_add($session_id, $client_id, $params){ global $app; if (!$this->checkPerm($session_id, 'mail_user_add')){ throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } //* Check if mail domain exists $email_parts = explode('@', $params['email']); $tmp = $app->db->queryOneRecord("SELECT domain FROM mail_domain WHERE domain = ?", $email_parts[1]); if($tmp['domain'] != $email_parts[1]) { throw new SoapFault('mail_domain_does_not_exist', 'Mail domain - '.$email_parts[1].' - does not exist.'); return false; } //* Set a few params to non empty values that will be overwritten by mail_plugin if (!isset($params['uid'])) $params['uid'] = -1; if (!isset($params['gid'])) $params['gid'] = -1; $affected_rows = $this->insertQuery('../mail/form/mail_user.tform.php', $client_id, $params); return $affected_rows; } //* Update mail user public function mail_user_update($session_id, $client_id, $primary_id, $params) { global $app; if (!$this->checkPerm($session_id, 'mail_user_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } //* Check if mail domain exists $email_parts = explode('@', $params['email']); $tmp = $app->db->queryOneRecord("SELECT domain FROM mail_domain WHERE domain = ?", $email_parts[1]); if($tmp['domain'] != $email_parts[1]) { throw new SoapFault('mail_domain_does_not_exist', 'Mail domain - '.$email_parts[1].' - does not exist.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_user.tform.php', $client_id, $primary_id, $params); return $affected_rows; } //* Delete mail user public function mail_user_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_user_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_user.tform.php', $primary_id); return $affected_rows; } //* Get mail user filter details public function mail_user_filter_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_user_filter_get')) { throw new SoapFault('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_user_filter.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } public function mail_user_filter_add($session_id, $client_id, $params) { global $app; if (!$this->checkPerm($session_id, 'mail_user_filter_add')){ throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/mail_user_filter.tform.php', $client_id, $params, 'mail:mail_user_filter:on_after_insert'); // $app->plugin->raiseEvent('mail:mail_user_filter:on_after_insert',$this); return $affected_rows; } public function mail_user_filter_update($session_id, $client_id, $primary_id, $params) { global $app; if (!$this->checkPerm($session_id, 'mail_user_filter_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_user_filter.tform.php', $client_id, $primary_id, $params, 'mail:mail_user_filter:on_after_update'); // $app->plugin->raiseEvent('mail:mail_user_filter:on_after_update',$this); return $affected_rows; } public function mail_user_filter_delete($session_id, $primary_id) { global $app; if (!$this->checkPerm($session_id, 'mail_user_filter_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_user_filter.tform.php', $primary_id, 'mail:mail_user_filter:on_after_delete'); // $app->plugin->raiseEvent('mail:mail_user_filter:on_after_delete',$this); return $affected_rows; } // Mail backup list function by Dominik Müller, info@profi-webdesign.net public function mail_user_backup_list($session_id, $primary_id = null) { global $app; if(!$this->checkPerm($session_id, 'mail_user_backup')) { $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $params = array(); if ($site_id != null) { $params[] = $site_id; $sql = "SELECT * FROM mail_backup WHERE parent_domain_id = ?"; } else { $sql = "SELECT * FROM mail_backup"; } $result = $app->db->queryAllRecords($sql, true, $params); return $result; } // Mail backup restore/download functions by Dominik Müller, info@profi-webdesign.net public function mail_user_backup($session_id, $primary_id, $action_type) { global $app; if(!$this->checkPerm($session_id, 'mail_user_backup')) { $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); return false; } //*Set variables $backup_record = $app->db->queryOneRecord("SELECT * FROM `mail_backup` WHERE `backup_id`=?", $primary_id); $server_id = $backup_record['server_id']; //*Set default action state $action_state = "pending"; $tstamp = time(); //* Basic validation of variables if ($server_id <= 0) { $this->server->fault('invalid_backup_id', "Invalid or non existant backup_id $primary_id"); return false; } if (/*$action_type != 'backup_download_mail' and*/ $action_type != 'backup_restore_mail') { $this->server->fault('invalid_action', "Invalid action_type $action_type"); return false; } //* Validate instance $instance_record = $app->db->queryOneRecord("SELECT * FROM `sys_remoteaction` WHERE `action_param`=? and `action_type`=? and `action_state`='pending'", $primary_id, $action_type); if ($instance_record['action_id'] >= 1) { $this->server->fault('duplicate_action', "There is already a pending $action_type action"); return false; } //* Save the record if ($app->db->query("INSERT INTO `sys_remoteaction` SET `server_id` = ?, `tstamp` = ?, `action_type` = ?, `action_param` = ?, `action_state` = ?"), $server_id, $tstamp, $action_type, $primary_id, $action_state) { return true; } else { return false; } } //* Get alias details public function mail_alias_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_alias_get')) { throw new SoapFault('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_alias.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* aliasy email public function mail_alias_add($session_id, $client_id, $params) { global $app; if (!$this->checkPerm($session_id, 'mail_alias_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } //* Check if there is no active mailbox with this address $tmp = $app->db->queryOneRecord("SELECT count(mailuser_id) as number FROM mail_user WHERE postfix = 'y' AND email = ?", $params["source"]); if($tmp['number'] > 0) { throw new SoapFault('duplicate', 'There is already a mailbox with this email address.'); } unset($tmp); $affected_rows = $this->insertQuery('../mail/form/mail_alias.tform.php', $client_id, $params); return $affected_rows; } public function mail_alias_update($session_id, $client_id, $primary_id, $params) { global $app; if (!$this->checkPerm($session_id, 'mail_alias_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } //* Check if there is no active mailbox with this address $tmp = $app->db->queryOneRecord("SELECT count(mailuser_id) as number FROM mail_user WHERE postfix = 'y' AND email = ?", $params["source"]); if($tmp['number'] > 0) { throw new SoapFault('duplicate', 'There is already a mailbox with this email address.'); } unset($tmp); $affected_rows = $this->updateQuery('../mail/form/mail_alias.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_alias_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_alias_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_alias.tform.php', $primary_id); return $affected_rows; } //* Get mail forwarding details public function mail_forward_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_forward_get')) { throw new SoapFault('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_forward.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* przekierowania email public function mail_forward_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_forward_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/mail_forward.tform.php', $client_id, $params); return $affected_rows; } public function mail_forward_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_forward_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_forward.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_forward_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_forward_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_forward.tform.php', $primary_id); return $affected_rows; } //* Get catchall details public function mail_catchall_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_catchall_get')) { throw new SoapFault('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_domain_catchall.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* catchall e-mail public function mail_catchall_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_catchall_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/mail_domain_catchall.tform.php', $client_id, $params); return $affected_rows; } public function mail_catchall_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_catchall_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_domain_catchall.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_catchall_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_catchall_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_domain_catchall.tform.php', $primary_id); return $affected_rows; } //* Get transport details public function mail_transport_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_transport_get')) { throw new SoapFault('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_transport.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* przeniesienia e-mail public function mail_transport_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_transport_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/mail_transport.tform.php', $client_id, $params); return $affected_rows; } public function mail_transport_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_transport_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_transport.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_transport_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_transport_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_transport.tform.php', $primary_id); return $affected_rows; } //* Get mail relay_recipient details public function mail_relay_recipient_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_relay_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_relay_recipient.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* relay recipient email public function mail_relay_recipient_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_relay_add')) { $this->server->fault('permission_denied','You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/mail_relay_recipient.tform.php', $client_id, $params); return $affected_rows; } public function mail_relay_recipient_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_relay_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_relay_recipient.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_relay_recipient_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_relay_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_relay_recipient.tform.php', $primary_id); return $affected_rows; } //* Get spamfilter whitelist details public function mail_spamfilter_whitelist_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_spamfilter_whitelist_get')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $app->uses('remoting_lib'); $app->remoting_lib->loadFormDef('../mail/form/spamfilter_whitelist.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* biaÅ‚a lista e-mail public function mail_spamfilter_whitelist_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_spamfilter_whitelist_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/spamfilter_whitelist.tform.php', $client_id, $params); return $affected_rows; } public function mail_spamfilter_whitelist_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_spamfilter_whitelist_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/spamfilter_whitelist.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_spamfilter_whitelist_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_spamfilter_whitelist_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/spamfilter_whitelist.tform.php', $primary_id); return $affected_rows; } //* Get spamfilter blacklist details public function mail_spamfilter_blacklist_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_spamfilter_blacklist_get')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $app->uses('remoting_lib'); $app->remoting_lib->loadFormDef('../mail/form/spamfilter_blacklist.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* czarna lista e-mail public function mail_spamfilter_blacklist_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_spamfilter_blacklist_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/spamfilter_blacklist.tform.php', $client_id, $params); return $affected_rows; } public function mail_spamfilter_blacklist_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_spamfilter_blacklist_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/spamfilter_blacklist.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_spamfilter_blacklist_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_spamfilter_blacklist_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/spamfilter_blacklist.tform.php', $primary_id); return $affected_rows; } //* Get spamfilter user details public function mail_spamfilter_user_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_spamfilter_user_get')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $app->uses('remoting_lib'); $app->remoting_lib->loadFormDef('../mail/form/spamfilter_users.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* filtr spamu użytkowników e-mail public function mail_spamfilter_user_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_spamfilter_user_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/spamfilter_users.tform.php', $client_id, $params); return $affected_rows; } public function mail_spamfilter_user_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_spamfilter_user_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/spamfilter_users.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_spamfilter_user_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_spamfilter_user_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/spamfilter_users.tform.php', $primary_id); return $affected_rows; } //* Get policy details public function mail_policy_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_policy_get')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $app->uses('remoting_lib'); $app->remoting_lib->loadFormDef('../mail/form/spamfilter_policy.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* polityki filtrów spamu e-mail public function mail_policy_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_policy_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/spamfilter_policy.tform.php', $client_id, $params); return $affected_rows; } public function mail_policy_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_policy_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/spamfilter_policy.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_policy_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_policy_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/spamfilter_policy.tform.php', $primary_id); return $affected_rows; } //* Get fetchmail details public function mail_fetchmail_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_fetchmail_get')) { throw new SoapFault('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_get.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* fetchmail public function mail_fetchmail_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_fetchmail_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/mail_get.tform.php', $client_id, $params); return $affected_rows; } public function mail_fetchmail_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_fetchmail_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_get.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_fetchmail_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_fetchmail_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_get.tform.php', $primary_id); return $affected_rows; } //* Get whitelist details public function mail_whitelist_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_whitelist_get')) { throw new SoapFault('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_whitelist.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* wpisy biaÅ‚ej listy public function mail_whitelist_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_whitelist_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/mail_whitelist.tform.php', $client_id, $params); return $affected_rows; } public function mail_whitelist_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_whitelist_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_whitelist.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_whitelist_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_whitelist_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_whitelist.tform.php', $primary_id); return $affected_rows; } //* Get Blacklist details public function mail_blacklist_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_blacklist_get')) { throw new SoapFault('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_blacklist.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* wpisy biaÅ‚ej listy public function mail_blacklist_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_blacklist_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/mail_blacklist.tform.php', $client_id, $params); return $affected_rows; } public function mail_blacklist_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_blacklist_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_blacklist.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_blacklist_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_blacklist_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_blacklist.tform.php', $primary_id); return $affected_rows; } //* Get filter details public function mail_filter_get($session_id, $primary_id) { global $app; if(!$this->checkPerm($session_id, 'mail_filter_get')) { throw new SoapFault('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_content_filter.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } //* wpisy filtrow e-mail public function mail_filter_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_filter_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->insertQuery('../mail/form/mail_content_filter.tform.php', $client_id, $params); return $affected_rows; } public function mail_filter_update($session_id, $client_id, $primary_id, $params) { if (!$this->checkPerm($session_id, 'mail_filter_update')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->updateQuery('../mail/form/mail_content_filter.tform.php', $client_id, $primary_id, $params); return $affected_rows; } public function mail_filter_delete($session_id, $primary_id) { if (!$this->checkPerm($session_id, 'mail_filter_delete')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } $affected_rows = $this->deleteQuery('../mail/form/mail_content_filter.tform.php', $primary_id); return $affected_rows; } /** * Fetch the mail_domain record for the provided domain. * @param int session_id * @param string the fully qualified domain (or subdomain) * @return array array of arrays corresponding to the mail_domain table's records * @author till, benlake */ public function mail_domain_get_by_domain($session_id, $domain) { global $app; if(!$this->checkPerm($session_id, 'mail_domain_get_by_domain')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } if (!empty($domain)) { $sql = "SELECT * FROM mail_domain WHERE domain = ?"; $result = $app->db->queryAllRecords($sql, $domain); return $result; } return false; } public function mail_domain_set_status($session_id, $primary_id, $status) { global $app; if(!$this->checkPerm($session_id, 'mail_domain_set_status')) { throw new SoapFault('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 mail_domain SET active = ? WHERE domain_id = ?"; $app->db->query($sql, $status, $primary_id); $result = $app->db->affectedRows(); return $result; } else { throw new SoapFault('status_undefined', 'The status is not available'); return false; } } //** quota functions ----------------------------------------------------------------------------------- public function mailquota_get_by_user($session_id, $client_id) { global $app; $app->uses('quota_lib'); if(!$this->checkPerm($session_id, 'mailquota_get_by_user')) { $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); return false; } return $app->quota_lib->get_mailquota_data($client_id, false); } } ?>