| | |
| | | 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; |
| | | } |
| | |
| | | $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; |
| | | } |
| | | |
| | | if ($site_id != null) { |
| | | $sql = "SELECT * FROM mail_backup WHERE parent_domain_id = ".$app->functions->intval($site_id); |
| | | } |
| | | else { |
| | | $sql = "SELECT * FROM mail_backup"; |
| | | } |
| | | |
| | | $result = $app->db->queryAllRecords($sql); |
| | | 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`='$primary_id' and `action_type`='$action_type' and `action_state`='pending'"); |
| | | 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` = '$server_id', `tstamp` = '$tstamp', `action_type` = '$action_type', `action_param` = '$primary_id', `action_state` = '$action_state'")) { |
| | | return true; |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | //* Get alias details |
| | |
| | | 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) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | //** 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); |
| | | } |
| | | |
| | | } |
| | | |