11-1
偏好設定新增「可審核」的群組設定
- 先到模組產生器按「偏好」,並填好內容送出

- 就會得到類似的語法,照著指示做即可

- 接著更新一下模組

- 更新後,先到後台群組,新增一個群組

- 最後到該模組的偏好設定

- 選擇該群組即可

- 接著我們要讓該設定有作用,先修改
class/Tools.php的get_session()
,多一個 $_SESSION['submission_manager']
用來判斷是否有審核權限
//取得session
public static function get_session()
{
global $xoopsUser, $xoopsModuleConfig;
//判斷是否對該模組有管理權限
if (!isset($_SESSION['submission_adm'])) {
$_SESSION['submission_adm'] = isset($xoopsUser) && \is_object($xoopsUser) ? $xoopsUser->isAdmin() : false;
}
// 判斷是否有審核權限
if (!isset($_SESSION['submission_manager'])) {
$groups = isset($xoopsUser) && \is_object($xoopsUser) ? $xoopsUser->getGroups() : [];
$_SESSION['submission_manager'] = !empty($xoopsModuleConfig['manager']) ? in_array($xoopsModuleConfig['manager'], $groups) : false;
}
...略...
}
- 接著在VSCode,按Ctrl+Shift+H,搜尋所有的
Tools::chk_is_adm('',
並取代成 Tools::chk_is_adm('submission_manager',

- 在
index.php
及setup.php
的開頭和頁尾,分別加入以下語法,以將目前登入者是否可以審核文章的變數 $can_manager
傳至樣版
use XoopsModules\Submission\Tools;
$xoopsTpl->assign('can_manager', Tools::chk_is_adm('submission_manager', '', __FILE__, __LINE__, 'return'));
- 如此,便可批次取代,將原本只有管理員,改為更彈性一點的設置,按Ctrl+Shift+H,搜尋所有的
$smarty.session.submission_adm
並取代成 $can_manager

- 修改
setup.php
改用物件方法來控管權限
if (! Tools::chk_is_adm('submission_manager', '', __FILE__, __LINE__, 'return')) {
redirect_header('index.php', 3, _TAD_PERMISSION_DENIED);
}
interface.php
也要修改
if (Tools::chk_is_adm('submission_manager', '', __FILE__, __LINE__, 'return')) {
$interface_menu[_MD_SUBMISSION_SETUP] = "setup.php";
$interface_icon[_MD_SUBMISSION_SETUP] = "fa-solid fa-file-circle-plus";
}
- 現在您可以建立或指派一位老師,到可以審核的群組,然後在登入試試囉!