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&amp;_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