X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=plugins%2Fspamcop%2Ffunctions.php;h=5d0d4c668c32395e36650c96a706456211fe239b;hb=9ae70b623b5bda18ee4b60d9481d49d057b2f508;hp=e21fbfecf8f2b27bdc90261d0f9a8f13f8fae76a;hpb=4ae656b7b25f16a9124f196a0a5c74af27239880;p=squirrelmail.git diff --git a/plugins/spamcop/functions.php b/plugins/spamcop/functions.php index e21fbfec..5d0d4c66 100644 --- a/plugins/spamcop/functions.php +++ b/plugins/spamcop/functions.php @@ -3,7 +3,7 @@ /** * SpamCop plugin - functions * - * @copyright © 1999-2006 The SquirrelMail Project Team + * @copyright 1999-2014 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package plugins @@ -66,7 +66,7 @@ function spamcop_show_link_function(&$links) { return; /* GLOBALS */ - sqgetGlobalVar('passed_id', $passed_id, SQ_FORM); + sqgetGlobalVar('passed_id', $passed_id, SQ_FORM, NULL, SQ_TYPE_BIGINT); sqgetGlobalVar('passed_ent_id',$passed_ent_id,SQ_FORM); sqgetGlobalVar('mailbox', $mailbox, SQ_FORM); if ( sqgetGlobalVar('startMessage', $startMessage, SQ_FORM) ) { @@ -134,12 +134,12 @@ function spamcop_options_function() { */ function spamcop_while_sending_function() { global $mailbox, $spamcop_delete, $spamcop_save, $spamcop_is_composing, $auto_expunge, - $username, $imapServerAddress, $imapPort; + $username, $imapServerAddress, $imapPort, $imapSslOptions; if (sqgetGlobalVar('spamcop_is_composing' , $spamcop_is_composing)) { // delete spam message if ($spamcop_delete) { - $imapConnection = sqimap_login($username, false, $imapServerAddress, $imapPort, 0); + $imapConnection = sqimap_login($username, false, $imapServerAddress, $imapPort, 0, $imapSslOptions); sqimap_mailbox_select($imapConnection, $mailbox); sqimap_msgs_list_delete($imapConnection, $mailbox, array($spamcop_is_composing)); if ($auto_expunge) @@ -180,9 +180,9 @@ function spamcop_enable_disable($option,$disable_action,$enable_action) { */ function spamcop_getMessage_RFC822_Attachment($message, $composeMessage, $passed_id, $passed_ent_id='', $imapConnection) { - global $attachment_dir, $username; + + global $username, $attachment_dir; - $hashed_attachment_dir = getHashedDir($username, $attachment_dir); if (!$passed_ent_id) { $body_a = sqimap_run_command($imapConnection, 'FETCH '.$passed_id.' RFC822', @@ -198,21 +198,15 @@ function spamcop_getMessage_RFC822_Attachment($message, $composeMessage, $passed array_shift($body_a); $body = implode('', $body_a) . "\r\n"; - $localfilename = GenerateRandomString(32, 'FILE', 7); - $full_localfilename = "$hashed_attachment_dir/$localfilename"; - $fp = fopen( $full_localfilename, 'w'); + $filename = sq_get_attach_tempfile(); + $hashed_attachment_dir = getHashedDir($username, $attachment_dir); + + $fp = fopen("$hashed_attachment_dir/$filename", 'wb'); fwrite ($fp, $body); fclose($fp); - - /* dirty relative dir fix */ - if (substr($attachment_dir,0,3) == '../') { - $attachment_dir = substr($attachment_dir,3); - $hashed_attachment_dir = getHashedDir($username, $attachment_dir); - } - $full_localfilename = "$hashed_attachment_dir/$localfilename"; - $composeMessage->initAttachment('message/rfc822','email.txt', - $full_localfilename); + $filename); } + return $composeMessage; }