From 6649b1f0a5db6160d197a13ca79cfd67fbb02d77 Mon Sep 17 00:00:00 2001
From: svncommit <devs@roundcube.net>
Date: Sat, 23 Sep 2006 19:37:29 -0400
Subject: [PATCH] added TinyMCE spellchecker plugin, configured to use GoogleSpell

---
 program/steps/mail/func.inc |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 55 insertions(+), 5 deletions(-)

diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index b51ec4b..bfddb5a 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -689,7 +689,7 @@
   global $IMAP, $REMOTE_OBJECTS, $JS_OBJECT_NAME;
   
   $body = is_array($part->replaces) ? strtr($part->body, $part->replaces) : $part->body;
-  
+
   // text/html
   if ($part->ctype_secondary=='html')
     {
@@ -1083,11 +1083,11 @@
         {
         if (empty($part->ctype_parameters) || empty($part->ctype_parameters['charset']))
           $$part->ctype_parameters['charset'] = $MESSAGE['headers']->charset;
-         
+
         // fetch part if not available
         if (!isset($part->body))
           $part->body = $IMAP->get_message_part($MESSAGE['UID'], $part->mime_id, $part);
-        
+
         $body = rcmail_print_body($part, $safe_mode);
         $out .= '<div class="message-part">';
         
@@ -1187,13 +1187,13 @@
                             '/(<\/?meta[^>]*>)/i'),
                       '<!--\\1-->',
                       $body);
-                      
+
   $out = preg_replace(array('/(<body[^>]*>)/i',
                             '/(<\/body>)/i'),
                       array('<div class="rcmBody">',
                             '</div>'),
                       $out);
-  
+
   return $out;
   }
 
@@ -1239,6 +1239,56 @@
   }
 
 
+function rcmail_has_html_part($message_parts)
+{
+   if (!is_array($message_parts))
+      return FALSE;
+
+   // check all message parts
+   foreach ($message_parts as $pid => $part)
+   {
+      $mimetype = strtolower($part->ctype_primary.'/'.$part->ctype_secondary);
+      if ($mimetype=='text/html')
+      {
+         return TRUE;
+      }
+   }
+    
+   return FALSE;
+}
+
+// return first HTML part of a message
+function rcmail_first_html_part($message_struct)
+  {
+  global $IMAP;
+
+  if (!is_array($message_struct['parts']))
+    return FALSE;
+    
+  $html_part = NULL;
+
+  // check all message parts
+  foreach ($message_struct['parts'] as $pid => $part)
+    {
+    $mimetype = strtolower($part->ctype_primary.'/'.$part->ctype_secondary);
+    if ($mimetype=='text/html')
+      {
+      $html_part = $IMAP->get_message_part($message_struct['UID'], $pid, $part);
+      }
+    }
+
+  if ($html_part)
+    {
+    // remove special chars encoding
+    //$trans = array_flip(get_html_translation_table(HTML_ENTITIES));
+    //$html_part = strtr($html_part, $trans);
+
+    return $html_part;
+    }
+
+  return FALSE;
+}
+
 
 // return first text part of a message
 function rcmail_first_text_part($message_struct)

--
Gitblit v1.9.1