插件注册及插件新版本提示

出自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);
个人工具