:::

3-4-4 修改活動報名的 create()

您沒有觀看影片的權限

您沒有觀看影片的權限

請先登入,登入後,確認您的權限後,即可觀看影片。

  1. 為了可以加入活動的相關訊息,例如活動名稱、活動日期、報名截止日...等訊息,我們編輯一下 class\Tad_signup_data.php 中的 create()
    //編輯表單
    public static function create($action_id, $id = '')
    {
        global $xoopsTpl, $xoopsUser;
    
        //抓取預設值
        $db_values = empty($id) ? [] : self::get($id);
    
        foreach ($db_values as $col_name => $col_val) {
            $$col_name = $col_val;
            $xoopsTpl->assign($col_name, $col_val);
        }
    
        $op = empty($id) ? "tad_signup_data_store" : "tad_signup_data_update";
        $xoopsTpl->assign('next_op', $op);
    
        //套用formValidator驗證機制
        $formValidator = new FormValidator("#myForm", true);
        $formValidator->render();
    
        //加入Token安全機制
        include_once $GLOBALS['xoops']->path('class/xoopsformloader.php');
        $token = new \XoopsFormHiddenToken();
        $token_form = $token->render();
        $xoopsTpl->assign("token_form", $token_form);
    
        $action = Tad_signup_actions::get($action_id);
        if (time() > strtotime($action['end_date'])) {
            redirect_header($_SERVER['PHP_SELF'] . "?id=$action_id", 3, "已報名截止,無法再進行報名或修改報名");
        }
        $myts = \MyTextSanitizer::getInstance();
        foreach ($action as $col_name => $col_val) {
            //過濾讀出的變數值
            if ($col_name == 'detail') {
                $col_val = $myts->displayTarea($col_val, 0, 1, 0, 1, 1);
            } else {
                $col_val = $myts->htmlSpecialChars($col_val);
            }
            $action[$col_name] = $col_val;
        }
        $xoopsTpl->assign('action', $action);
    
        $uid = $xoopsUser ? $xoopsUser->uid() : 0;
        $xoopsTpl->assign('uid', $uid);
    }

     

  2. time():用來取得目前時間戳記,請參考:https://www.php.net/time
  3. strtotime($日期時間):用來將日期時間轉為時間戳記,請參考:https://www.php.net/strtotime
  4. 務必將整個 $action 活動資料陣列傳到樣板,因為要靠他取得活動相關資料
  5. 由於有用到 Tad_signup_actions 類別,所以在前面要加入 use
    use XoopsModules\Tad_signup\Tad_signup_actions;

     

link to https://github.com/tadlearn/tad_signup/commit/0dee61ca815232dfa5751c95462d297c068eb1a7 \ 


:::

搜尋

QR Code 區塊

https%3A%2F%2Ftad0616.cp22.secserverpros.com%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D1666%26tbsn%3D48

書籍目錄

展開 | 闔起

線上使用者

353人線上 (140人在瀏覽線上書籍)

會員: 0

訪客: 353

更多…