为了保护插件的合法权益,你可以把设计好的插件到官方的扩展中心( http://addons.discuz.com )进行注册,注册后你将拥有此插件的唯一所有权,通过插件 ID 可以查询到你自己指定的发布页面地址,同时你还可以享受到插件新版本提示功能。插件新版本提示需要插件作者把自己发布插件的相关文件生成 MD5 校验码,然后把校验码提交到扩展中心。这样站长在后台即可随时检测到你插件是否存在新版本。
插件校验码生成函数
- function createValidator($pluginid, $md5files) {
- define('IN_DISCUZ', true);
- require_once 'source/class/class_xml.php';
- require_once 'source/discuz_version.php';
- $plugindir = 'source/plugin/'.$pluginid.'/';
- $md5 = '';
- foreach($md5files as $file) {
- $md5 .= md5_file($file);
- }
- echo md5(md5($md5).$pluginid);
- $xml = array(
- 'Title' => 'Discuz! Plugin Validator',
- 'Version' => DISCUZ_VERSION,
- 'Data' => $md5files,
- );
- if($fp = @fopen($plugindir.'validator.xml', 'wb')) {
- fwrite($fp, array2xml($xml));
- fclose($fp);
- }
- }
复制代码
使用范例
- $md5files = array(
- 'source/plugin/myrepeats/switch.inc.php',
- 'source/plugin/myrepeats/admincp.inc.php',
- 'source/plugin/myrepeats/discuz_plugin_myrepeats.xml',
- 'source/plugin/myrepeats/memcp.inc.php',
- );
- createValidator('myrepeats', $md5files);
复制代码
|