| | |
| | | Register for the events |
| | | */ |
| | | |
| | | $app->plugins->registerEvent('mail_user_insert','maildrop_plugin','update'); |
| | | $app->plugins->registerEvent('mail_user_update','maildrop_plugin','update'); |
| | | $app->plugins->registerEvent('mail_user_delete','maildrop_plugin','delete'); |
| | | |
| | |
| | | $file = $this->mailfilter_config_dir.'/'.$email_parts[1].'/'.$email_parts[0].'/.vacation.msg'; |
| | | if(is_file($file)) unlink($file) or $app->log("Unable to delete file: $file",LOGLEVEL_WARN); |
| | | $file = $this->mailfilter_config_dir.'/'.$email_parts[1].'/'.$email_parts[0].'/.autoresponder'; |
| | | if(is_file($file)) unlink($ar_file) or $app->log("Unable to delete file: $ar_file",LOGLEVEL_WARN); |
| | | if(is_file($file)) unlink($file) or $app->log("Unable to delete file: $file",LOGLEVEL_WARN); |
| | | |
| | | |
| | | //Now we create the new autoresponder, if it is enabled |
| | |
| | | } |
| | | } |
| | | |
| | | // Write the custom mailfilter script, if mailfilter recipe has changed |
| | | if($data["old"]["custom_mailfilter"] != $data["new"]["custom_mailfilter"] |
| | | or $data["old"]["move_junk"] != $data["new"]["move_junk"] |
| | | or $data["old"]["cc"] != $data["new"]["cc"]) { |
| | | // Write the custom mailfilter script, if mailfilter recipe has changed |
| | | if($data["old"]["custom_mailfilter"] != $data["new"]["custom_mailfilter"] |
| | | or $data["old"]["move_junk"] != $data["new"]["move_junk"] |
| | | or $data["old"]["cc"] != $data["new"]["cc"]) { |
| | | |
| | | $app->log("Mailfilter config has been changed",LOGLEVEL_DEBUG); |
| | | if(trim($data["new"]["custom_mailfilter"]) != '' or $data["new"]["move_junk"] != 'n') { |
| | | if(trim($data["new"]["custom_mailfilter"]) != '' |
| | | or $data["new"]["move_junk"] != 'n' |
| | | or $data["new"]["cc"] != '') { |
| | | |
| | | // Delete the old filter recipe |
| | | $email_parts = explode("@",$data["old"]["email"]); |
| | | $file = $this->mailfilter_config_dir.'/'.$email_parts[1].'/'.$email_parts[0].'/.mailfilter'; |
| | |
| | | |
| | | if($data["new"]["cc"] != '') { |
| | | $mailfilter_content .= "cc \"!".$data["new"]["cc"]."\"\n"; |
| | | $app->log("Added CC address ".$data["new"]["cc"].' to mailfilter file.',LOGLEVEL_DEBUG); |
| | | } |
| | | |
| | | if($data["new"]["move_junk"] == 'y') { |
| | | $mailfilter_content .= file_get_contents($conf["rootpath"].'/conf/mailfilter_move_junk.master')."\n"; |
| | | } |
| | | $mailfilter_content .= $data["new"]["custom_mailfilter"]; |
| | | |
| | | // Replace windows linebreaks in mailfilter file |
| | | $mailfilter_content = str_replace("\r\n","\n",$mailfilter_content); |
| | | |
| | | file_put_contents($config_file_path,$mailfilter_content); |
| | | $app->log("Writing new custom Mailfiter".$config_file_path,LOGLEVEL_DEBUG); |
| | |
| | | unset($config_file_path); |
| | | } else { |
| | | // Delete the mailfilter recipe |
| | | $email_parts = explode("@",$data["old"]["email"]); |
| | | $file = $this->mailfilter_config_dir.'/'.$email_parts[1].'/'.$email_parts[0].'/.mailfilter'; |
| | | if(is_file($file)) unlink($file) or $app->log("Unable to delete file: $file",LOGLEVEL_WARN); |
| | | $app->log("Deleting custom Mailfiter".$file,LOGLEVEL_DEBUG); |
| | | if(isset($data["old"]["email"])) { |
| | | $email_parts = explode("@",$data["old"]["email"]); |
| | | $file = $this->mailfilter_config_dir.'/'.$email_parts[1].'/'.$email_parts[0].'/.mailfilter'; |
| | | if(is_file($file)) { |
| | | unlink($file) or $app->log("Unable to delete file: $file",LOGLEVEL_WARN); |
| | | $app->log("Deleting custom Mailfiter".$file,LOGLEVEL_DEBUG); |
| | | } |
| | | } |
| | | } |
| | | //} |
| | | } |
| | | } |
| | | |