โดยในบรรดา Event ของเว็บบอร์ด phpbb มีอยู่อย่างมากมาย โดยจะเป็น Event ที่สามารถแสดงออกมาให้เห็นทางหน้าจอโดยต้อง กับ Event ที่จะทำงานเพียงแค่ช่วงเวลาหนึ่งเท่านั้น ซึ่งจำเป็นที่จะต้องทำการดัก Exit การทำงานก่อนี่จะเสร็จสิ้นถึงจะสามารถเห็นผลลัพธ์หรือเห็นข้อมูลที่ถูกจัดเก็บอยู่ได้ โดยในบรรดา Event เหล่านี้ก็จะมี Event ที่ชื่อว่า posting_modify_submit_post_after ซึ่งจะทำงานในระหว่างที่มีการโพสต์เท่านั้น แต่ถ้าหากผู้พัฒนาต้องการที่จะนำ ข้อมูลจาก posting_modify_submit_post_after มาใช้งาน หรือ ปรับเปลี่ยนก็สามารถทำได้ดังนี้
1.เรียกเรียก Event ขึ้นมาใช้งาน
โค้ด: เลือกทั้งหมด
static public function getSubscribedEvents() {
return array(
'core.posting_modify_submit_post_after' => 'posting_modify_submit_post_after',
);
}
โค้ด: เลือกทั้งหมด
public function posting_modify_submit_post_after($event) {
$sql_ary = array(
'anonymous_code' => 'A' . str_pad($event['data']['poster_id'], $this->config['m_anonymous_post_name'] - 1, "0", STR_PAD_BOTH),
'user_id' => $this->user->data['user_id'], //ดึงข้อมูล id ของผู้โพสต์
'forum_id' => $event['data']['forum_id'], //ดึงข้อมูล forum_id ของการโพสต์
'post_id' => $event['data']['post_id'],//ดึงข้อมูล post_id ของการโพสต์
'topic_id' => $event['data']['topic_id'], //ดึงข้อมูล topic_id ของการโพสต์
);
$sql = 'INSERT INTO ' . $this->table_prefix . 'm_anonymous' . ' ' . $this->db->sql_build_array('INSERT', $sql_ary);
$this->db->sql_query($sql); //บันทึกข้อมูลลงฐานข้อมูล
}
บทความที่เกี่ยวข้อง
การสร้าง Extension ใน phpbb
การสร้าง controller สำหรับ phpbb
Event listenner - เขียน Extension บน phpBB 3.1