Roundcube 简单插件开发教程

插件对于Roundcube是非常是用的一个功能。 他们虽然不是软件的核心部分,但却可以独立的安装并启用. Roundcube自带了一些插件, 并且有非常多的第三方插件提供下载.
下载并安装插件

先下载插件,并解压至网站根目录/plugins下,但是做完这些插件还并不能工作,想要插件工作,还需要启用插件,需要打开config/main.inc.php,找到$rcmail_config['plugins'] = array();在数组中填写插件名称就完成插件安装。

如:等等安装的插件为 additional_message_headers:只要$rcmail_config['plugins'] = array(‘additional_message_headers’, ‘archive’);

如果需要关闭插件,只要把插件名称从数组中移除即可

下面介绍一下插件的目录结构,如果你的插件名称为:fancy_emoticons,那么你的目录结构最简单的只需要一下几个就可以了:

plugins/
fancy_emoticons/
fancy_emoticons.php

然后只要编辑fancy_emoticons.php就可以了,编辑fancy_emoticons.php,首先新建一个跟插件名称一样的一个类,并且必须是继承rcube_plugin,如下:

/**
* Fancy Emoticons
*
* Sample plugin to replace emoticons in plain text message body with real icons
*
* @version 1.0
* @author Thomas Bruederli
* @url http://roundcube.net/plugins/fancy_emoticons
*/
class fancy_emoticons extends rcube_plugin
{
public $task = ‘mail’;
private $map;

function init()
{
$this->add_hook(‘message_part_after’, array($this, ‘replace’));

$this->map = array(
‘:)’  => html::img(array(‘src’ => $this->urlbase.’media/smile.gif’, ‘alt’ => ‘:)’)),
‘:-)’ => html::img(array(‘src’ => $this->urlbase.’media/smile.gif’, ‘alt’ => ‘:-)’)),
‘:(‘  => html::img(array(‘src’ => $this->urlbase.’media/cry.gif’, ‘alt’ => ‘:(‘)),
‘:-(‘ => html::img(array(‘src’ => $this->urlbase.’media/cry.gif’, ‘alt’ => ‘:-(‘)),
);
}

function replace($args)
{
if ($args['type'] == ‘plain’)
return array(‘body’ => strtr($args['body'], $this->map));

return null;
}
}

完成以上代码一个基本的插件就完成了

发布在Roundcube, 二次开发, 插件 已有标签 , . 将该链接存入书签发表评论或留个互链:互链地址.

添加一条评论

你的电子邮件不会被公开或用作其他用途。 标记*的项为必填项。

*
*

*

你可以使用以下HTML标签和属性。 <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>