diff options
author | thomascube <thomas@roundcube.net> | 2010-09-29 10:00:48 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2010-09-29 10:00:48 +0000 |
commit | 2baa16ae6d8355e0dfb38e400fd4115057b0680d (patch) | |
tree | 0e5790c0ff37980bfcdca26b1bfe4c392cf211b6 /plugins/emoticons | |
parent | 717815c9a88222fc19989d6545134bb4d1df62c9 (diff) |
Copy plugins into 0.4.1 release branch
Diffstat (limited to 'plugins/emoticons')
-rw-r--r-- | plugins/emoticons/emoticons.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/plugins/emoticons/emoticons.php b/plugins/emoticons/emoticons.php new file mode 100644 index 000000000..afd299c8e --- /dev/null +++ b/plugins/emoticons/emoticons.php @@ -0,0 +1,44 @@ +<?php + +/** + * Display Emoticons + * + * Sample plugin to replace emoticons in plain text message body with real icons + * + * @version 1.1.0 + * @author Thomas Bruederli + * @author Aleksander Machniak + * @website http://roundcube.net + */ +class emoticons extends rcube_plugin +{ + public $task = 'mail'; + private $map; + + function init() + { + $this->task = 'mail'; + $this->add_hook('message_part_after', array($this, 'replace')); + + $this->map = array( + '/:\)/' => html::img(array('src' => './program/js/tiny_mce/plugins/emotions/img/smiley-smile.gif', 'title' => ':)')), + '/:-\)/' => html::img(array('src' => './program/js/tiny_mce/plugins/emotions/img/smiley-smile.gif', 'title' => ':-)')), + '/(?<!mailto):D/' => html::img(array('src' => './program/js/tiny_mce/plugins/emotions/img/smiley-laughing.gif', 'title' => ':D')), + '/:-D/' => html::img(array('src' => './program/js/tiny_mce/plugins/emotions/img/smiley-laughing.gif', 'title' => ':-D')), + '/;\)/' => html::img(array('src' => './program/js/tiny_mce/plugins/emotions/img/smiley-wink.gif', 'title' => ';)')), + '/;-\)/' => html::img(array('src' => './program/js/tiny_mce/plugins/emotions/img/smiley-wink.gif', 'title' => ';-)')), + '/:\(/' => html::img(array('src' => './program/js/tiny_mce/plugins/emotions/img/smiley-frown.gif', 'title' => ':(')), + '/:-\(/' => html::img(array('src' => './program/js/tiny_mce/plugins/emotions/img/smiley-frown.gif', 'title' => ':-(')), + ); + } + + function replace($args) + { + if ($args['type'] == 'plain') { + $args['body'] = preg_replace( + array_keys($this->map), array_values($this->map), $args['body']); + } + return $args; + } + +} |