diff options
Diffstat (limited to 'plugins/emoticons')
-rw-r--r-- | plugins/emoticons/composer.json | 29 | ||||
-rw-r--r-- | plugins/emoticons/emoticons.php | 78 | ||||
-rw-r--r-- | plugins/emoticons/tests/Emoticons.php | 23 |
3 files changed, 0 insertions, 130 deletions
diff --git a/plugins/emoticons/composer.json b/plugins/emoticons/composer.json deleted file mode 100644 index 8e7b90ae9..000000000 --- a/plugins/emoticons/composer.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "roundcube/emoticons", - "type": "roundcube-plugin", - "description": "Sample plugin to replace emoticons in plain text message body with real icons.", - "license": "GPLv3+", - "version": "1.3", - "authors": [ - { - "name": "Thomas Bruederli", - "email": "roundcube@gmail.com", - "role": "Lead" - }, - { - "name": "Aleksander Machniak", - "email": "alec@alec.pl", - "role": "Developer" - } - ], - "repositories": [ - { - "type": "composer", - "url": "http://plugins.roundcube.net" - } - ], - "require": { - "php": ">=5.3.0", - "roundcube/plugin-installer": ">=0.1.3" - } -} diff --git a/plugins/emoticons/emoticons.php b/plugins/emoticons/emoticons.php deleted file mode 100644 index 187e83827..000000000 --- a/plugins/emoticons/emoticons.php +++ /dev/null @@ -1,78 +0,0 @@ -<?php - -/** - * Display Emoticons - * - * Sample plugin to replace emoticons in plain text message body with real icons - * - * @version @package_version@ - * @license GNU GPLv3+ - * @author Thomas Bruederli - * @author Aleksander Machniak - * @website http://roundcube.net - */ -class emoticons extends rcube_plugin -{ - public $task = 'mail'; - - function init() - { - $this->add_hook('message_part_after', array($this, 'replace')); - } - - function replace($args) - { - // This is a lookbehind assertion which will exclude html entities - // E.g. situation when ";)" in "")" shouldn't be replaced by the icon - // It's so long because of assertion format restrictions - $entity = '(?<!&' - . '[a-zA-Z0-9]{2}' . '|' . '#[0-9]{2}' . '|' - . '[a-zA-Z0-9]{3}' . '|' . '#[0-9]{3}' . '|' - . '[a-zA-Z0-9]{4}' . '|' . '#[0-9]{4}' . '|' - . '[a-zA-Z0-9]{5}' . '|' - . '[a-zA-Z0-9]{6}' . '|' - . '[a-zA-Z0-9]{7}' - . ')'; - - // map of emoticon replacements - $map = array( - '/:\)/' => $this->img_tag('smiley-smile.gif', ':)' ), - '/:-\)/' => $this->img_tag('smiley-smile.gif', ':-)' ), - '/(?<!mailto):D/' => $this->img_tag('smiley-laughing.gif', ':D' ), - '/:-D/' => $this->img_tag('smiley-laughing.gif', ':-D' ), - '/:\(/' => $this->img_tag('smiley-frown.gif', ':(' ), - '/:-\(/' => $this->img_tag('smiley-frown.gif', ':-(' ), - '/'.$entity.';\)/' => $this->img_tag('smiley-wink.gif', ';)' ), - '/'.$entity.';-\)/' => $this->img_tag('smiley-wink.gif', ';-)' ), - '/8\)/' => $this->img_tag('smiley-cool.gif', '8)' ), - '/8-\)/' => $this->img_tag('smiley-cool.gif', '8-)' ), - '/(?<!mailto):O/i' => $this->img_tag('smiley-surprised.gif', ':O' ), - '/(?<!mailto):-O/i' => $this->img_tag('smiley-surprised.gif', ':-O' ), - '/(?<!mailto):P/i' => $this->img_tag('smiley-tongue-out.gif', ':P' ), - '/(?<!mailto):-P/i' => $this->img_tag('smiley-tongue-out.gif', ':-P' ), - '/(?<!mailto):@/i' => $this->img_tag('smiley-yell.gif', ':@' ), - '/(?<!mailto):-@/i' => $this->img_tag('smiley-yell.gif', ':-@' ), - '/O:\)/i' => $this->img_tag('smiley-innocent.gif', 'O:)' ), - '/O:-\)/i' => $this->img_tag('smiley-innocent.gif', 'O:-)' ), - '/(?<!mailto):$/' => $this->img_tag('smiley-embarassed.gif', ':$' ), - '/(?<!mailto):-$/' => $this->img_tag('smiley-embarassed.gif', ':-$' ), - '/(?<!mailto):\*/i' => $this->img_tag('smiley-kiss.gif', ':*' ), - '/(?<!mailto):-\*/i' => $this->img_tag('smiley-kiss.gif', ':-*' ), - '/(?<!mailto):S/i' => $this->img_tag('smiley-undecided.gif', ':S' ), - '/(?<!mailto):-S/i' => $this->img_tag('smiley-undecided.gif', ':-S' ), - ); - - if ($args['type'] == 'plain') { - $args['body'] = preg_replace( - array_keys($map), array_values($map), $args['body']); - } - - return $args; - } - - private function img_tag($ico, $title) - { - $path = './program/js/tinymce/plugins/emoticons/img/'; - return html::img(array('src' => $path.$ico, 'title' => $title)); - } -} diff --git a/plugins/emoticons/tests/Emoticons.php b/plugins/emoticons/tests/Emoticons.php deleted file mode 100644 index e04502285..000000000 --- a/plugins/emoticons/tests/Emoticons.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php - -class Emoticons_Plugin extends PHPUnit_Framework_TestCase -{ - - function setUp() - { - include_once __DIR__ . '/../emoticons.php'; - } - - /** - * Plugin object construction test - */ - function test_constructor() - { - $rcube = rcube::get_instance(); - $plugin = new emoticons($rcube->api); - - $this->assertInstanceOf('emoticons', $plugin); - $this->assertInstanceOf('rcube_plugin', $plugin); - } -} - |