|
@@ -561,6 +561,9 @@ function buildAttachmentArray($message, $exclude_id, $mailbox, $id) {
|
|
|
* for a more generic type. Finally, a hook for ALL attachment
|
|
|
* types is run as well.
|
|
|
*/
|
|
|
+ // First remember the default link.
|
|
|
+ $defaultlink_orig = $defaultlink;
|
|
|
+
|
|
|
/* The API for this hook has changed as of 1.5.2 so that all plugin
|
|
|
arguments are passed in an array instead of each their own plugin
|
|
|
argument, and arguments are passed by reference, so instead of
|
|
@@ -569,7 +572,7 @@ function buildAttachmentArray($message, $exclude_id, $mailbox, $id) {
|
|
|
$temp = array(&$links, &$startMessage, &$id, &$urlMailbox, &$ent,
|
|
|
&$defaultlink, &$display_filename, &$where, &$what);
|
|
|
do_hook("attachment $type0/$type1", $temp);
|
|
|
- if(count($links) <= 1) {
|
|
|
+ if(count($links) <= 1 && $defaultlink == $defaultlink_orig) {
|
|
|
/* The API for this hook has changed as of 1.5.2 so that all plugin
|
|
|
arguments are passed in an array instead of each their own plugin
|
|
|
argument, and arguments are passed by reference, so instead of
|
|
@@ -586,6 +589,12 @@ function buildAttachmentArray($message, $exclude_id, $mailbox, $id) {
|
|
|
arguments themselves. */
|
|
|
$temp = array(&$links, &$startMessage, &$id, &$urlMailbox, &$ent,
|
|
|
&$defaultlink, &$display_filename, &$where, &$what);
|
|
|
+ // Do not let a generic plugin change the default link if a more
|
|
|
+ // specialized one already did it...
|
|
|
+ if ($defaultlink != $defaultlink_orig) {
|
|
|
+ $dummy = '';
|
|
|
+ $temp[5] = &$dummy;
|
|
|
+ }
|
|
|
do_hook("attachment */*", $temp);
|
|
|
|
|
|
$this_attachment = array();
|