Add attribute array to hyperlink/image/span templates for future extensibility
[squirrelmail.git] / plugins / spamcop / functions.php
index 2a78c7955e21e88471074bfee5c525380d97fbd2..e21fbfecf8f2b27bdc90261d0f9a8f13f8fae76a 100644 (file)
@@ -1,8 +1,9 @@
 <?php
+
 /**
  * SpamCop plugin - functions
  *
- * @copyright (c) 1999-2005 The SquirrelMail Project Team
+ * @copyright &copy; 1999-2006 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package plugins
@@ -58,8 +59,8 @@ function spamcop_load_function() {
  * @since 1.5.1
  * @access private
  */
-function spamcop_show_link_function() {
-    global $spamcop_enabled, $spamcop_method, $spamcop_quick_report,$javascript_on;
+function spamcop_show_link_function(&$links) {
+    global $spamcop_enabled, $spamcop_method, $spamcop_quick_report;
 
     if (! $spamcop_enabled)
         return;
@@ -78,8 +79,6 @@ function spamcop_show_link_function() {
         $passed_ent_id = 0;
     }
 
-    echo "<br />\n";
-
     /*
        Catch situation when user uses quick_email and does not update
        preferences. User gets web_form link. If prefs are set to
@@ -89,19 +88,24 @@ function spamcop_show_link_function() {
         $spamcop_method = 'web_form';
     }
 
-    // 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><?php
-    } else {
-?><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
+// FIXME: do we need this javascript and if so, fix it
+// <script 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>
+
+
+    $url =  '../plugins/spamcop/spamcop.php?passed_id=' . urlencode($passed_id) .
+                '&amp;mailbox=' . urlencode($mailbox) . '&amp;startMessage=' . urlencode($startMessage) .
+                '&amp;passed_ent_id=' . urlencode($passed_ent_id);
+    if ( $spamcop_method == 'web_form' && checkForJavascript() ) {
+        $url .= '&amp;js_web=1';
     }
+
+    $links[] = array ( 'URL' => $url,
+        'Text' => _("Report as Spam")
+    );
 }
 
 /**
@@ -130,13 +134,12 @@ function spamcop_options_function() {
  */
 function spamcop_while_sending_function() {
     global $mailbox, $spamcop_delete, $spamcop_save, $spamcop_is_composing, $auto_expunge,
-           $username, $key, $imapServerAddress, $imapPort;
+           $username, $imapServerAddress, $imapPort;
 
     if (sqgetGlobalVar('spamcop_is_composing' , $spamcop_is_composing)) {
         // delete spam message
         if ($spamcop_delete) {
-            $imapConnection = sqimap_login($username, $key, $imapServerAddress,
-                $imapPort, 0);
+            $imapConnection = sqimap_login($username, false, $imapServerAddress, $imapPort, 0);
             sqimap_mailbox_select($imapConnection, $mailbox);
             sqimap_msgs_list_delete($imapConnection, $mailbox, array($spamcop_is_composing));
             if ($auto_expunge)
@@ -173,8 +176,9 @@ function spamcop_enable_disable($option,$disable_action,$enable_action) {
 /**
  * Stores message in attachment directory, when email based reports are used
  * @access private
+ * @todo Duplicate code in src/compose.php
  */
-function getMessage_RFC822_Attachment($message, $composeMessage, $passed_id,
+function spamcop_getMessage_RFC822_Attachment($message, $composeMessage, $passed_id,
                                       $passed_ent_id='', $imapConnection) {
     global $attachment_dir, $username;
 
@@ -212,4 +216,3 @@ function getMessage_RFC822_Attachment($message, $composeMessage, $passed_id,
     }
     return $composeMessage;
 }
-?>
\ No newline at end of file