X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fmime.php;h=1d7f0321136923d0039f953174bf4180e9dceb7a;hb=ffdae6e7ca11112273750f5ad80882164375a7e4;hp=f3319390585cf6bf414e48e4ca54d8411511af7f;hpb=1d935bc2c1b95c85bebc533b1422e9fd63187146;p=squirrelmail.git diff --git a/functions/mime.php b/functions/mime.php index f3319390..1d7f0321 100644 --- a/functions/mime.php +++ b/functions/mime.php @@ -12,11 +12,32 @@ * @package squirrelmail */ -/** The typical includes... */ -require_once(SM_PATH . 'functions/imap.php'); -require_once(SM_PATH . 'functions/attachment_common.php'); -/** add sqm_baseuri()*/ -include_once(SM_PATH . 'functions/display_messages.php'); +/** + * dependency information + functions dependency + mime_structure + class/mime/Message.class.php + Message::parseStructure + functions/page_header.php + displayPageHeader + functions/display_messages.php + plain_error_message + mime_fetch_body + functions/imap_general.php + sqimap_run_command + mime_print_body_lines + + + +functions/imap.php +functions/attachment_common.php +functions/display_messages.php + +magicHtml => url_parser +translateText => url_parser + +*/ + /* -------------------------------------------------------------------------- */ /* MIME DECODING */ @@ -37,7 +58,6 @@ function mime_structure ($bodystructure, $flags=array()) { $i = 0; $msg = Message::parseStructure($read,$i); if (!is_object($msg)) { - include_once(SM_PATH . 'functions/display_messages.php'); global $color, $mailbox; /* removed urldecode because $_GET is auto urldecoded ??? */ displayPageHeader( $color, $mailbox ); @@ -264,7 +284,7 @@ function translateText(&$body, $wrap_at, $charset) { global $where, $what; /* from searching */ global $color; /* color theme */ - require_once(SM_PATH . 'functions/url_parser.php'); + // require_once(SM_PATH . 'functions/url_parser.php'); $body_ary = explode("\n", $body); for ($i=0; $i < count($body_ary); $i++) { @@ -489,7 +509,7 @@ function formatBody($imap_stream, $message, $color, $wrap_at, $ent_num, $id, $ma * @return string html formated attachment information. */ function formatAttachments($message, $exclude_id, $mailbox, $id) { - global $where, $what, $startMessage, $color, $passed_ent_id; + global $where, $what, $startMessage, $color, $passed_ent_id, $base_uri; $att_ar = $message->getAttachments($exclude_id); @@ -506,10 +526,10 @@ function formatAttachments($message, $exclude_id, $mailbox, $id) { $type1 = strtolower($header->type1); $name = ''; $links['download link']['text'] = _("Download"); - $links['download link']['href'] = sqm_baseuri() . + $links['download link']['href'] = $base_uri . "src/download.php?absolute_dl=true&passed_id=$id&mailbox=$urlMailbox&ent_id=$ent"; if ($type0 =='message' && $type1 == 'rfc822') { - $default_page = sqm_baseuri() . 'src/read_body.php'; + $default_page = $base_uri . 'src/read_body.php'; $rfc822_header = $att->rfc822_header; $filename = $rfc822_header->subject; if (trim( $filename ) == '') { @@ -530,7 +550,7 @@ function formatAttachments($message, $exclude_id, $mailbox, $id) { } $description = $from_name; } else { - $default_page = sqm_baseuri() . 'src/download.php'; + $default_page = $base_uri . 'src/download.php'; $filename = $att->getFilename(); if ($header->description) { $description = decodeHeader($header->description); @@ -739,7 +759,7 @@ function decodeHeader ($string, $utfencode=true,$htmlsave=true,$decide=false) { /* convert string to different charset, * if functions asks for it (usually in compose) */ - $ret .= charset_convert($res[2],$replace,$default_charset); + $ret .= charset_convert($res[2],$replace,$default_charset,$htmlsave); } else { // convert string to html codes in order to display it $ret .= charset_decode($res[2],$replace); @@ -760,7 +780,7 @@ function decodeHeader ($string, $utfencode=true,$htmlsave=true,$decide=false) { /* convert string to different charset, * if functions asks for it (usually in compose) */ - $replace = charset_convert($res[2], $replace,$default_charset); + $replace = charset_convert($res[2], $replace,$default_charset,$htmlsave); } else { // convert string to html codes in order to display it $replace = charset_decode($res[2], $replace); @@ -1701,7 +1721,8 @@ function sq_fixstyle($body, $pos, $message, $id, $mailbox){ // "url(\\1$secremoveimg\\2)", $content); // remove NUL $content = str_replace("\0", "", $content); - $content = preg_replace("/(\\\\)?u(\\\\)?r(\\\\)?l(\\\\)?/i",'url', $content); + // translate ur\l and variations (IE parses that) + $content = preg_replace("/(\\\\)?u(\\\\)?r(\\\\)?l(\\\\)?/i", 'url', $content); // NB I insert NUL characters to keep to avoid an infinite loop. They are removed after the loop. while (preg_match("/url\s*\(\s*[\'\"]?([^:]+):(.*)?[\'\"]?\s*\)/si", $content, $matches)) { $sProto = strtolower($matches[1]); @@ -2072,7 +2093,7 @@ function sq_sanitize($body, */ function magicHTML($body, $id, $message, $mailbox = 'INBOX', $take_mailto_links =true) { - require_once(SM_PATH . 'functions/url_parser.php'); // for $MailTo_PReg_Match + // require_once(SM_PATH . 'functions/url_parser.php'); // for $MailTo_PReg_Match global $attachment_common_show_images, $view_unsafe_images, $has_unsafe_images; @@ -2177,7 +2198,7 @@ function magicHTML($body, $id, $message, $mailbox = 'INBOX', $take_mailto_links "idiocy", "idiocy", "", - "idiocy", + "url", "url(\\1#\\1)", "url(\\1#\\1)", "url(\\1#\\1)", @@ -2234,7 +2255,7 @@ function magicHTML($body, $id, $message, $mailbox = 'INBOX', $take_mailto_links if ($take_mailto_links) { // parseUrl($trusted); // this even parses URLs inside of tags... too aggressive global $MailTo_PReg_Match; - $MailTo_PReg_Match = '/mailto:' . substr($MailTo_PReg_Match, 1); + $MailTo_PReg_Match = '/mailto:' . substr($MailTo_PReg_Match, 1) ; if ((preg_match_all($MailTo_PReg_Match, $trusted, $regs)) && ($regs[0][0] != '')) { foreach ($regs[0] as $i => $mailto_before) { $mailto_params = $regs[10][$i]; @@ -2388,5 +2409,3 @@ function SendDownloadHeaders($type0, $type1, $filename, $force, $filesize=0) { } } // end fn SendDownloadHeaders - -?>