// document.write(''); //document.write(""); //document.write(""); // $url = '../plugins/spamcop/spamcop.php?passed_id=' . urlencode($passed_id) . '&mailbox=' . urlencode($mailbox) . '&startMessage=' . urlencode($startMessage) . '&passed_ent_id=' . urlencode($passed_ent_id); if ( $spamcop_method == 'web_form' && checkForJavascript() ) { $url .= '&js_web=1'; } $links[] = array ( 'URL' => $url, 'Text' => _("Report as Spam") ); } /** * Add spamcop option block (internal function) * @since 1.5.1 * @access private */ function spamcop_options_function() { global $optpage_blocks; $optpage_blocks[] = array( 'name' => _("SpamCop - Spam Reporting"), 'url' => '../plugins/spamcop/options.php', 'desc' => _("Help fight the battle against unsolicited email. SpamCop reads the spam email and determines the correct addresses to send complaints to. Quite fast, really smart, and easy to use."), 'js' => false ); } /** * Process messages that are submitted by email. * * Delete spam if user wants to delete it. Don't save submitted emails. * Implement overrides that fix compose.php behavior. * @since 1.5.1 * @access private */ function spamcop_while_sending_function() { global $mailbox, $spamcop_delete, $spamcop_save, $spamcop_is_composing, $auto_expunge, $username, $imapServerAddress, $imapPort, $imap_stream_options; if (sqgetGlobalVar('spamcop_is_composing' , $spamcop_is_composing)) { // delete spam message if ($spamcop_delete) { $imapConnection = sqimap_login($username, false, $imapServerAddress, $imapPort, 0, $imap_stream_options); sqimap_mailbox_select($imapConnection, $mailbox); sqimap_msgs_list_delete($imapConnection, $mailbox, array($spamcop_is_composing)); if ($auto_expunge) sqimap_mailbox_expunge($imapConnection, $mailbox, true); } if (! $spamcop_save) { // disable use of send folder. // Temporally override in order to disable saving of 'reply anyway' messages. global $default_move_to_sent; $default_move_to_sent=false; } // change default email composition setting. Plugin always operates in right frame. // make sure that compose.php redirects to right page. Temporally override. global $compose_new_win; $compose_new_win = false; } } /** * Internal spamcop plugin function. * * It is used to display similar action links. * @access private */ function spamcop_enable_disable($option,$disable_action,$enable_action) { if ($option) { $ret= _("Enabled") . " (" . _("Disable it") . ")\n"; } else { $ret = _("Disabled") . " (" . _("Enable it") . ")\n"; } return $ret; } /** * Stores message in attachment directory, when email based reports are used * @access private * @todo Duplicate code in src/compose.php */ function spamcop_getMessage_RFC822_Attachment($message, $composeMessage, $passed_id, $passed_ent_id='', $imapConnection) { global $username, $attachment_dir; if (!$passed_ent_id) { $body_a = sqimap_run_command($imapConnection, 'FETCH '.$passed_id.' RFC822', TRUE, $response, $readmessage, TRUE); } else { $body_a = sqimap_run_command($imapConnection, 'FETCH '.$passed_id.' BODY['.$passed_ent_id.']', TRUE, $response, $readmessage,TRUE); $message = $message->parent; } if ($response == 'OK') { array_shift($body_a); $body = implode('', $body_a) . "\r\n"; $filename = sq_get_attach_tempfile(); $hashed_attachment_dir = getHashedDir($username, $attachment_dir); $fp = fopen("$hashed_attachment_dir/$filename", 'wb'); fwrite ($fp, $body); fclose($fp); $composeMessage->initAttachment('message/rfc822','email.txt', $filename); } return $composeMessage; }