From 90022ee3d12f538af87bc01650b0e00ae87ef69d Mon Sep 17 00:00:00 2001 From: svncommit <devs@roundcube.net> Date: Mon, 07 Aug 2006 09:23:13 -0400 Subject: [PATCH] fixed 'ifame' typo --- program/steps/mail/func.inc | 51 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 42 insertions(+), 9 deletions(-) diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index eac4e37..4b3114b 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -67,7 +67,8 @@ if ($CONFIG['drafts_mbox']) $OUTPUT->add_script(sprintf("%s.set_env('drafts_mailbox', '%s');", $JS_OBJECT_NAME, $CONFIG['drafts_mbox'])); - +if ($CONFIG['junk_mbox']) + $OUTPUT->add_script(sprintf("%s.set_env('junk_mailbox', '%s');", $JS_OBJECT_NAME, $CONFIG['junk_mbox'])); // return the mailboxlist in HTML function rcmail_mailbox_list($attrib) @@ -213,20 +214,26 @@ else if ($folder['id']==$CONFIG['junk_mbox']) $class_name = 'junk'; - $out .= sprintf('<li id="rcmbx%s" class="mailbox %s %s%s%s"><a href="%s&_mbox=%s"'. + $out .= sprintf('<li id="rcmbx%s" class="mailbox %s %s%s%s"><a href="%s&_mbox=%s"'. ' onclick="return %s.command(\'list\',\'%s\')"'. + ' onmouseover="return %s.focus_mailbox(\'%s\')"' . + ' onmouseout="return %s.unfocus_mailbox(\'%s\')"' . ' onmouseup="return %s.mbox_mouse_up(\'%s\')"%s>%s</a>', $folder_css, $class_name, $zebra_class, $unread_count ? ' unread' : '', - $folder['id']==$mbox_name ? ' selected' : '', + addslashes($folder['id'])==addslashes($mbox_name) ? ' selected' : '', $COMM_PATH, urlencode($folder['id']), $JS_OBJECT_NAME, - $folder['id'], + addslashes($folder['id']), $JS_OBJECT_NAME, - $folder['id'], + addslashes($folder['id']), + $JS_OBJECT_NAME, + addslashes($folder['id']), + $JS_OBJECT_NAME, + addslashes($folder['id']), $title, rep_specialchars_output($foldername, 'html', 'all')); @@ -288,6 +295,9 @@ // check to see if we have some settings for sorting $sort_col = $_SESSION['sort_col']; $sort_order = $_SESSION['sort_order']; + + // add some labels to client + rcube_add_label('from', 'to'); // get message headers $a_headers = $IMAP->list_headers('', '', $sort_col, $sort_order); @@ -433,7 +443,11 @@ if ($col=='from' || $col=='to') $cont = rep_specialchars_output(rcmail_address_string($header->$col, 3, $attrib['addicon'])); else if ($col=='subject') + { $cont = rep_specialchars_output($IMAP->decode_header($header->$col), 'html', 'all'); + // firefox/mozilla temporary workaround to pad subject with content so that whitespace in rows responds to drag+drop + $cont .= '<img src="./program/blank.gif" height="5" width="1000" alt="" />'; + } else if ($col=='size') $cont = show_bytes($header->$col); else if ($col=='date') @@ -499,6 +513,8 @@ if (strtolower($IMAP->get_mailbox_name())=='sent' && ($f = array_search('from', $a_show_cols)) && !array_search('to', $a_show_cols)) $a_show_cols[$f] = 'to'; + + $commands .= sprintf("this.set_message_coltypes(%s);\n", array2js($a_show_cols)); // loop through message headers for ($n=0; $a_headers[$n]; $n++) @@ -1010,7 +1026,7 @@ if ($hkey=='date' && !empty($headers[$hkey])) $header_value = format_date(strtotime($headers[$hkey])); else if (in_array($hkey, array('from', 'to', 'cc', 'bcc', 'reply-to'))) - $header_value = rep_specialchars_output(rcmail_address_string($IMAP->decode_header($headers[$hkey]), NULL, $attrib['addicon'])); + $header_value = rep_specialchars_output(rcmail_address_string($headers[$hkey], NULL, $attrib['addicon'])); else $header_value = rep_specialchars_output($IMAP->decode_header($headers[$hkey]), '', 'all'); @@ -1160,11 +1176,14 @@ $body = preg_replace('/(url\s*\()(["\']?)([\.\/]+[^"\'\)\s]+)(\2)\)/Uie', "'\\1\''.make_absolute_url('\\3', '$base_url').'\')'", $body); $body = preg_replace($base_reg, '', $body); } + + // modify HTML links to open a new window if clicked + $body = preg_replace('/<a\s+([^>]+)>/Uie', "rcmail_alter_html_link('\\1');", $body); // add comments arround html and other tags $out = preg_replace(array('/(<\/?html[^>]*>)/i', '/(<\/?head[^>]*>)/i', - '/(<title[^>]*>.+<\/title>)/ui', + '/(<title[^>]*>.*<\/title>)/Ui', '/(<\/?meta[^>]*>)/i'), '<!--\\1-->', $body); @@ -1174,11 +1193,25 @@ array('<div class="rcmBody">', '</div>'), $out); - return $out; } + +// parse link attributes and set correct target +function rcmail_alter_html_link($in) + { + $attrib = parse_attrib_string($in); + + if (stristr((string)$attrib['href'], 'mailto:')) + $attrib['onclick'] = sprintf("return %s.command('compose','%s',this)", + $GLOBALS['JS_OBJECT_NAME'], + substr($attrib['href'], 7)); + else if (!empty($attrib['href']) && $attrib['href']{0}!='#') + $attrib['target'] = '_blank'; + + return '<a' . create_attrib_string($attrib, array('href', 'name', 'target', 'onclick', 'id', 'class', 'style', 'title')) . '>'; + } // replace all css definitions with #container [def] @@ -1440,7 +1473,7 @@ $attrib['src'] = './?'.str_replace('_frame=', ($ctype_primary=='text' ? '_show=' : '_preload='), $_SERVER['QUERY_STRING']); $attrib_str = create_attrib_string($attrib, array('id', 'class', 'style', 'src', 'width', 'height')); - $out = '<iframe '. $attrib_str . "></ifame>"; + $out = '<iframe '. $attrib_str . "></iframe>"; return $out; } -- Gitblit v1.9.1