Xoops模块安装/更新的执行脚本

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一页 | 首页 | DedeCMS | 帝国CMS | Drupal | PHPCMS | PHP168 | Joomla | PowerEasy | SupeSite

模块安装[ ]

配置文件声明

首先你需要在xoops_version.php中加入下面这行命令

$modversion['onInstall'] = 'include/installscript.php';

创建函数

它会告诉模块的安装程序运行和xoops_version.php在同一目录下的脚本installscript.php。现在我们需要使用实际安装前后后的脚本。例如我们想为新的模块foo创建一个上传文件目录。在/modules/foo/include/目录下创建 installscript.php的文件,然后加入下面的语句:

<?
function xoops_module_install_foo(&$module)
{
	// Create a folder “foo” inside XOOPS_ROOT_PATH/uploads/
	
	return true;
}
?>

说明:上面的代码是什么意思?让我们看仔细一点。

function xoops_module_install_foo(&$module)

XOOPS安装一个模块时,会在我们安装后的脚本中找一个叫做xoops_module_install_<module directory>的函数。如果找到这个函数就会运行它,为我们最近安装的模块的xoopsModule对象提供一个参考。如果XOOPS找不到这个文件或里面的函数,那么模块的初始化例行程序会再次重新出现并且继续执行。

执行结果

在结束了初始化任务后,如果成功函数应该返回true,否则返回false。如果返回true你应该在安装上看到这个信息:

xoops_module_install_foo executed successfully.

如果返回false你将看到:

Failed to execute xoops_module_install_foo

同样,阻止从安装函数发出输出状态信息。这些信息不在页面信息流显示,但可能在管理标题上--不是正好是你得到的。

预执行命令

模块安装开始前系统会自动检查是否定义了xoops_module_pre_install_foo函数。如果定义了则自动执行。可用于模块安装的预处理,比如检查模块所需的系统条件是否满足,如果不满足则提示并停止安装。

模块卸载[ ]

在卸载一个模块时系统会自动卸载模块相关数据,比如区块、组权限、模板、通知、sql表格等。如果模块在运行过程中产生了其他数据,在卸载时模块需要提供特别方法对相关数据做处理,以保证系统的干净和安全稳定性。类似于安装时的onInstall,可以通过onUninstall建立卸载前后执行的函数来实现模块的完全卸载。

设置

在你的xoops_version.php文件中加下面这行

$modversion['onUninstall'] = 'include/uninstallscript.php';

创建函数

在/modules/foo/include/目录下创建文件uninstallscript.php。

<?php
function xoops_module_uninstall_foo(&$module)
{ … }
?>

执行结果

现在你可以适当的卸载你的安装后的脚本工作。在卸载过程中,你会得到下面的记录信息:

xoops_module_uninstall_foo executed successfully.

如果你的函数返回true,若是返回false:

Failed to execute xoops_module_uninstall_foo

预执行命令

模块卸载开始前系统会自动检查是否定义了xoops_module_pre_uninstall_foo函数。如果定义了则自动执行。可用于模块卸载的预处理,比如检查是否有依赖于该模块的其他模块存在,如果存在则提示并停止卸载。


模块更新[ ]

在更新一个模块时系统会自动更新模块相关数据,比如版本、区块、模板等。如果在更新时模块需要有更多操作,比如校验数据、检查当前版本是否最新等,可以通过onupdate建立模块更新后执行的函数来实现模块的相关更新操作。

设置

在xoops_version.php文件中加下面这行

$modversion['onUpdate'] = 'include/updatescript.php';

创建函数

在/modules/foo/include/目录下创建文件update.php。

<?php
function xoops_module_update_foo(&$module)
{ … }
?>

执行结果

现在你可以适当的卸载你的安装后的脚本工作。在卸载过程中,你会得到下面的记录信息:

xoops_module_update_foo executed successfully.

如果你的函数返回true,若是返回false:

Failed to execute xoops_module_update_foo