Source for file spamcop.php

Documentation is available at spamcop.php

  1. <?php
  2.  
  3. /**
  4.  * spamcop.php -- SpamCop plugin -- main page
  5.  *
  6.  * @copyright &copy; 1999-2006 The SquirrelMail Project Team
  7.  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  8.  * @version $Id: spamcop.php,v 1.43 2006/08/05 14:49:49 kink Exp $
  9.  * @package plugins
  10.  * @subpackage spamcop
  11.  */
  12.  
  13. /**
  14.  * Include the SquirrelMail initialization file.
  15.  */
  16. require('../../include/init.php');
  17. /* IMAP functions depend on date and mime */
  18. include_once(SM_PATH 'functions/date.php');
  19. include_once(SM_PATH 'functions/mime.php');
  20. /* IMAP functions */
  21. include_once(SM_PATH 'functions/imap_general.php');
  22. include_once(SM_PATH 'functions/imap_messages.php');
  23. /* plugin functions */
  24. include_once(SM_PATH 'plugins/spamcop/functions.php');
  25.  
  26. /* GLOBALS */
  27.  
  28. sqgetGlobalVar('mailbox'$mailboxSQ_GET);
  29. sqgetGlobalVar('passed_id'$passed_idSQ_GET);
  30. sqgetGlobalVar('js_web'$js_webSQ_GET);
  31.  
  32. if (sqgetGlobalVar('startMessage'$startMessageSQ_GET) ) {
  33.     $startMessage 1;
  34. }
  35. if (sqgetGlobalVar('passed_ent_id'$passed_ent_idSQ_GET) ) {
  36.     $passed_ent_id 0;
  37. }
  38. if (sqgetGlobalVar('js_web'$js_webSQ_GET) ) {
  39.     $js_web 0;
  40. }
  41.  
  42. sqgetGlobalVar('compose_messages'$compose_messagesSQ_SESSION);
  43.  
  44. if(sqgetGlobalVar('composesession'$composesessionSQ_SESSION) ) {
  45.     $composesession 0;
  46.     sqsession_register($composesession'composesession');
  47. }
  48. /* END GLOBALS */
  49.  
  50. // js_web variable is 1 only when link opens web based report page in new window
  51. // and in new window menu line or extra javascript code is not needed.
  52. if ($js_web{
  53.   displayHTMLHeader(_("SpamCop reporting"));
  54.   echo "<body text=\"$color[8]\" bgcolor=\"$color[4]\" link=\"$color[7]\" vlink=\"$color[7]\" alink=\"$color[7]\">\n";
  55. else {
  56.   displayPageHeader($color,$mailbox);
  57. }
  58.  
  59. /** is spamcop plugin disabled */
  60. if (is_plugin_enabled('spamcop')) {
  61.     error_box(_("Plugin is disabled."));
  62.     // display footer (closes html tags) and stop script execution
  63.         $oTemplate->display('footer.tpl');
  64.     exit();
  65. }
  66.  
  67.     $imap_stream sqimap_login($usernamefalse$imapServerAddress$imapPort0);
  68.     sqimap_mailbox_select($imap_stream$mailbox);
  69.  
  70.     if ($spamcop_method == 'quick_email' ||
  71.         $spamcop_method == 'thorough_email'{
  72.        // Use email-based reporting -- save as an attachment
  73.               $session "$composesession"+1;
  74.        $composesession $session;
  75.        sqsession_register($composesession,'composesession');
  76.        if (!isset($compose_messages)) {
  77.           $compose_messages array();
  78.        }
  79.        if (!isset($compose_messages[$session]|| ($compose_messages[$session== NULL)) {
  80.           $composeMessage new Message();
  81.           $rfc822_header new Rfc822Header();
  82.           $composeMessage->rfc822_header $rfc822_header;
  83.           $composeMessage->reply_rfc822_header '';
  84.           $compose_messages[$session$composeMessage;
  85.           sqsession_register($compose_messages,'compose_messages');
  86.        else {
  87.           $composeMessage=$compose_messages[$session];
  88.        }
  89.  
  90.  
  91.         $message sqimap_get_message($imap_stream$passed_id$mailbox);
  92.         $composeMessage spamcop_getMessage_RFC822_Attachment($message$composeMessage$passed_id,
  93.                                       $passed_ent_id$imap_stream);
  94.  
  95.             $compose_messages[$session$composeMessage;
  96.         sqsession_register($compose_messages'compose_messages');
  97.  
  98.         $fn getPref($data_dir$username'full_name');
  99.         $em getPref($data_dir$username'email_address');
  100.  
  101.         $HowItLooks $fn ' ';
  102.         if ($em != '')
  103.           $HowItLooks .= '<' $em '>';
  104.      }
  105.  
  106.  
  107. echo "<p>";
  108. echo _("Sending this spam report will give you back a reply with URLs that you can click on to properly report this spam message to the proper authorities. This is a free service. By pressing the \"Send Spam Report\" button, you agree to follow SpamCop's rules/terms of service/etc.");
  109. echo "</p>";
  110.  
  111. ?>
  112.  
  113. <table align="center" width="75%" border="0" cellpadding="0" cellspacing="0">
  114. <tr>
  115. <td align="left" valign="top">
  116. <?php if (isset($js_web&& $js_web{
  117.   echo '<form method="post" action="javascript:return false">';
  118.   echo '<input type="button" value="' _("Close Window""\" onclick=\"window.close(); return true;\" />\n";
  119. else {
  120.    ?><form method="post" action="../../src/right_main.php">
  121.   <input type="hidden" name="mailbox" value="<?php echo htmlspecialchars($mailbox?>" />
  122.   <input type="hidden" name="startMessage" value="<?php echo htmlspecialchars($startMessage?>" />
  123. <?php
  124.   echo '<input type="submit" value="' _("Cancel / Done""\" />";
  125. }
  126.   ?></form>
  127. </td>
  128. <td align="right" valign="top">
  129. <?php if ($spamcop_method == 'thorough_email' ||
  130.           $spamcop_method == 'quick_email'{
  131.    if ($spamcop_method == 'thorough_email')
  132.       $report_email 'submit.' $spamcop_id '@spam.spamcop.net';
  133.    else
  134.       $report_email 'quick.' $spamcop_id '@spam.spamcop.net';
  135.    $form_action SM_PATH 'src/compose.php';
  136. ?>  <form method="post" action="<?php echo $form_action?>">
  137.   <input type="hidden" name="mailbox" value="<?php echo htmlspecialchars($mailbox?>" />
  138.   <input type="hidden" name="spamcop_is_composing" value="<?php echo htmlspecialchars($passed_id?>" />
  139.   <input type="hidden" name="send_to" value="<?php echo htmlspecialchars($report_email)?>" />
  140.   <input type="hidden" name="subject" value="reply anyway" />
  141.   <input type="hidden" name="identity" value="0" />
  142.   <input type="hidden" name="session" value="<?php echo $session?>" />
  143. <?php
  144.   echo '<input type="submit" name="send" value="' _("Send Spam Report""\" />\n";
  145. else {
  146.    $spam_message mime_fetch_body ($imap_stream$passed_id$passed_ent_id50000);
  147.  
  148.    if (strlen($spam_message== 50000{
  149.       $Warning "\n[truncated by SpamCop]\n";
  150.       $spam_message substr($spam_message050000 strlen($Warning)) $Warning;
  151.    }
  152.    $action_url="http://members.spamcop.net/sc";
  153.  
  154.    if (isset($js_web&& $js_web{
  155.      echo "<form method=\"post\" action=\"$action_url\" name=\"submitspam\"".
  156.        " enctype=\"multipart/form-data\">\n";
  157.    else {
  158.      echo "<form method=\"post\" action=\"$action_url\" name=\"submitspam\"".
  159.        " enctype=\"multipart/form-data\" target=\"_blank\">\n";
  160.    ?>
  161.   <input type="hidden" name="action" value="submit" />
  162.   <input type="hidden" name="oldverbose" value="1" />
  163.   <input type="hidden" name="spam" value="<?php echo htmlspecialchars($spam_message)?>" />
  164.     <?php
  165.         echo '<input type="submit" name="x1" value="' _("Send Spam Report""\" />\n";
  166.     }
  167. ?>  </form>
  168. </td>
  169. </tr>
  170. </table>
  171. </body>
  172. </html>

Documentation generated on Sat, 07 Oct 2006 16:13:37 +0300 by phpDocumentor 1.3.0RC6