X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Fmime.php;h=1e8fc880c1b82237c8d316e0851b3e6cca0a489b;hp=91d87207a7192c11bf4c548b3442c73c43c76432;hb=bb40a9c1d9766ba4212a3350fbd702af3e2d06ee;hpb=6b76cffa6afb885fc54c385527ea18e1e7d46dcb diff --git a/functions/mime.php b/functions/mime.php index 91d87207..1e8fc880 100644 --- a/functions/mime.php +++ b/functions/mime.php @@ -6,7 +6,7 @@ * This contains the functions necessary to detect and decode MIME * messages. * - * @copyright 1999-2010 The SquirrelMail Project Team + * @copyright 1999-2011 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail @@ -575,9 +575,9 @@ 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 - * for a more generic type. Finally, a hook for ALL attachment - * types is run as well. + * It also allows plugins to run if there's a rule for a more + * generic type. Finally, a hook for ALL attachment types is + * run as well. */ // First remember the default link. $defaultlink_orig = $defaultlink; @@ -587,19 +587,23 @@ function buildAttachmentArray($message, $exclude_id, $mailbox, $id) { argument, and arguments are passed by reference, so instead of returning any changes, changes should simply be made to the original arguments themselves. */ - $temp = array(&$links, &$startMessage, &$id, &$urlMailbox, &$ent, + $temp = array(&$links, &$startMessage, &$id, &$urlMailbox, &$ent, &$defaultlink, &$display_filename, &$where, &$what); do_hook("attachment $type0/$type1", $temp); - 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 - returning any changes, changes should simply be made to the original - arguments themselves. */ - $temp = array(&$links, &$startMessage, &$id, &$urlMailbox, &$ent, - &$defaultlink, &$display_filename, &$where, &$what); - do_hook("attachment $type0/*", $temp); + /* 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 + returning any changes, changes should simply be made to the original + 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 $type0/*", $temp); /* 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 @@ -2346,6 +2350,15 @@ function sq_sanitize($body, list($free_content, $curpos) = sq_fixstyle($body, $gt+1, $message, $id, $mailbox); if ($free_content != FALSE){ + $attary = sq_fixatts($tagname, + $attary, + $rm_attnames, + $bad_attvals, + $add_attr_to_tag, + $message, + $id, + $mailbox + ); $trusted .= sq_tagprint($tagname, $attary, $tagtype); $trusted .= $free_content; $trusted .= sq_tagprint($tagname, false, 2);