download related fixes
[squirrelmail.git] / functions / attachment_common.php
index fc37d988421dc981719eaeb06292505f8731c843..a6251442d6a5e824c178b091dbeccbe4077d980a 100644 (file)
@@ -49,7 +49,8 @@ if (isset($attachment_common_types)) {
 }
 
 /* Register text-type attachments */
-register_attachment_common('message/rfc822', 'link_text');
+//register_attachment_common('message/rfc822', 'link_text');
+register_attachment_common('message/rfc822', 'link_message');
 register_attachment_common('text/plain',     'link_text');
 register_attachment_common('text/richtext',  'link_text');
 
@@ -92,19 +93,17 @@ function attachment_common_link_text(&$Args)
        $Args[1]['attachment_common']['href'] = Where it links to
       
        This sets the 'href' of this plugin for a new link. */
-    $Args[1]['attachment_common']['href'] = '../src/download.php?startMessage=' .
-        $Args[2] . '&passed_id=' . $Args[3] . '&mailbox=' . $Args[4] .
-        '&passed_ent_id=' . $Args[5] . '&override_type0=text&override_type1=plain';
-    
-    /* If we got here from a search, we should preserve these variables */
-    if ($Args[8] && $Args[9])
-        $Args[1]['attachment_common']['href'] .= '&where=' . 
-        urlencode($Args[8]) . '&what=' . urlencode($Args[9]);
+       
+    global $QUERY_STRING;
+    $Args[1]['attachment_common']['href'] = '../src/view_text.php?'. $QUERY_STRING;
+    $Args[1]['attachment_common']['href'] =
+          set_url_var($Args[1]['attachment_common']['href'], 
+         'ent_id',$Args[5]);
   
     /* The link that we created needs a name.  "view" will be displayed for
        all text attachments handled by this plugin. */
     $Args[1]['attachment_common']['text'] = _("view");
-    
+
     /* Each attachment has a filename on the left, which is a link.
        Where that link points to can be changed.  Just in case the link above
        for viewing text attachments is not the same as the default link for
@@ -116,16 +115,28 @@ function attachment_common_link_text(&$Args)
     $Args[6] = $Args[1]['attachment_common']['href'];
 }
 
+function attachment_common_link_message(&$Args)
+{
+    $Args[1]['attachment_common']['href'] = '../src/read_body.php?startMessage=' .
+        $Args[2] . '&passed_id=' . $Args[3] . '&mailbox=' . $Args[4] .
+        '&passed_ent_id=' . $Args[5] . '&override_type0=message&override_type1=rfc822';
+    /* The link that we created needs a name.  "view" will be displayed for
+       all text attachments handled by this plugin. */
+    $Args[1]['attachment_common']['text'] = _("view");
+
+    $Args[6] = $Args[1]['attachment_common']['href'];    
+}
+
 
 function attachment_common_link_html(&$Args)
 {
     $Args[1]['attachment_common']['href'] = '../src/download.php?startMessage=' . 
-        $Args[2] . '&passed_id=' . $Args[3] . '&mailbox=' . $Args[4] .
-       '&passed_ent_id=' . $Args[5] . '&override_type0=text&override_type1=html';
+        $Args[2] . '&passed_id=' . $Args[3] . '&mailbox=' . $Args[4] .
+       '&passed_ent_id=' . $Args[5] . '&override_type0=text&override_type1=html';
     
     if ($Args[8] && $Args[9]) {
-        $Args[1]['attachment_common']['href'] .= '&where=' . 
-        urlencode($Args[8]) . '&what=' . urlencode($Args[9]);
+        $Args[1]['attachment_common']['href'] .= '&where=' . 
+        urlencode($Args[8]) . '&what=' . urlencode($Args[9]);
     }
 
     $Args[1]['attachment_common']['text'] = _("view");
@@ -133,7 +144,6 @@ function attachment_common_link_html(&$Args)
     $Args[6] = $Args[1]['attachment_common']['href'];
 }
 
-
 function attachment_common_link_image(&$Args)
 {
     global $attachment_common_show_images, $attachment_common_show_images_list;
@@ -144,31 +154,26 @@ function attachment_common_link_image(&$Args)
     
     $attachment_common_show_images_list[] = $info;
     
-    $Args[1]['attachment_common']['href'] = '../src/image.php?startMessage=' .
-        $Args[2] . '&passed_id=' . $Args[3] . '&mailbox=' . $Args[4] .
-        '&passed_ent_id=' . $Args[5];
-    
-    if ($Args[8] && $Args[9]) {
-        $Args[1]['attachment_common']['href'] .= '&where=' . 
-        urlencode($Args[8]) . '&what=' . urlencode($Args[9]);
-    }
+    global $QUERY_STRING;
+    $Args[1]['attachment_common']['href'] = '../src/image.php?'. $QUERY_STRING;
+    $Args[1]['attachment_common']['href'] =
+          set_url_var($Args[1]['attachment_common']['href'], 
+         'ent_id',$Args[5]);
   
     $Args[1]['attachment_common']['text'] = _("view");
     
     $Args[6] = $Args[1]['attachment_common']['href'];
-    
+
 }
 
 
 function attachment_common_link_vcard(&$Args)
 {
-    $Args[1]['attachment_common']['href'] = '../src/vcard.php?startMessage=' .
-        $Args[2] . '&passed_id=' . $Args[3] . '&mailbox=' . $Args[4] .
-        '&passed_ent_id=' . $Args[5];
-  
-    if (isset($where) && isset($what))
-        $Args[1]['attachment_common']['href'] .= '&where=' . 
-        urlencode($Args[8]) . '&what=' . urlencode($Args[9]);
+    global $QUERY_STRING;
+    $Args[1]['attachment_common']['href'] = '../src/vcard.php?'. $QUERY_STRING;
+    $Args[1]['attachment_common']['href'] =
+          set_url_var($Args[1]['attachment_common']['href'], 
+         'ent_id',$Args[5]);
   
     $Args[1]['attachment_common']['text'] = _("Business Card");