diff options
author | alecpl <alec@alec.pl> | 2010-12-06 11:13:55 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2010-12-06 11:13:55 +0000 |
commit | 74728935122fe35ed97c40092080cc7dfd4b7052 (patch) | |
tree | 8a523405d4411c74a583be07555c8d49cbf380ef /program/include/main.inc | |
parent | 9e81b55616ea64e1a754174a7008efac26a2f285 (diff) |
- Fix plaintext versions of HTML messages don't contain placeholders for emotions (#1485206)
Diffstat (limited to 'program/include/main.inc')
-rw-r--r-- | program/include/main.inc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/program/include/main.inc b/program/include/main.inc index 6d4e19c36..ad0bccd48 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -1647,6 +1647,43 @@ function rcube_html_editor($mode='') /** + * Replaces TinyMCE's emoticon images with plain-text representation + * + * @param string HTML content + * @return string HTML content + */ +function rcmail_replace_emoticons($html) +{ + $emoticons = array( + '8-)' => 'smiley-cool', + ':-#' => 'smiley-foot-in-mouth', + ':-*' => 'smiley-kiss', + ':-X' => 'smiley-sealed', + ':-P' => 'smiley-tongue-out', + ':-@' => 'smiley-yell', + ":'(" => 'smiley-cry', + ':-(' => 'smiley-frown', + ':-D' => 'smiley-laughing', + ':-)' => 'smiley-smile', + ':-/' => 'smiley-undecided', + ':-X' => 'smiley-embarassed', + '0:-)' => 'smiley-innocent', + ':-|' => 'smiley-money-mouth', + ':-0' => 'smiley-surprised', + ';-)' => 'smiley-wink', + ); + + foreach ($emoticons as $idx => $file) { + // <img title="Cry" src="http://.../program/js/tiny_mce/plugins/emotions/img/smiley-cry.gif" border="0" alt="Cry" /> + $search[] = '/<img title="[a-z ]+" src="https?:\/\/[a-z0-9_.\/-]+\/tiny_mce\/plugins\/emotions\/img\/'.$file.'.gif"[^>]+\/>/i'; + $replace[] = $idx; + } + + return preg_replace($search, $replace, $html); +} + + +/** * Check if working in SSL mode * * @param integer HTTPS port number @@ -1881,3 +1918,4 @@ function log_bug($arg_arr) flush(); } } + |