插件注册及插件新版本提示
出自Discuz! 技术文库
以下内容仅限 Discuz! X2.0
为了保护插件的合法权益,你可以把设计好的插件到官方的应用中心( http://addon.discuz.com )进行注册,注册后你将拥有此插件的唯一所有权。
- 插件 LOGO 设置
设置插件的 LOGO,提升插件的价值。请自行设计一个 40x40 大小的 PNG 图片,上传到扩展中心,此 LOGO 会在 Discuz! 的插件管理中心显示。
- 插件新版本提示
插件新版本提示可以让站长在随时检测到你插件是否存在新版本。请插件作者把自己发布插件的相关文件生成 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); } }
此函数执行后会在插件目录生成 validator.xml 文件,请同插件其他文件一并打包发布。页面输出的 MD5 校验码填写到扩展中心“插件版本校验文件登记”中。
使用范例
$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);