6-4-2
安裝模組時自動建立群組
您沒有觀看影片的權限
請先登入,登入後,確認您的權限後,即可觀看影片。
- 標準建立群組語法(缺點是不會檢查是否有同名群組):
$member_handler = xoops_gethandler('member');
$group = $member_handler->createGroup();
$group->setVar("name", 群組名稱);
$group->setVar("description", 群組說明);
$member_handler->insertGroup($group);
另一種用法是自訂函式(可以檢查是否有同名群組)
function mk_group($name = "")
{
global $xoopsDB;
$sql = "select groupid from " . $xoopsDB->prefix("groups") . " where `name`='$name'";
$result = $xoopsDB->query($sql) or Utility::web_error($sql, __FILE__, __LINE__);
list($groupid) = $xoopsDB->fetchRow($result);
if (empty($groupid)) {
$sql = "insert into " . $xoopsDB->prefix("groups") . " (`name`) values('{$name}')";
$xoopsDB->queryF($sql) or Utility::web_error($sql, __FILE__, __LINE__);
//取得最後新增資料的流水編號
$groupid = $xoopsDB->getInsertId();
}
return $groupid;
}
- 可以直接修改
class\Update.php
並加入之( 此檔提供物件方法給自動功能用,也可以自己另外建立類別檔案),如:
<?php
namespace XoopsModules\Tad_signup;
class Update
{
public static function mk_group($name = "")
{
global $xoopsDB;
$sql = "select groupid from " . $xoopsDB->prefix("groups") . " where `name`='$name'";
$result = $xoopsDB->query($sql) or Utility::web_error($sql, __FILE__, __LINE__);
list($groupid) = $xoopsDB->fetchRow($result);
if (empty($groupid)) {
$sql = "insert into " . $xoopsDB->prefix("groups") . " (`name`) values('{$name}')";
$xoopsDB->queryF($sql) or Utility::web_error($sql, __FILE__, __LINE__);
//取得最後新增資料的流水編號
$groupid = $xoopsDB->getInsertId();
}
return $groupid;
}
/*--略--*/
}
- 並於
include\onInstall.php
使用之 影片中少加了 Update:: 務必加上
<?php
use XoopsModules\Tadtools\Utility;
/*--略--*/
use XoopsModules\Tad_signup\Update;
if (!class_exists('XoopsModules\Tad_signup\Update')) {
require dirname(__DIR__) . '/preloads/autoloader.php';
}
// 安裝前
/*--略--*/
// 安裝後
function xoops_module_install_tad_signup(XoopsModule $module)
{
/*--略--*/
$groupid = Update::mk_group("活動報名管理");
return true;
}
link to https://github.com/tadlearn/tad_signup/commit/85c212889ca492e114f9d4a7aeab996111945fa5 \