ผมต้อการสร้าง Extension สร้างนามแฝง โดย ถ้าหากผู้ที่เป็น admin หรือ mod เข้ามาส่องโพสต์ของผุ้อื่นที่เป็นนามแฝง ก็จะสามารถมองเห็นนามแฝง และโพสต์ของผุ้นั้น
แต่หากเป็นบุคคลทั่วไปจะไม่สามารถที่จะมองเห็นโพสต์ที่เป็นนามแฝง
แค่ปัญหาคือ จะมีกลุ่ม พิเศษกลุ่มหนึ่ง ที่ไม่ใช้ admin หรือ mod แต่กลับมองเห็น โพสต์ที่เป็นนามแฝงได้
จึงทราบถ้าหากไม่ได้ต้องการที่จะให้ผู้ที่เป็นสมาชิก กลุ่มดังกล่าว มาส่องโพสต์ ที่เป็นนามแฝง มาเห็นนามแฝงของผุ้ที่ถูกส่อง จะต้องทำอย่างไรครับ
อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้
Moderator: mindphp, ผู้ดูแลกระดาน
- Ittichai_chupol
- PHP VIP Members
- โพสต์: 5410
- ลงทะเบียนเมื่อ: 19/09/2018 10:33 am
อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้
ขอให้วันนี้เป็นวันที่ดี
- Ittichai_chupol
- PHP VIP Members
- โพสต์: 5410
- ลงทะเบียนเมื่อ: 19/09/2018 10:33 am
Re: อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้
ส่วนของการตั้งค่า กลุ่มดังกล่าว
ขอให้วันนี้เป็นวันที่ดี
- Ittichai_chupol
- PHP VIP Members
- โพสต์: 5410
- ลงทะเบียนเมื่อ: 19/09/2018 10:33 am
Re: อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้
วิธีการเขียนโคดในการตรวจสอบสิทธิ์ ที่ผมใช้ก็มีดังนี้
จึงอยากทราบว่าทำไม่จึงไม่สามารถตรวจสอบสิทธิ์ได้
โค้ด: เลือกทั้งหมด
global $phpbb_container;
$phpbb_content_visibility = $phpbb_container->get('content.visibility');
$pagination = $phpbb_container->get('pagination');
global $auth;
$moderator_permissions_forum = $auth->acl_get('m_');
$sql_array = array(
'SELECT' => ' DISTINCT p.post_subject, u.user_colour, t.topic_poster,t.topic_first_poster_name, t.topic_last_post_id , t.topic_id ,p.post_text ,p.post_time ,p.post_subject ,u.username ,p.post_subject ,p.post_id,t.forum_id ,t.topic_id,u.user_id ,t.topic_views ,topic_first_post_id',
'FROM' => array(
POSTS_TABLE => 'p',
),
'LEFT_JOIN' => array(
array(
'FROM' => array(TOPICS_TABLE => 't'),
'ON' => 'p.topic_id = t.topic_id',
),
array(
'FROM' => array(USERS_TABLE => 'u'),
'ON' => 't.topic_poster = u.user_id',
),
),
'WHERE' => $m_approve_topics_fid_sql . ' AND p.poster_id = ' . $uid . ' AND t.topic_first_post_id != p.post_id ',
'ORDER_BY' => ' p.post_time DESC',
);
if ($post_id != null) {
if ($uid != $this->user->data['user_id'] && $moderator_permissions_forum != 1 ) { //เป็นส่วนที่ใช้ในการตรวจสอบว่า เป็น admin หรือ mod
$sql_array['WHERE'] .= ' AND ' . $this->db->sql_in_set('p.post_id', $postid);
}
}
ขอให้วันนี้เป็นวันที่ดี
- thatsawan
- PHP VIP Members
- โพสต์: 28508
- ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
- ติดต่อ:
Re: อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้
วิธีเช็คว่าเป็นสิทธิ์หรือป่าวสามารถทำได้ 2 แบบ
เเต่ คำถามนี่้อาจจะไม่เกี่ยวกับสิทธิ์อย่างเดียวต้องดู SQL ด้วย
เเต่ คำถามนี่้อาจจะไม่เกี่ยวกับสิทธิ์อย่างเดียวต้องดู SQL ด้วย
โค้ด: เลือกทั้งหมด
$auth->acl_get('m_');
$auth->acl_get('m_', $forum_id)
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: Google Adsense [Bot] และบุคลทั่วไป 59