Adding reminder
[squirrelmail.git] / plugins / spamcop / setup.php
index 835884dd06868e3d80a7faf7f71a01f8c6661b8e..89a57d9d6eb6cb3043eb2a0ea78b103784f58a49 100755 (executable)
@@ -1,17 +1,24 @@
 <?php
-   /** 
-    **  setup.php -- SpamCop plugin           
-    **
-    **  Copyright (c) 1999-2002 The SquirrelMail development team
-    **  Licensed under the GNU GPL. For full terms see the file COPYING.
-    **  
-    **  $Id$                                                         
-    **/
-
+/** 
+ * setup.php -- SpamCop plugin - setup script
+ *
+ * @copyright (c) 1999-2004 The SquirrelMail development team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package plugins
+ * @subpackage spamcop
+ */
+
+/** @ignore */
 require_once(SM_PATH . 'functions/global.php');
 
+/** Disable Quick Reporting by default */
+$spamcop_quick_report = false;
 
-/* Initialize the plugin */
+/**
+ * Initialize the plugin 
+ * @access private
+ */
 function squirrelmail_plugin_init_spamcop() {
    global $squirrelmail_plugin_hooks, $data_dir, $username,
       $spamcop_is_composing;
@@ -23,7 +30,7 @@ function squirrelmail_plugin_init_spamcop() {
    $squirrelmail_plugin_hooks['read_body_header_right']['spamcop'] =
       'spamcop_show_link';
 
-   sqextractGlobalVar('spamcop_is_composing');
+    sqgetGlobalVar('spamcop_is_composing' , $spamcop_is_composing);
       
    if (isset($spamcop_is_composing)) {
       $squirrelmail_plugin_hooks['compose_send']['spamcop'] =
@@ -32,68 +39,89 @@ function squirrelmail_plugin_init_spamcop() {
 }
 
 
-// Load the settings
-// Validate some of it (make '' into 'default', etc.)
+/**
+ * Loads spamcop settings and validates some of values (make '' into 'default', etc.)
+ * @access private
+ */
 function spamcop_load() {
    global $username, $data_dir, $spamcop_enabled, $spamcop_delete,
-      $spamcop_method, $spamcop_id;
+      $spamcop_method, $spamcop_id, $spamcop_quick_report, $spamcop_type;
 
    $spamcop_enabled = getPref($data_dir, $username, 'spamcop_enabled');
    $spamcop_delete = getPref($data_dir, $username, 'spamcop_delete');
    $spamcop_method = getPref($data_dir, $username, 'spamcop_method');
+   $spamcop_type = getPref($data_dir, $username, 'spamcop_type');
    $spamcop_id = getPref($data_dir, $username, 'spamcop_id');
-   if ($spamcop_method == '') {
-      if (getPref($data_dir, $username, 'spamcop_form'))
-         $spamcop_method = 'web_form';
-      else
-         $spamcop_method = 'thorough_email';
-      setPref($data_dir, $username, 'spamcop_method', $spamcop_method);
+    if ($spamcop_method == '') {
+      // Default to web_form. It is faster.
+       $spamcop_method = 'web_form';
+       setPref($data_dir, $username, 'spamcop_method', $spamcop_method);
+    }
+   if (! $spamcop_quick_report && $spamcop_method=='quick_email') {
+       $spamcop_method = 'web_form';
+       setPref($data_dir, $username, 'spamcop_method', $spamcop_method);
+   }
+   if ($spamcop_type == '') {
+       $spamcop_type = 'free';
+       setPref($data_dir, $username, 'spamcop_type', $spamcop_type);
    }
    if ($spamcop_id == '')
       $spamcop_enabled = 0;
 }
 
 
-// Show the link on the read-a-message screen
+/**
+ * Shows spamcop link on the read-a-message screen
+ * @access private
+ */
 function spamcop_show_link() {
-   global $spamcop_enabled, $spamcop_method;
+   global $spamcop_enabled, $spamcop_method, $spamcop_quick_report,$javascript_on;
 
    if (! $spamcop_enabled)
       return;
 
    /* GLOBALS */
-   $passed_id = $_GET['passed_id'];
-   $mailbox = $_GET['mailbox'];
-   $startMessage = $_GET['startMessage'];
+   sqgetGlobalVar('passed_id',    $passed_id,    SQ_FORM);
+   sqgetGlobalVar('passed_ent_id',$passed_ent_id,SQ_FORM);
+   sqgetGlobalVar('mailbox',      $mailbox,      SQ_FORM);
+   sqgetGlobalVar('startMessage', $startMessage, SQ_FORM);
    /* END GLOBALS */
 
-   echo "<br>\n";
+   // catch unset passed_ent_id
+   if (! sqgetGlobalVar('passed_ent_id', $passed_ent_id, SQ_FORM) ) {
+    $passed_ent_id = 0;
+   }
+
+   echo "<br />\n";
+
+    /* 
+       Catch situation when user use quick_email and does not update 
+       preferences. User gets web_form link. If prefs are set to 
+       quick_email format - they will be updated after clicking the link
+     */
+    if (! $spamcop_quick_report && $spamcop_method=='quick_email') {
+       $spamcop_method = 'web_form';
+    }
    
-   if ($spamcop_method == 'web_form') {
-?><script language=javascript>
-document.write('<a href="../plugins/spamcop/spamcop.php?passed_id=<?PHP
-echo urlencode($passed_id); ?>&js_web=1&mailbox=<?PHP
-echo urlencode($mailbox); ?>" target="_blank">');
-document.write("<?PHP echo _("Report as Spam"); ?>");
+    // Javascript is used only in web based reporting
+    // don't insert javascript if javascript is disabled
+   if ($spamcop_method == 'web_form' && $javascript_on) {
+?><script language="javascript" type="text/javascript">
+document.write('<a href="../plugins/spamcop/spamcop.php?passed_id=<?php echo urlencode($passed_id); ?>&amp;js_web=1&amp;mailbox=<?php echo urlencode($mailbox); ?>&amp;passed_ent_id=<?php echo urlencode($passed_ent_id); ?>" target="_blank">');
+document.write("<?php echo _("Report as Spam"); ?>");
 document.write("</a>");
-</script><noscript>
-<a href="../plugins/spamcop/spamcop.php?passed_id=<?PHP
-echo urlencode($passed_id); ?>&mailbox=<?PHP
-echo urlencode($mailbox); ?>&startMessage=<?PHP
-echo urlencode($startMessage); ?>"><?PHP
-echo _("Report as Spam"); ?></a>
-</noscript><?PHP
+</script><?php
    } else {
-?><a href="../plugins/spamcop/spamcop.php?passed_id=<?PHP
-echo urlencode($passed_id); ?>&mailbox=<?PHP
-echo urlencode($mailbox); ?>&startMessage=<?PHP
-echo urlencode($startMessage); ?>"><?PHP
-echo _("Report as Spam"); ?></a><?PHP
+?><a href="../plugins/spamcop/spamcop.php?passed_id=<?php echo urlencode($passed_id); ?>&amp;mailbox=<?php echo urlencode($mailbox); ?>&amp;startMessage=<?php echo urlencode($startMessage); ?>&amp;passed_ent_id=<?php echo urlencode($passed_ent_id); ?>">
+<?php echo _("Report as Spam"); ?></a>
+<?php
    }
 }
 
-
-// Show the link to our own custom options page
+/**
+ * Show spamcop options block
+ * @access private
+ */
 function spamcop_options()
 {
    global $optpage_blocks;
@@ -101,13 +129,16 @@ function spamcop_options()
    $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."),
+      '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
    );
 }
 
 
-// When we send the email, we optionally trash it then too
+/**
+ * When we send the email, we optionally trash it then too
+ * @access private
+ */
 function spamcop_while_sending()
 {
    global $mailbox, $spamcop_delete, $spamcop_is_composing, $auto_expunge, 
@@ -124,4 +155,4 @@ function spamcop_while_sending()
    }
 }
 
-?>
+?>
\ No newline at end of file