:::

11-1 偏好設定新增「可審核」的群組設定

  1. 先到模組產生器按「偏好」,並填好內容送出
    img
  2. 就會得到類似的語法,照著指示做即可
     img
  3. 接著更新一下模組
    img
  4. 更新後,先到後台群組,新增一個群組
    img
  5. 最後到該模組的偏好設定
    img
  6. 選擇該群組即可
    img
  7. 接著我們要讓該設定有作用,先修改 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;
        }
    
        ...略...
    }
  8. 接著在VSCode,按Ctrl+Shift+H,搜尋所有的 Tools::chk_is_adm('', 並取代成 Tools::chk_is_adm('submission_manager',
    img
  9. index.phpsetup.php的開頭和頁尾,分別加入以下語法,以將目前登入者是否可以審核文章的變數 $can_manager 傳至樣版
    use XoopsModules\Submission\Tools;
    $xoopsTpl->assign('can_manager', Tools::chk_is_adm('submission_manager', '', __FILE__, __LINE__, 'return'));
  10. 如此,便可批次取代,將原本只有管理員,改為更彈性一點的設置,按Ctrl+Shift+H,搜尋所有的 $smarty.session.submission_adm 並取代成 $can_manager
    img
  11. 修改 setup.php 改用物件方法來控管權限
    if (! Tools::chk_is_adm('submission_manager', '', __FILE__, __LINE__, 'return')) {
        redirect_header('index.php', 3, _TAD_PERMISSION_DENIED);
    }
    
  12. 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";
    }

     

  13. 現在您可以建立或指派一位老師,到可以審核的群組,然後在登入試試囉!

 


:::

書籍目錄

展開 | 闔起

快速登入


https%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D2095%26tbsn%3D56

計數器

今天: 812812812
昨天: 1856185618561856
總計: 8776736877673687767368776736877673687767368776736