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