Adding ability to hook into ANY attachment type. Also, please review my comments...
authorpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 25 Oct 2006 02:00:54 +0000 (02:00 +0000)
committerpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 25 Oct 2006 02:00:54 +0000 (02:00 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@11935 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/mime.php

index c86621a42155a6ea8b05c7bc6a6a1d2e5da4780a..35ce6e7c3e4771351162dc0c61b2b3c7c80386d4 100644 (file)
@@ -543,16 +543,28 @@ function buildAttachmentArray($message, $exclude_id, $mailbox, $id) {
 
         /* This executes the attachment hook with a specific MIME-type.
          * If that doesn't have results, it tries if there's a rule
 
         /* This executes the attachment hook with a specific MIME-type.
          * If that doesn't have results, it tries if there's a rule
-         * for a more generic type.
+         * for a more generic type. Finally, a hook for ALL attachment
+         * types is run as well.
          */
         $hookresults = do_hook("attachment $type0/$type1", $links,
                 $startMessage, $id, $urlMailbox, $ent, $defaultlink,
                 $display_filename, $where, $what);
          */
         $hookresults = do_hook("attachment $type0/$type1", $links,
                 $startMessage, $id, $urlMailbox, $ent, $defaultlink,
                 $display_filename, $where, $what);
+// FIXME: How does this code ever get executed?  $hookresults[1] is $links
+//        from above, and should always be returned by do_hook().  I will
+//        test this and fix if needed (but it has been working, right???)
+//        and get rid of these comments (Paul)
+// UPDATE: Preliminary testing shows that in fact I am correct that the
+//         following never gets executed (unless a strange plugin actually
+//         unsets the contents of the links)... how did this ever work???
+//         Can someonen please show a plugin that worked here?
         if(count($hookresults[1]) <= 1) {
             $hookresults = do_hook("attachment $type0/*", $links,
                     $startMessage, $id, $urlMailbox, $ent, $defaultlink,
                     $display_filename, $where, $what);
         }
         if(count($hookresults[1]) <= 1) {
             $hookresults = do_hook("attachment $type0/*", $links,
                     $startMessage, $id, $urlMailbox, $ent, $defaultlink,
                     $display_filename, $where, $what);
         }
+        $hookresults = do_hook("attachment */*", $hookresults[1],
+                $startMessage, $id, $urlMailbox, $ent, $hookresults[6], 
+                $display_filename, $where, $what);
 
         $links = $hookresults[1];
         $defaultlink = $hookresults[6];
 
         $links = $hookresults[1];
         $defaultlink = $hookresults[6];